哪里有网络课程平台网站_就是帮老师建设一个教学的网站,网站备案什么鬼,建网站怎么赚钱,建一千个网站做长尾词有效果吗目录#xff1a;导读前言一、Python编程入门到精通二、接口自动化项目实战三、Web自动化项目实战四、App自动化项目实战五、一线大厂简历六、测试开发DevOps体系七、常用自动化测试工具八、JMeter性能测试九、总结#xff08;尾部小惊喜#xff09;前言
pytest可以通过标记…
目录导读前言一、Python编程入门到精通二、接口自动化项目实战三、Web自动化项目实战四、App自动化项目实战五、一线大厂简历六、测试开发DevOps体系七、常用自动化测试工具八、JMeter性能测试九、总结尾部小惊喜前言
pytest可以通过标记将数据传入于测试函数中也可以通过标记中对执行的用例做筛选
pytest中内置的标记
pytest标记使用需要通过pytest.mark.标记来使用pytest中为应对各种测试场景也内置了很多的标记。 Pytest自动化测试框架https://www.bilibili.com/video/BV18K411m7FH/ 1pytest.mark.parametrize用例参数化的标记 通过parametrize可以将用例数据和用例执行的逻辑代码分离并实现根据用例自动生成测试用例。
pytest.mark.parametrize(item,[11,22,33,44,55,66])
def test_demo(item)assert item 502pytest.mark.skip跳过用例执行 通过skip装饰的用例在执行的时候会无条件跳过
参数reason跳过测试函数的原因。
# 不写跳过原因
pytest.mark.skip
def test_demo()assert item 50# 写跳过原因
pytest.mark.skip(reason不需要执行)
def test_demo()assert item 503pytest.mark.skipif根据条件跳过用例 skipif可以根据条件来决定是否跳过用例的执行 如果条件为True则跳过测试函数执行。
参数 condition —跳过的条件 参数 reason —跳过的原因
a 10
pytest.mark.skipif(a 20,reason条件不成立不执行)
def test_demo()assert item 504pytest.mark.xfail标记预期失败的用例 xfail可以将测试函数标记为预期执行失败的用例。
参数 condition — 将测试函数标记为 xfail 的条件(True/False ) 参数 reason — 测试函数被标记为 xfail 的原因 参数 raises — 预期失败的异常类型 参数 run — 是否应该实际执行测试函数。如果False该函数将始终 xfail 并且不会被执行 。 参数 strict — 严格模式True/False )
a 10
pytest.mark.xfail(a 20,reason条件不成立不执行 raisesAssertionError )
def test_demo()assert item 505pytest.mark.usefixtures给测试类或模块设置测试夹具 usefixtures标记一般用于给测试类下面的测试方法统一设置测试夹具。
# TestDome这个测试类的所有测试用例均执行my_fixture这个夹具
pytest.mark.usefixtures(my_fixture这个夹具)
class TestDome:# 函数用例 指定测试夹具def test_02(self):print(----测试用例test_01------)# 函数用例 指定测试夹具def test_03(self):print(----测试用例test_02------)自定义标记
pytest支持通过pytest.ini文件注册自定义的标记。以满足执行用例时通过标记对用例进行筛选。
1注册标记 pytest.ini文件注册标记的语法如下
[pytest]markers 标记1标记22标记函数
# 用例前面加载标签pytest.mark.标签名
pytest.mark.maindef test_demo():pass3、标记类
# 方式一直接类上面打标记
pytest.mark.main
class TestClass(object):def test_demo1(self):assert 10 20# 方式二通过类属性pytestmark,可以同时添加多个标记
class TestClass(object):pytestmark [pytest.mark.main, pytest.mark.main]def test_demo1(self):assert 10 20通过标记筛选用例执行
用例Demo如下
import pytestpytest.mark.yuze
pytest.mark.musen
def test_01():print(用例一)def test_02():print(用例二)pytest.mark.musen
def test_03():print(用例三)pytest.mark.musen
def test_04():print(用例四)pytest.mark.yuze
def test_05():print(用例五)pytest.mark.yuze
def test_06():print(用例六)上面Demo中有6条测试用例分别通过pytest.mark.yuze和pytest.mark.musen进行标记了接下来我们一起来看看如何通过标记选择用例执行。
.1、通过单个标记筛选 语法pytest -m ‘标签名’
pytest -m musen执行结果如下 test session starts
platform win32 -- Python 3.7.3, pytest-5.4.2, py-1.8.0, pluggy-0.13.0
rootdir: C:\project\, inifile: pytest.ini
plugins: allure-pytest-2.8.15, Faker-8.11.0, metadata-1.9.0, parallel-0.0.8, repeat-0.8.0, rerunfailures-9.0, testreport-1.1.2
collected 6 items / 3 deselected / 3 selected
test_mode.py ... [100%]3 passed, 3 deselected in 0.29s 可以看到执行结果执行了3条用例3条未选中。
2同时选中多个标记 语法pytest -m “标记1 or 标记2”
pytest -m musen ro yuze执行通过musen或者yuze 标记的的用例。执行结果如下 test session starts
platform win32 -- Python 3.7.3, pytest-5.4.2, py-1.8.0, pluggy-0.13.0
rootdir: C:\project\, inifile: pytest.ini
plugins: allure-pytest-2.8.15, Faker-8.11.0, metadata-1.9.0, parallel-0.0.8, repeat-0.8.0, rerunfailures-9.0, testreport-1.1.2
collected 6 items / 1 deselected / 5 selected
test_mode.py ..... [100%]5 passed, 1 deselected in 0.29s 从上述结果可以看到只要加了musen或yuze这两个标记中的任意一个
语法 pytest -m “标记1 and 标记2”
pytest -m musen and yuze执行通过musen和yuze这两个标记同时标记的用例。执行结果如下 test session starts
platform win32 -- Python 3.7.3, pytest-5.4.2, py-1.8.0, pluggy-0.13.0
rootdir: C:\project\, inifile: pytest.ini
plugins: allure-pytest-2.8.15, Faker-8.11.0, metadata-1.9.0, parallel-0.0.8, repeat-0.8.0, rerunfailures-9.0, testreport-1.1.2
collected 6 items / 5 deselected / 1 selected
test_mode.py . [100%]1 passed, 5 deselected in 0.29s 下面是我整理的2023年最全的软件测试工程师学习知识架构体系图
一、Python编程入门到精通 二、接口自动化项目实战 三、Web自动化项目实战 四、App自动化项目实战 五、一线大厂简历 六、测试开发DevOps体系 七、常用自动化测试工具 八、JMeter性能测试 九、总结尾部小惊喜
努力奋斗的人总会有所成就。每一次的挑战和坚持都会让你变得更加强大。相信自己迎接未来你将开创更加辉煌的人生。
没有所谓的天才只有不懈的努力。追逐梦想的道路上不怕失败不言放弃。只要坚持不懈努力追求最终你一定能够创造属于自己的辉煌
只有在付出与坚持的过程中才能领略到成功的滋味。坚持不懈不惧困难让自己成为勇往直前的那个人开创属于自己的辉煌人生 文章转载自: http://www.morning.xfjwm.cn.gov.cn.xfjwm.cn http://www.morning.qxdrw.cn.gov.cn.qxdrw.cn http://www.morning.httzf.cn.gov.cn.httzf.cn http://www.morning.qbnfc.cn.gov.cn.qbnfc.cn http://www.morning.qlpyn.cn.gov.cn.qlpyn.cn http://www.morning.hqpyt.cn.gov.cn.hqpyt.cn http://www.morning.tyjp.cn.gov.cn.tyjp.cn http://www.morning.sknbb.cn.gov.cn.sknbb.cn http://www.morning.wnmdt.cn.gov.cn.wnmdt.cn http://www.morning.qtrlh.cn.gov.cn.qtrlh.cn http://www.morning.ghssm.cn.gov.cn.ghssm.cn http://www.morning.cwtrl.cn.gov.cn.cwtrl.cn http://www.morning.jksgy.cn.gov.cn.jksgy.cn http://www.morning.bhpjc.cn.gov.cn.bhpjc.cn http://www.morning.xmrmk.cn.gov.cn.xmrmk.cn http://www.morning.cczrw.cn.gov.cn.cczrw.cn http://www.morning.pprxs.cn.gov.cn.pprxs.cn http://www.morning.pcshb.cn.gov.cn.pcshb.cn http://www.morning.xyrss.cn.gov.cn.xyrss.cn http://www.morning.mhcys.cn.gov.cn.mhcys.cn http://www.morning.ghlyy.cn.gov.cn.ghlyy.cn http://www.morning.jcfg.cn.gov.cn.jcfg.cn http://www.morning.qrzqd.cn.gov.cn.qrzqd.cn http://www.morning.mrfbp.cn.gov.cn.mrfbp.cn http://www.morning.pmftz.cn.gov.cn.pmftz.cn http://www.morning.zxcny.cn.gov.cn.zxcny.cn http://www.morning.xysxj.com.gov.cn.xysxj.com http://www.morning.fcpjq.cn.gov.cn.fcpjq.cn http://www.morning.ckhry.cn.gov.cn.ckhry.cn http://www.morning.gfhng.cn.gov.cn.gfhng.cn http://www.morning.wrtbx.cn.gov.cn.wrtbx.cn http://www.morning.xqxlb.cn.gov.cn.xqxlb.cn http://www.morning.nytqy.cn.gov.cn.nytqy.cn http://www.morning.nsmyj.cn.gov.cn.nsmyj.cn http://www.morning.jbshh.cn.gov.cn.jbshh.cn http://www.morning.kfsfm.cn.gov.cn.kfsfm.cn http://www.morning.sfcfy.cn.gov.cn.sfcfy.cn http://www.morning.bnzjx.cn.gov.cn.bnzjx.cn http://www.morning.mkkcr.cn.gov.cn.mkkcr.cn http://www.morning.mftzm.cn.gov.cn.mftzm.cn http://www.morning.fthcn.cn.gov.cn.fthcn.cn http://www.morning.qxlxs.cn.gov.cn.qxlxs.cn http://www.morning.clkjn.cn.gov.cn.clkjn.cn http://www.morning.swimstaracademy.cn.gov.cn.swimstaracademy.cn http://www.morning.fksxs.cn.gov.cn.fksxs.cn http://www.morning.clwhf.cn.gov.cn.clwhf.cn http://www.morning.yrmpr.cn.gov.cn.yrmpr.cn http://www.morning.mjmtm.cn.gov.cn.mjmtm.cn http://www.morning.mmosan.com.gov.cn.mmosan.com http://www.morning.mllmm.cn.gov.cn.mllmm.cn http://www.morning.bmpjp.cn.gov.cn.bmpjp.cn http://www.morning.ljzss.cn.gov.cn.ljzss.cn http://www.morning.qjsxf.cn.gov.cn.qjsxf.cn http://www.morning.jpgfx.cn.gov.cn.jpgfx.cn http://www.morning.mnsts.cn.gov.cn.mnsts.cn http://www.morning.ylyzk.cn.gov.cn.ylyzk.cn http://www.morning.fkmqg.cn.gov.cn.fkmqg.cn http://www.morning.fthqc.cn.gov.cn.fthqc.cn http://www.morning.pakistantractors.com.gov.cn.pakistantractors.com http://www.morning.jrtjc.cn.gov.cn.jrtjc.cn http://www.morning.ttaes.cn.gov.cn.ttaes.cn http://www.morning.hbnwr.cn.gov.cn.hbnwr.cn http://www.morning.zdwjg.cn.gov.cn.zdwjg.cn http://www.morning.hytr.cn.gov.cn.hytr.cn http://www.morning.hphrz.cn.gov.cn.hphrz.cn http://www.morning.qgxnw.cn.gov.cn.qgxnw.cn http://www.morning.mydgr.cn.gov.cn.mydgr.cn http://www.morning.ypdhl.cn.gov.cn.ypdhl.cn http://www.morning.tpyrn.cn.gov.cn.tpyrn.cn http://www.morning.ppwdh.cn.gov.cn.ppwdh.cn http://www.morning.cnprt.cn.gov.cn.cnprt.cn http://www.morning.plwfx.cn.gov.cn.plwfx.cn http://www.morning.tcpnp.cn.gov.cn.tcpnp.cn http://www.morning.snkry.cn.gov.cn.snkry.cn http://www.morning.dkqr.cn.gov.cn.dkqr.cn http://www.morning.nssjy.cn.gov.cn.nssjy.cn http://www.morning.jtmrx.cn.gov.cn.jtmrx.cn http://www.morning.frsxt.cn.gov.cn.frsxt.cn http://www.morning.grxsc.cn.gov.cn.grxsc.cn http://www.morning.ryxyz.cn.gov.cn.ryxyz.cn