本文主要介绍Python自动化测试框架pytest的介绍、安装和操作。有需要的朋友可以借鉴一下,希望能有所帮助。祝你进步很大。
:
目录
1.pytest 2简介。pytest 1的安装。使用以下命令安装2。检查是否成功安装了正确的版本3。pytest鉴定条件4。运行pytest 4.1在pycharm 4.2中调用在Python代码中调用4.3用命令行调用常用参数表参数演示示例:
1. pytest的介绍
Py是一款非常成熟的全功能python测试工具,主要有以下几个特点:
简单、灵活、易用;
支持简单单元测试和复杂功能测试。
显示详细的断言失败信息。
能自动识别测试模块和测试功能。
在测试会话、测试模块、测试类和测试功能级别都有fixture。
它可以用于自动化测试,如selenium/Appium和接口自动化测试(pytest请求);
丰富的第三方插件和自定义扩展;
与Jenkins等可持续集成工具的良好集成。
…
2. pytest的安装
1. 使用以下命令进行安装
pip安装-U pytest
参数描述:
-U:将指定的软件包升级到最新的可用版本。
其他说明:
官网的安装说明有-U参数,但是没有-U参数也可以
2. 检查是否成功安装正确版本
$ pytest -版本
pytest 6.2.4
3. pytest识别测试的条件
1.如果没有指定参数,pytest将从testpath(如果已配置)或当前目录中递归查找与norecursedirs不匹配的目录。
2.在目录中查找所有匹配test_*的文件。py和* _ test.py。
3.从匹配的测试文件中,收集满足以下条件的测试用例:
类外的所有test_*方法
Test*类中包含的所有test_*方法(Test*类不能包含__init__()方法)
4. pytest的运行
Py以下列方式运行:
1.呼叫皮查姆。
2.用Python代码调用
3.使用命令行拨打电话
4.1 Pycharm中调用
Pycharm中默认的测试运行器是Unittest,用pytest编写的测试文件和测试用例无法识别。
进入首选项-工具-python集成工具,
在将测试中的默认测试运行程序修改为pytest之后,
可以直接使用Pycharm中的Run按钮调用pytest,不需要参数。
4.2 Python代码中调用
在代码中添加入口函数—pytest.main(),以便在Python代码中调用pytest。
pytest.main()的参数:
1.args:命令行指令列表集
样本代码样本1:
导入pytest
类别测试演示:
def test_demo1(自身):
打印('测试演示1 ')
def test_demo2(自身):
打印('测试演示2 ')
if __name__=='__main__ ':
pytest . main([' test _ sample . py:test demo:test _ demo 1 ','-v'])
test . main([' test _ sample . py:test _ demo 1 ','-v'])的参数说明:
test_sample.py:TestDemo:test_demo1 ' ':表示test _ sample . py中test demo类中名为test _ demo 1的测试方法。
-v:表示打印详细的运行日志信息。
运行结果:
2.插件:可以在初始化过程中自动注册的插件对象列表。
样本代码样本2:
导入pytest
导入系统
类别测试演示:
def test_demo1(自身):
打印('测试演示1 ')
def test_demo2(自身):
打印('测试演示2 ')
MyPlugin类:
def pytest_sessionfinish(self):
打印(“***测试运行报告完成”)
if __name__=='__main__ ':
sys.exit(pytest.main(['-v ',' test _ sample . py:test demo:test _ demo 1 '],plugins=[MyPlugin()]))
Test.main (['-v ',' test _ sample . py:test demo:test _ demo 1 '],plugins=[myplugin ()])参数描述:
Plugins=[MyPlugin()]):传入自定义的MyPlugin()函数。
运行结果:
4.3 使用命令行调用
1.使用python调用
当我们在代码中添加入口函数时,可以使用python来调用pytest。
以示例2的代码为例,在终端输入命令:
python测试_样本. py
运行结果:
2.用pytest调用
常用参数列表
以下是pytest的一些常用执行参数。使用pytest - help可以查看其他参数。
参数
解释
Pytest目录路径
运行可以在指定目录中收集的测试。如果为空,默认情况下将执行当前目录中收集的测试。
文件名. Py
执行单个pytest模块。
Pytest filename.py:类名
在模块中运行类。
Pytest文件名。py:类名:方法名
在模块中运行类的方法。
pytest -v
打印详细的操作日志信息。
Test-v-s文件名. py
通过控制台输出结果,它还输出详细的运行日志信息。
Pytest -x文件名. py
一旦运行出错,它就停止运行。
Test-k '类名而不是方法名'
执行关键字的用例
pytest-m[标记名]
@pytest.mark.[ tagname]将运行该标记的测试用例。
pytestmax fail=[num]
当运行误差达到num时停止运行
pytest仅收集
只收集测试用例。
pytestjunitxml=。/result.xml
生成执行结果文件
pytest设置-显示
回到fixture的执行过程
参数演示示例:
演示目录如下
1.pytest目录路径:运行可以在指定目录中收集的测试。
2.pytest文件名。py:执行单个pytest模块。
3.pytest文件名。py: class name:在模块中运行一个类。
4.pytest文件名。py: class name: method name:运行模块中某个类的方法。
5.pytest -v:打印详细的运行日志信息
6.pytest -v -s文件名。py:带有控制台输出结果和操作的详细日志信息。
7.pytest -x文件名。py:一旦运行出错,就停止运行。
8.pytest -k“类名而非方法名”:执行关键字的用例
注意:在这个例子中,所有带有“test_c”和“test_d”的测试用例都将被执行。
9 . py test-m[标记名]:@ py test . mark .[标记名]将运行这个标记的测试用例。
用@pytest.mark.[ mark]标记这两个测试方法。
运行结果:
只运行了标记的两个测试方法。
10.pytest-maxfail=[num]:运行错误达到num时停止运行。
修改代码以模拟两个失败的测试案例。
运行结果:
1.pytest-correlation-only:只收集测试用例。
12.pytest-JUnit XML=。/result.xml:生成执行结果文件。
执行后,会在相应的目录下生成一个结果文件。
13.13.pytest - setup-show:跟踪fixture的执行过程。
修改原代码。添加fixture修饰函数并修改test_demo1测试方法。
运行结果:
结束注释:
以上内容是我看了pytest官方文档后根据个人理解整理的。内容上可能有一些误解。请留言指正。谢谢你
以上是Python自动化测试框架pytest的安装和运行细节。更多关于Python自动化测试框架pytest的信息,请关注我们的其他相关文章!
郑重声明:本文由网友发布,不代表盛行IT的观点,版权归原作者所有,仅为传播更多信息之目的,如有侵权请联系,我们将第一时间修改或删除,多谢。