Pytest单元测试框架从入门到精通(二)

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进行处理,非常感谢!

上一篇 2021年7月5日
下一篇 2021年7月5日

相关推荐