pytest运行用例的常见方式及参数

打印 上一主题 下一主题

主题 861|帖子 861|积分 2583

标题pytest运行用例方式及参数

用例布局目录


“”"
在最外层目录下执行所有的用例
参数说明:
-s:表现用例的打印信息
-v:表现用例执行的具体信息
–alluredir:指定allure报告的路径
–clean-alluredir:清除allure报告的路径
-n:指定并发的进程数
-x:出现一条用例失败就停止执行
–maxfail:指定最大失败用例数
–reruns:指定用例失败重跑次数
–reruns-delay:指定用例失败重跑的间隔时间
–m:指定用例的标记表达式
-kkeywords)指定用例的关键字表达式,可以利用and、or、not进行组合.比方用例包罗了success,但是不包罗failed的用例 ‘-k’,‘success’
“”"
import pytest
# 运行所有效例

pytest.main([‘-s’, ‘-v’])

# 运行指定用例:运行登录用例

pytest.main([‘-s’, ‘-v’, ‘./test_login.py’])

print(“运行指定模块用例完成***”)

# 运行制定的用例模块下的某个用例,利用两个冒号作为分隔符

pytest.main([‘-s’, ‘-v’, ‘./test_login.py::TestLogin::test_login_01’])

print(“运行指定某个用例完成***”)

# 分布式运行 依赖pytest-xdist插件

time_start = time.time()

pytest.main([‘-s’, ‘-v’, ‘./test_login.py’])

time_end = time.time()

print(“分布式运行总耗时:”, time_end - time_start)

print(“运行分布式用例前完成***”)

# 分布式运行[‘-n’,‘2’] -n 表现利用分布式,后面的数字表现并发的进程数;注意多线程的时间,是按顺序分配。两个线程则是,1.3.5 :2.4.6

time_start = time.time()

pytest.main([‘-s’, ‘-v’, ‘-n’, ‘2’, ‘./test_login.py’])

time_end = time.time()

print(“分布式运行总耗时:”, time_end - time_start)

print(“运行分布式用例完成***”)

# 失败用例重跑, -reruns 2 表现失败重跑2次 依赖pytest-rerunfailures插件

pytest.main([‘-s’, ‘-v’, ‘–reruns’, ‘2’, ‘./test_login.py’])

print(“运行失败重跑用例完成***”)

# -x 表现出现一条用例失败就停止执行,执行失败了就停止运行

pytest.main([‘-s’, ‘-v’, ‘-x’, ‘./test_login.py’])

print(“运行用例失败就停止执行完成***”)

**************************************************************************************************************

上面是all run 文件运行的下令。也可以在终端里面输入对应的下令执行测试

第三种执行方式:pytest.ini 文件,将需要执行的用例信息设置到pytest.ini文件中,main()中存在其他参数时,照旧会先读取设置,这种优先级最高!!!

注意:文件的编码方式需要利用ANSI编码格式

“”"
pytest.ini 文件内容如下:
[pytest]
参数,多个参数利用空格分开

addopts = -v -s --html ./report/report.html
用例路径

testpaths = testcase
用例文件

python_files = test*.py
用例类

python_classes = Test*
用例方法

python_functions = test*
分组执行方式:pytest.ini 文件

markers =
smoke:冒烟测试
login:登录测试
register:注册测试
执行方式:pytest.main([‘-v’,‘-m’,‘smoke’])

执行方式:pytest.main([‘-v’,‘-m’,‘login’])

这里可以修改默认的方式,比方文件是AAA*.py

“”"
# 分组执行用例:冒烟,标记smoke ,要共同用例文件中的pytest.mark.smoke利用

pytest.main([‘-v’, ‘-m’, ‘smoke’])

# 分组执行用例:登录,标记login.smoke,多个分组执行用or 链接

pytest.main([‘-v’, ‘-m’, ‘smoke or login’])

# 无条件跳过测试用例:pytest.mark.skip(reason=“跳过原因”) --这种跳过方式,跳事后,用例不执行,但是会表现跳过的结果

pytest.main([‘-m’, ‘smoke or login’])

有条件跳过测试用例:pytest.mark.skipif(condition=True, reason=“跳过原因”) --这种跳过方式,跳事后,用例不执行

pytest.main([‘-v’, ‘-m’, ‘smoke or login’])


免责声明:如果侵犯了您的权益,请联系站长,我们会及时删除侵权内容,谢谢合作!更多信息从访问主页:qidao123.com:ToB企服之家,中国第一个企服评测及商务社交产业平台。

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有账号?立即注册

x
回复

使用道具 举报

0 个回复

正序浏览

快速回复

您需要登录后才可以回帖 登录 or 立即注册

本版积分规则

千千梦丶琪

金牌会员
这个人很懒什么都没写!

标签云

快速回复 返回顶部 返回列表