Pytest框架实现一些前后置(固件,夹具)的处理,常用三种一、setup/teardown,setup_class/teardown_class
class TestLiu:# 这个在所有的用例之前只执行一次def setup_class(self):print('在每个类执行前的初始化的工作:比如创建日志对象,创建数据库的连接,创建接口的请求对象')# 在每个用例之前def setup(self):print('\n在执行测试用例之前初始化的代码:打开浏览器,加载网页')def test_01_pangpang(self):print("哈哈")def test_02_xiaoyan(self):print("呵呵")def teardown(self):print('在用例执行之后的扫尾代码:关闭浏览器')def teardown_class(self):print('在每个类执行后扫尾工作,销毁日志对象,销毁数据库连接,销毁接口对象')
注意:和Unittest不一样,全是小写二、使用fixture装饰器来实现部分用例的前后置
@pytest.fixture(scope="",params="",autouse="",ids="",name="")
scope表示的是被@pytest.fixture标记的方法的作用域。function(默认),class,module,
package/session
params:参数化(支持,列表[],元组(),字典列表[(),(),()],字典元组({},{},{}) )
@pytest.fixture(scope='function',params=['成龙','李连杰','甄子丹'])
def my_fixture(request):return request.paramclass TestLiu01:def test_01_pangpang(self):print("哈哈")def test_02_xiaoyan(self,my_fixture):print("呵呵")print('------------'+str(my_fixture))
params=['成龙','李连杰','甄子丹']这里params是参数名,有s
request.param这里是属性名,是没有s的autouse=True;自动执行,默认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.fixture()结合使用,作用于全局的前后置四、断言
assert
assert 1==2
五、pytest结婚allure-pytest插件生成allure测试报告1.下载,解压,配置path路径
https://github.com/allure-framework/allure2/releasespath路径配置:F:\zhengwangwork\testing  tool\allure-2.19.0\allure-2.19.0\bin验证:allure --version问题:dos可以验证但是pycharm验证失败,重启pycharm2.加入命令生成josn格式的临时报告
--alluredir ./temp3.生成allure报告os.system('allure generate ./temp -o ./report --clean')
allure generate   命令,固定的
./temp      临时的json格式报告的路径
-o          输出output
./report    生成的allure报告的路径
--clean     清空./report路径原来的报告一、@pytest.mark.parametrize()基本用法
@pytest.mark.paramertrize(args_name.args_value)
args_name:参数名
args_value:参数值(列表,元组,字典列表,字典元组),有多个值用例就会执行多少次
第一种方式
class Testapi:@pytest.mark.parametrize('args',['百里','星耀','依然'])def test_01_liu(self,args):print(args)
if __name__ == '__main__':pytest.main()第二种方式:
class Testapi:@pytest.mark.parametrize('name,age',[['百里','12'],['新昂','26']])def test_01_liu(self,name,age):print(name,age)if __name__ == '__main__':pytest.main()

