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 ...
最新文章
- Apache Spark 技术团队开源机器学习平台 MLflow
- 应对恶劣网络环境,为php-curl设置超时限制,防止服务器卡死
- Hadoop Yarn任务优先级(作业优先级、应用优先级)设置
- 从入侵到变现——“黑洞”下的黑帽SEO分析
- NTFS-3G的安装和配置(Linux下挂载Windows分区必备)
- Web Services创建、部署、发布
- 基础集合论 第一章 5 偶集
- 基于android的个人收支财务管理,基于Android的个人财务管理系统的设计与实现.doc...
- 数学建模-Logistic模型
- Redis入门完整教程:CacheCloud快速部署
- 手机文字识别工具,帮你快速复制图片上的文字
- web应用开发相关技术,CSS盒模型概述
- php管理后台模板,企业版PHP后台管理模板【清爽型】修改版~
- 测试固态硬盘有没有坏道的软件,固态硬盘有坏道怎么办(ssd坏块检测工具)
- Android 谷歌地图不显示,Android谷歌地图不显示在模拟器
- 攻防世界 Reverse高手进阶区 2分题 reverse-for-the-holy-grail-350
- 最长单词 c++实现
- kubernetes--RBAC权限管理
- Python编程实现数字图像的网络爬虫
- 计算机如何共享电视,win7系统电视共享视频的操作方法