python测试-9-7
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相关推荐
- Python 测试开发从入门到高手成长之路
> 文末领取测试开发进阶指南和福利! 在" **质量第一,效率为王** "的移动互联网和大数据时代,互联网 IT 技术团队为了应对产品快速迭代要求,就必须具备持续交付的能力. ...
- Python测试框架pytest(05)fixture - error和failed、fixture实例化、多个fixture
Python测试框架pytest系列可以查看下列 Python测试框架pytest(01)简介.安装.快速入门_编程简单学的博客-CSDN博客 Python测试框架pytest(02)PyCharm设 ...
- Python测试框架pytest(04)fixture - 测试用例调用fixture、fixture传递测试数据
Python测试框架pytest系列可以查看下列 Python测试框架pytest(01)简介.安装.快速入门_编程简单学的博客-CSDN博客 Python测试框架pytest(02)PyCharm设 ...
- Python测试框架pytest(03)setup和teardown
Python测试框架pytest系列可以查看下列 Python测试框架pytest(01)简介.安装.快速入门_编程简单学的博客-CSDN博客 Python测试框架pytest(02)Py ...
- Python测试框架pytest(01)简介、安装、快速入门
1.简介 pytest 是成熟的功能齐全的 Python 测试工具,可帮助你编写更好的程序. pytest 是一个使构建简单和可伸缩的测试变得容易的框架.测试具有表达性和可读性,不需要样板代码.几分钟 ...
- python之路 mysql 博客园_教为学:Python学习之路(二):MySQLdb的几种安装方式,以及用Python测试连接MySql...
教为学:Python学习之路(二):MySQLdb的几种安装方式,以及用Python测试连接MySql Easy_install安装MySQLdb 很简单,以至于我不晓得该怎么说.一句话. sodu ...
- python测试代码怎么写_Python 单元测试
Test your software, or your users will. "Test ruthlessly. Don't make your users find bugs for y ...
- python测试开发自学教程-2019第一期《python测试开发》课程,10月13号开学
2019第一期<python测试开发>课程,10月13号开学! 主讲老师:上海-悠悠 上课方式:QQ群视频在线教学,方便交流 本期上课时间:10月13号-12月8号,每周六.周日晚上20: ...
- python测试开发自学教程-测试开发学习路线图
Python PEP8 编码规范中文版 https://www.cnblogs.com/bymo/p/9567140.html 选择等宽编程字体:https://blog.csdn.net/hsc45 ...
- 收藏清单: python测试框架最全资源汇总
xUnit frameworks 单元测试框架 frameworks 框架 unittest - python自带的单元测试库,开箱即用 unittest2 - 加强版的单元测试框架,适用于Pytho ...
最新文章
- GraphQL和REST对比时需要注意些什么
- linux putty 永久修改字体大小
- java基础 关于转换流
- IQ推理:红眼睛和蓝眼睛
- 电脑上如何安装CAD看图软件及dwg图纸的打开?
- 30是什么意思_“29+16”变“30+18”是什么意思?独立艺术院校有何优势?报考需要注意什么?...
- 纹理特征描述之自相关函数法 纹理粗糙性与自相关函数的扩展成正比 matlab代码实现
- 技校自我鉴定范文计算机600字,技校自我鉴定100字范文18篇
- 三国演义人名爬取与处理
- 类和对象定义以及四种初始化方式
- syslinux 启动后显示SYSLINUX 5.01H. Peter Anvin et al
- RGBA 编码为 YUV420SP【NEON】
- Python+opencv 人脸识别
- LC串联震荡电路谐振频率
- 问:未来5年的IT互联网行业,就业形势会是什么样的?
- FastDFS 单机安装
- 超导磁通量子计算机,超导量子比特系统在量子信息中的应用
- 解决安装vmware-tools出现报错unable to copy the source file./installer/service.sh to the destination file
- 帝国cms列表css文件,帝国cms列表页分页导航样式(列表式)修改方法
- 电子电路设计基本概念100问(五)【学习目标:原理图、PCB、阻抗设计、电子设计基本原则、基本原器件等】
热门文章
- PWA ( Progressiv Web App )初探总结
- 跨境电商培训机构靠谱吗?跨境电商在我国遍地开花
- nag在逆向中是什么意思_NAG在医学是什么意思
- 一、CSS定位布局[相对定位、绝对定位、固定定位]
- 前端常见面试题总结——ES6部分(三)
- ROS同时订阅多个话题 Python
- 4.第K个数(快速选择排序)
- 解决Java.lang.NoClassDefFoundError:com/lowagie/text/Elemen的问题
- 跟着狂神学SpringCloud(Rest环境搭建+Eureka服务注册与发现+ribbon+Feign负载均衡+Hystrix+服务熔断+Zuul路由网关+SpringCloud config分布)
- 使用Java随机产生四位字母作为验证码