python测试-9-7相关推荐

  1. Python 测试开发从入门到高手成长之路

    > 文末领取测试开发进阶指南和福利! 在" **质量第一,效率为王** "的移动互联网和大数据时代,互联网 IT 技术团队为了应对产品快速迭代要求,就必须具备持续交付的能力. ...

  2. Python测试框架pytest(05)fixture - error和failed、fixture实例化、多个fixture

    Python测试框架pytest系列可以查看下列 Python测试框架pytest(01)简介.安装.快速入门_编程简单学的博客-CSDN博客 Python测试框架pytest(02)PyCharm设 ...

  3. Python测试框架pytest(04)fixture - 测试用例调用fixture、fixture传递测试数据

    Python测试框架pytest系列可以查看下列 Python测试框架pytest(01)简介.安装.快速入门_编程简单学的博客-CSDN博客 Python测试框架pytest(02)PyCharm设 ...

  4. Python测试框架pytest(03)setup和teardown

    Python测试框架pytest系列可以查看下列 Python测试框架pytest(01)简介.安装.快速入门_编程简单学的博客-CSDN博客 ​​​​​​Python测试框架pytest(02)Py ...

  5. Python测试框架pytest(01)简介、安装、快速入门

    1.简介 pytest 是成熟的功能齐全的 Python 测试工具,可帮助你编写更好的程序. pytest 是一个使构建简单和可伸缩的测试变得容易的框架.测试具有表达性和可读性,不需要样板代码.几分钟 ...

  6. python之路 mysql 博客园_教为学:Python学习之路(二):MySQLdb的几种安装方式,以及用Python测试连接MySql...

    教为学:Python学习之路(二):MySQLdb的几种安装方式,以及用Python测试连接MySql Easy_install安装MySQLdb 很简单,以至于我不晓得该怎么说.一句话. sodu ...

  7. python测试代码怎么写_Python 单元测试

    Test your software, or your users will. "Test ruthlessly. Don't make your users find bugs for y ...

  8. python测试开发自学教程-2019第一期《python测试开发》课程,10月13号开学

    2019第一期<python测试开发>课程,10月13号开学! 主讲老师:上海-悠悠 上课方式:QQ群视频在线教学,方便交流 本期上课时间:10月13号-12月8号,每周六.周日晚上20: ...

  9. python测试开发自学教程-测试开发学习路线图

    Python PEP8 编码规范中文版 https://www.cnblogs.com/bymo/p/9567140.html 选择等宽编程字体:https://blog.csdn.net/hsc45 ...

  10. 收藏清单: python测试框架最全资源汇总

    xUnit frameworks 单元测试框架 frameworks 框架 unittest - python自带的单元测试库,开箱即用 unittest2 - 加强版的单元测试框架,适用于Pytho ...

最新文章

  1. GraphQL和REST对比时需要注意些什么
  2. linux putty 永久修改字体大小
  3. java基础 关于转换流
  4. IQ推理:红眼睛和蓝眼睛
  5. 电脑上如何安装CAD看图软件及dwg图纸的打开?
  6. 30是什么意思_“29+16”变“30+18”是什么意思?独立艺术院校有何优势?报考需要注意什么?...
  7. 纹理特征描述之自相关函数法 纹理粗糙性与自相关函数的扩展成正比 matlab代码实现
  8. 技校自我鉴定范文计算机600字,技校自我鉴定100字范文18篇
  9. 三国演义人名爬取与处理
  10. 类和对象定义以及四种初始化方式
  11. syslinux 启动后显示SYSLINUX 5.01H. Peter Anvin et al
  12. RGBA 编码为 YUV420SP【NEON】
  13. Python+opencv 人脸识别
  14. LC串联震荡电路谐振频率
  15. 问:未来5年的IT互联网行业,就业形势会是什么样的?
  16. FastDFS 单机安装
  17. 超导磁通量子计算机,超导量子比特系统在量子信息中的应用
  18. 解决安装vmware-tools出现报错unable to copy the source file./installer/service.sh to the destination file
  19. 帝国cms列表css文件,帝国cms列表页分页导航样式(列表式)修改方法
  20. 电子电路设计基本概念100问(五)【学习目标:原理图、PCB、阻抗设计、电子设计基本原则、基本原器件等】

热门文章

  1. PWA ( Progressiv Web App )初探总结
  2. 跨境电商培训机构靠谱吗?跨境电商在我国遍地开花
  3. nag在逆向中是什么意思_NAG在医学是什么意思
  4. 一、CSS定位布局[相对定位、绝对定位、固定定位]
  5. 前端常见面试题总结——ES6部分(三)
  6. ROS同时订阅多个话题 Python
  7. 4.第K个数(快速选择排序)
  8. 解决Java.lang.NoClassDefFoundError:com/lowagie/text/Elemen的问题
  9. 跟着狂神学SpringCloud(Rest环境搭建+Eureka服务注册与发现+ribbon+Feign负载均衡+Hystrix+服务熔断+Zuul路由网关+SpringCloud config分布)
  10. 使用Java随机产生四位字母作为验证码