2.pytest框架实现一些前后置(固件,夹具)的处理,断言和allure-pytest插件生成allure测试报告

一、setup/teardowm,setup_class/teardown_class(所有)

2.pytest框架实现一些前后置(固件,夹具)的处理,断言和allure-pytest插件生成allure测试报告

为什么需要这些功能?
比如:web自动化执行用例之前,请问需要打开浏览器吗?用例执行后需要关闭浏览器吗?
前置后置

二、使用@pytest.fixture() 装饰器来实现部分用例的前后置

@pytest.fixture(scope="",params="",autouse="",ids="",name="") 
        1)scope表示是被@pytest.fixture标记的方法的作用域,function(默认),class,module,package/session
        2)params:参数化)(支持,列表[],元组(),字典列表[{},{},{}],字典元组({},{},{}))        

注意:yieid后置和返回参数化不能一起使用,除非是没有返回,yie和返回一起,如下:

        3)autouse=True:自动执行,默认False
        4)ids:当使用params参数化时,给每一个值设置一个变量名,意义不大
        5)name:给表示的是被@pytest.fixture标记的方法取一个别名(取了别名,那么原来的名称就用不了了)

三、通过conftest.py和@pytest.fixture()结合使用实现全局的前置应用(比如:项目的全局登录,模块的全局处理)

1.conftest.py文件时单独存放的一个夹具配置文件,名称是不能更改的
2.用处于可以在不同的py文件中使用同一个fixture函数
3.原则上conftest.py需要和运行的用例放到同一层,并且不需要做任何import导入的操作,不是同一层也可以

总结:
setup/teardown,setup_class/teardown_class 作用域所有用例或者所有的类
@pytest.fixture()  作用时既可以部分也可以全部前后置
conftest.py和@pytest.fixture()结合使用,作用域全局的前后置

四、断言

assert

五、pytest结合allure-pytest插件生成allure测试报告

使用:allure-pytest插件

验证:allure --version


注意:dos可以验证但是pycharm验证失败,可以重启pycharm

2.生成json格式的临时报告

3.生成allure报告
allure generate        命令,固定的
./temp                      临时的json格式报告的路径

 -o                            输出output

./report                     生成的allure报告的路径

--clean                     情况./report路径原来的报告
找到json临时报告,输出,生成的allure报告路径 清空原来的报告

版权声明:如无特殊标注,文章均来自网络,本站编辑整理,转载时请以链接形式注明文章出处,请自行分辨。

本文链接:https://www.shbk5.com/dnsj/74461.html