Pytest
文章平均质量分 85
pytest实战
敲代码敲到头发茂密
欲戴王冠,必承其重
展开
-
pytest总结
断言(assert),是一种在程序中的一阶逻辑(如:一个结果为真或假的逻辑判断式),目的为了表示与验证软件开发者预期的结果。特殊的:warning(警告,例如pytest.ini中没有注册标签名)、deselect(跳过,加标签skip、skipif)setup_method/teardown_method:方法级别,在类中。当断言失败时,描述语句会执行。setup_class/teardown_class:类级,只在类中前后运行一次。-ff:先执行上次用例失败的测试用例,再执行其他的测试用例。原创 2023-02-18 19:16:30 · 1282 阅读 · 0 评论 -
pytest常用插件使用大全
pytest-sugar插件可以输出彩色字符。它也能在运行过程中显示错误和失败用例的堆栈回溯信息,而且还能在屏幕右侧显示进度条。安装pytest sugar:pip install pytest-sugar然后使用以下命令运行测试:pytest失败重跑,这个插件非常实用,比如做自动化的时候,有些接口由于网络的原因,不稳定,就要多次运行。安装:pip install pytest-rerunfailurestest_menus1.py执行命令:pytest --reruns 3表示失败重运行3原创 2022-11-03 08:49:41 · 644 阅读 · 45 评论 -
pytest fixture及conftest详解三 (pytest.ini配置文件)
是pytest框架的主配置文件,实际生产中主要用来规范日志的格式或日志文件保存的位置,增加用例标签等等,总之简单易用,属于pytest学习的重要知识点。pytest.ini文件命名不能修改,文件中第一行必须用【pytest】申明这是一个pytest的ini文件。原创 2022-11-02 08:52:59 · 443 阅读 · 24 评论 -
pytest fixture及conftest详解二 (pytest fixture用法)
a、定义fixture和定义普通函数差不多,唯一的区别就是在函数上加个装饰器@pytest.fixture(),fixture命名不要用test_开头,跟用例区分开.b、fixture装饰器里的scope有4个级别的参数:function、class、module、session;c、fixture可以有返回值,如果没有return,默认返回None;用例调用fixture的返回值,就是直接把fixture的函数名称作为参数传入d、fixture可以返回一个元组\列表\字典。原创 2022-11-01 09:41:39 · 368 阅读 · 3 评论 -
pytest fixture及conftest详解一 (各个参数的使用说明)
fixture的参数可以解决大量重复代码工作,比如数据库的连接、查询、关闭等.同样可以使用参数化来测试多条数据用例。常见的应用场景:@pytest.fixture可以用在selenium中测试用例执行前后打开、关闭浏览器的操作;@pytest.fixture可以用在接口自动化测试中操作登录,yield返回token;局部products\conftest.py。test_demo1.py文件。test_demo1.py文件。test_demo1.py文件。conftest.py文件。原创 2022-10-31 13:49:37 · 3584 阅读 · 43 评论 -
pytest测试框架——allure报告
Allure 是由Java 语言开发的一个轻量级,灵活的测试报告工具。Allure多平台的 Report框架。Allure 支持多语言,包括 python、JaveScript、PHP、Ruby 等。可以为开发/测试/管理等人员提供详尽的的测试报告,包括测试类别、测试步骤、日志、图片、视频等。可以为管理层提供高水准的统计报告。可以集成到Jenkins生成在线的趋势汇总报告。原创 2023-03-05 09:23:09 · 1147 阅读 · 33 评论 -
pytest数据驱动
数据驱动就是数据的改变从而驱动自动化测试的执行,最终引起测试结果的改变。数据量小的测试用例可以使用代码的参数化来实现数据驱动,数据量大的情况下建议大家使用一种结构化的文件(例如yaml,json,csv、excel等)来对数据进行存储,然后在测试用例中读取这些数据。yaml是一种数据序列化格式,用于人类的可读性和与脚本语言的交互,一种被认为超越XML、json的配置文件。缩进的空格数目不重要,只要相同层级的元素左侧对齐即可。对象(字典):键值对的集合,用冒号“:”表示。纯量:单个的、不可再分的值。原创 2023-02-20 10:54:44 · 863 阅读 · 1 评论 -
pytest框架中提示no tests ran in 0.02s的解决方法
运行截图解决方法1、py测试文件必须以“test_”开头(或“_test”结尾)2、测试类必须以Test开头,并且不能有init方法3、测试方法必须以“test_”开头4、断言必须使用assert原创 2022-04-27 08:50:12 · 3086 阅读 · 0 评论 -
自动化脚本如何切换环境?Pytest这些功能你必须要掌握
测试工程师每天都跟不同的环境打交道,比如线上环境,测试环境,预上线环境等等,那么作为自动化测试人员写的代码,我们也要具备能自由切换环境的能力,如何能让我们python语言写的测试用例可以自由切换到不同的环境下面去运行呢?原创 2022-11-23 00:15:57 · 975 阅读 · 22 评论 -
pytest中allure特性
参数:title,表示step的名称,可以直接展示在测试报告里特点:可以嵌套使用,也可以外部调用使用场景:主要用于场景用例的组织,使用多条功能点用例组合成场景用例(允许使用外部的用例)原创 2022-11-16 00:00:40 · 859 阅读 · 30 评论 -
pytest——生成HTML报告
pytest-html可以为pytest生成一个显示测试结果的网页。这个HTML报告可以对测试结果(通过,跳过,失败,错误,预期失败,预期失败但通过)进行筛选,还可以按测试名称,持续时间,结果状态来排序。HTML报告还可以定制一些元素,如数据集的截图等。原创 2022-11-11 09:51:09 · 518 阅读 · 5 评论 -
pytest参数化详解
在pytest中并不需要额外的库,通过pytest.mark.parametrize()即可实现参数化。测试类的参数化,其实际上也是对类中的测试方法进行参数化。类中的测试方法的参数必须与@pytest.mark.parametrize()中的标识的参数个数一致。参数化,就是把测试过程中的数据提取出来,通过参数传递不同的数据来驱动用例运行。其实也就是数据驱动的概念。parametrize()的第一个参数是用逗号分割的字符串列表,第二个参数是一个值列表。第一个参数是以字符串的形式标识用例函数的参数,原创 2022-11-09 00:53:41 · 6728 阅读 · 12 评论 -
pytest运行指定的测试参数
当我们需要进行冒烟测试,不可能把所有的用例都跑一遍,我们可以挑选一些重要的用例进行冒烟测试,为了把选定的测试加入冒烟测试,可以对他们添加@pytest.mark.smoke装饰器。前面的是个条件,可以是python的表达式,表达式的值为True时跳过,为false时执行。运行测试有很多方式,不但可以选择运行某个测试目录、文件、类中的测试,还可以选择运行某一个测试用例。-m后面也可以使用表达式,可以在标记之间添加and,or,not关键字。运行单个测试函数,只需要在文件名后添加::符号和函数名。原创 2022-11-07 08:57:35 · 938 阅读 · 55 评论