Pytest单元测试框架从入门到精通(二)
Pytest框架实现一些前后置(固件,夹具)的处理,常用三种。
一.Setup/teardown,stetup_class/teardown_class所有
为什么需要这些功能
比如:web自动化执行用例之前,请问需要打开浏览器吗例执行后需要关闭浏览器/p>
二.使用@pytest.fixture()装饰器来实现部分用例的前后置
在作用域里加一个yield就是后置,不加就是前置
- scope表示的是被@pytest.fixture标记的方法的作用域。function(默认),class,module,package/session
- params:参数化(支持,列表[],元祖(),字典列表[{},{},{}],字典元祖({},{},{})
params=[‘成龙’,‘甑子丹’,‘菜10’] 这里params是参数名
request.param这里是属性名,没有s
- autosue:自动执行,默认False
- ids:当使用params参数化时,给每一个值设置一个变量名,意义不大。
- name:给标识的是被@pytest.fixture标记的方法取一个别名。
当取了别名过后,原来的名字用不了
三.通过conftest.py和@pytest.fixture()结合实现全局的前置应用(比如:项目的全局登录,模块的全局处理)
1.conftest.py文件是单独存放的一个夹具配置文件,名称是不能更改的。
2.用处可以在不同的py文件中使用同一个fixture函数。
3.conftest.py需要和运行的用例放在同一层,并且不需要做任何的import导入的操作。
总结: setup/teardown,setup_class/teardown_class 它是作用于所有用例或者所有的类@pytest.fixtrue() 它的作用是既可以部分也可以全部前后置。 conftest.py和@pytest.fixtrue()结合使用,作用于全局的前后置。
四.断言
assert
五.pytest结合allure-pytest插件生成测试 告
1.下载地址:https://github.com/allure-framework/allure2/releases
2.配置环境变量 path
3.在pytest.ini中添加
4.在all.py中添加
allure generate 命令,固定的
./temp 临时的json格式 告的路径
-o 输出output
./report 生成的allure 告的路径
–clean 清空
./report 路径原来的 告
文章知识点与官方知识档案匹配,可进一步学习相关知识Python入门技能树首页概览210015 人正在系统学习中
声明:本站部分文章及图片源自用户投稿,如本站任何资料有侵权请您尽早请联系jinwei@zod.com.cn进行处理,非常感谢!