标签:vs pytest day1 testcase 测试用例 test 运行
一、pytest单元测试框架
二、单元测试框架与自动化测试框架
1.什么是自动化测试框架
单元测试框架、pom设计模式、数据驱动、关键字驱动、全局配置文件的封装、日志监控等只是自动化测试框架的组成部分之一。
2.pytest简介
- pytest是一个非常成熟的python单元框架,灵活,容易上手。
- pytest可以和selenium,requests,appium结合实现web自动化、接口自动化
- pytestk可以实现测试用例的跳过以及reruns失败测试用例的重试。
- 可以和allure生成非常美观的测试报告
- 可以和Jenkins持续集成
- 有很多非常强大的插件,能够实现很多实用的操作。例如:
pytest-html(生成html格式的自动化测试报告)
pytest-xdist 测试用例分布式执行,多cpu分发
pytest-ordering 用于改变测试用例的执行顺序
pytest-rerunfailures 用例失败后重重跑
allure-pytest 用于生成美观的测试报告
放到requirements.txt中,通过pip install -r requirements.txt
默认的测试用例的规则
- 模块名必须以test_开头或者_test结尾。
- 测试类必须以Test开头,并且不能有init方法。
- 测试方法必须以test开头。
三、pytest测试用例的运行方式
1.主函数模式:
运行所有(pytest.main())
指定模块:pytest.main(['-vs','test_login.py'])
指定目录:pytest.main(['-vs','./interface_testcase'])
通过nodeid指定用例运行:nodeid由模块名,分隔符,类名,方法名,函数名组成。
2.命令行模式:
- 运行所有:pytest
- 运行指定模块:pytest -vs test_login.py
- 运行指定目录;pytest -vs ./interface_testcase
- 指定目录:pytest -vtest_04_funcs ./interface_testcase/test_interface.py::test_04_func
2.1参数详解
-s:表示输出调试信息,包括输出调试打印信息
-v:表示详细的方式,类名 测试名
-vs:这两个参数可以合并
-n:支持多线程或者分布式运行测试用例
如:pytest -vs ./testcase/test_login.py -n 2
--reruns NUM:失败用例重跑
-x:表示只要一个用例报错,那么测试停止
--maxfail=2 允许的最大失败次数
-k:根据测试用例的部分字符串指定测试用例
如:pytest -vs ./testcase -k "ao"
3.通过读取pytest.ini配置文件运行
pytest.ini是pytest单元测试框架的核心配置文件。 文件位置一般放在项目的根目录,编码必须是ANSI,作用可以改变pytest的默认行为。运行的规则不管是主函数模式运行,命令行模式运行,都会去读取这个默认配置文件。
[pytest] addopts= -vs #命令行的参数,用空格分开 testpaths = ./testcase #测试用例的路径 python_files = test_*py #模块名的规则 python_classes = Test* #类名的规则 python_functions = test #方法名的规则
四、pytest执行测试用例的顺序是怎样的呢?
默认从上到下。还可以通过标记方式改变默认执行顺序,试用mark标记@pytest.mark.run(order=)
标签:vs,
pytest,
day1,
testcase,
测试用例,
test,
运行
From: https://www.cnblogs.com/qijiajun/p/17262743.html