随笔分类 - 接口测试
摘要:背景 在编写接口case的时候,我们常遇到一个这样的问题: 测试环境不稳定偶发接口超时(和服务无关,纯粹是环境问题),然后执行接口case也因此偶发失败。比如同一个接口case跑五次,其中有两次失败,另外三次都是成功的,这种偶发性的环境问题就需要我们手动重跑(还不一定能够通过)。有没有一个比较好的机
阅读全文
摘要:背景 使用pytest进行断言判断的时候,为了用例的精准性,经常会多个方面进行断言,比如如下: 断言1:断言响应的http的状态 断言2:断言响应返回的code值 断言3:断言响应返回的json中的data字段是否符合预期。 如果使用原生python的assert,就会遇到一个断言失败则全部失败的情
阅读全文
摘要:背景 在使用pytest-ordering插件的时候,运行case报错:NameError: name 'pytest' is not defined。实际case如下: test_demo.py @pytest.mark.run(order=2) def test_login(): assert
阅读全文
摘要:背景 在写接口或功能自动化case的时候,会遇到一些case有先后执行顺序的场景。比如:注册->登陆,先调用注册接口在数据库里面生成用户名和密码,然后使用登陆接口验证登陆。 在pytest里,如果注册和登陆分别是两个testcase,默认执行执行顺序是从前到后的。 例子 有一个pytest的测试ca
阅读全文
摘要:背景 最近在使用pytest框架写测试用例的时候,为了调试case,我在其中使用了print来打印相关的变量值,如下图: 分析 图中的setup_class和setup_method分别在类开始时和用例执行前被调用,但是实际运行pytest xxx.py的时候,print函数打印的信息没有输出到控制
阅读全文
摘要:前言 在使用pytest框架的时候,经常会涉及对pytest命令进行二次封装,比如写一个shell或者python脚本调用pytest。这样做的好处是可以为用户提供几个运行场景,简化pytest的命令行参数使用。封装脚本需要对实际运行的pytest命令进行退出码判断,然后进行逻辑判断再返回给实际用户
阅读全文
摘要:前言 上一期介绍了httprunner3.x,并尝试安装了httprunner3.x,在使用hrun make命令时报错了:missing dependency tool: black,报错如下。 解决过程 根据提示,执行pip install black 提示black已经安装到python3的相
阅读全文
摘要:Httprunner是一款简单优雅的http(s)的接口测试框架。 在当前测试行业,接口测试已经是必备技能了,而python也是广大测试同行们深爱的语言之一。httprunner这个工具就兼有了接口录制/导出,多种case编写格式(json/yml/pytest),入门门槛低,灵活且生态完整。 ht
阅读全文
摘要:badboy使用的浏览器为系统默认浏览器,如果需要更换浏览器,直接修改系统默认浏览器即可,这里推荐用最liumang的360去修改默认浏览器(基本对所有能装360的windows都适用)。 有些网址对浏览器有要求,必须只能在chrome下访问之类(其实浏览器兼容性蛮难做的),如果用其它浏览器打开可能
阅读全文