2026/5/18 21:55:50
网站建设
项目流程
可以用来做视频网站的视频外链吗,需要注册的企业网站,消费返利网站做的最长久的,网站制作软件是什么#x1f345; 点击文末小卡片 #xff0c;免费获取软件测试全套资料#xff0c;资料在手#xff0c;涨薪更快 1、基于pytest单元测试框架的规则1.1 模块名#xff08;即文件名#xff09;必须以test_开头或者_test结尾1.2 类名必须以Test开头且不能有init方法1.3 用例… 点击文末小卡片 免费获取软件测试全套资料资料在手涨薪更快1、基于pytest单元测试框架的规则1.1 模块名即文件名必须以test_开头或者_test结尾1.2 类名必须以Test开头且不能有init方法1.3 用例名测试方法必须以test开头2、项目实战import pytest as pytest import requests # 此案例测试用例之间无法关联cookie信息 class TestApi: # 类变量也叫全局变量 access_token # 获取鉴权码 def test_get_token(self): url https://api.weiixn.com/token datas { grant_type: client_credential, appid: wx32497320974, secret: dh2983yr4fh9734. } res requests.get(urlurl, paramsdatas) result res.json() TestApi.access_token result[access_token] # jsonpath提取实现接口关联 # lis jsonpath.jsonpath(res.json(), $.access_token) # print(lis[0]) # re正则表达式提取 # token re.search(namehduwqidh value(.*?), res.text).group(1) # 编辑标签接口 def test_edit_flag(self): url https://api.weiixn.com/update?access_token TestApi.access_token headers {} # json是字典的字符串格式两者可以相互转换 json {} # 键值对 data None res requests.post(urlurl, jsonjson, headersheaders) # 文件上传 def test_file_upload(self): url https://api.weiixn.com/update?access_token TestApi.access_token datas { # 文件路径也可以写为open(D:\\snipaste) media: open(rD:\snipaste, moderb) } res requests.post(urlurl, filesdatas) if __name__ __main__: # 入口 pytest.main(-vs)3、pytest的main使用3.1 pytest.main() 运行模式时main()不添加任何参数表示运行当前目录下的所有的测试文件3.2 main()添加参数如下pytest.main([-s, -v, -q, -x,-k print])-s 对于代码里print语句会将输出至控制台-v 用于增加测试用例的冗长-q 用于减少测试用例的执行结果的冗长-x 出现一条用例执行失败就退出测试调试阶段常用-k print 运行包含某个字符串的用例如pytest -k add XX.py 表示运行XX.py中包含add的测试用例等等3.3 执行测试用例的过滤执行某个测试类或测试方法用 :: 隔开常用-vs参数pytest.main([-vs,模块.py::类或方法])命令行为pytest 文件名.py::测试类或测试方法pytest.main([-vs,模块.py::类::方法])命令行为pytest 文件名.py::测试类::测试方法如果是在main目录入口执行测试用例文件import pytestif __name__ __main__:pytest.main([-vs,--html../../report_hdc/20211011_hdc_02.html,--self-contained-html])3.4 如果使用pytest.main()生效再pycharm中必须设置ToolsPython Integrated ToolsDefault test runnerUnittests如果设置为pytest则是无效的。3.5 在pytest中测试函数可能返回多种结果不只是通过或失败。如下PASSED.测试通过FAILEDF测试失败SKIPEDs测试未被执行指定测试跳过执行xfail x预期测试失败并且确实失败XPASS X预期测试失败但实际上运行通过不符合预期ERROR E测试用例之外的代码触发的异常3.6 pytest.main([-m, run_first])使用-m 对用例进行标记用例需注释pytest.mark.xxx,将xxx作为参数传入使用-m mark1 and mark2可以同时选中带有这两个标记的所有测试用例。使用-m mark1 and not mark2选中带有与mark1的测试用例而过滤掉带有mark2的测试用例使用-m mark1 or mark2则选中带有mark1或者mark2的所有测试用例4、接口关联4.1 三个层次4.1.1 通过类变量保存中间变量实现接口关联4.1.2 通过单独的文件保存中间变量实现接口关联4.1.3 极限封装成零代码的方式实现接口关联4.2 两种方式4.2.1 正则提取实现接口关联re.search() #通过正则匹配一个值通过下标[1]取值没有匹配到返回nonere.findall() #通过正则匹配多个值返回List通过下标取值没有匹配到返回none4.2.2 jsonpath提取实现接口关联jsonpath.jsonpath() #返回一个列表通过下标取值没有找到返回none5、总结最后感谢每一个认真阅读我文章的人礼尚往来总是要有的虽然不是什么很值钱的东西如果你用得到的话可以直接拿走这些资料对于做【软件测试】的朋友来说应该是最全面最完整的备战仓库这个仓库也陪伴我走过了最艰难的路程希望也能帮助到你凡事要趁早特别是技术行业一定要提升技术功底。