【接口/性能】HttpRunner01-用例编写

发表于:2018-4-24 17:48

字体: | 上一篇 | 下一篇 | 我要投稿

 作者:JOooo_    来源:简书

  1. 启动Flask服务
  flask的使用:
  设置flask启动app的路径(windows下用set,linux用export)
  set FLASK_APP=D:\python\HttpRunner-master\tests\api_server.py
  flask run

  2. 抓包查看HTTP请求和返回的信息
  启动flask服务后,可使用Charles抓包。
  在浏览器中访问:http://127.0.0.1:5000/ 可看到如下信息

  可在\tests\api_server.py文件中查看该服务有哪些api接口。
  3. 运行测试用例
  现在根据get-token和users两个接口来写测试用例(采用YAML格式)
  可examples/quickstart-demo-rev-0.yml中查看
  运行测试用例,在终端输入:
  ate examples/quickstart-demo-rev-0.yml

  Charles抓包可看到信息,发现第二个用例请求users接口返回了403。
  查看抓包信息可看到:
  虽然get-token接口获得了token,但在users接口中请求使用的token又重新生成了一次。


  4. 优化测试用例:关联(correlation)
  为了解决上面的问题,需要将第一个接口获取的token传递到第二个接口的请求参数中。
  可examples/quickstart-demo-rev-1.yml中查看
  运行测试用例,在终端输入:
  ate examples/quickstart-demo-rev-1.yml
  现在可以看到两个用例都请求成功了

  5. 优化测试用例:参数化(parameterization)
  可以看到用例中,device_sn仍然是hardcode的,这与真实场景是有差异的。在真实场景中每个用户的device_sn都不一样,sign也是根据其它headers中的参数来生成的。
  但测试用例是YAML文档,没有随机生成这些数值的功能。我们可以在httprunner中将python脚本和YAML/JSON格式的测试用例结合起来。(examples/debugtalk.py)
  可在quickstart-demo-rev-2.yml中查看优化后的测试用例
  6. 优化测试用例:全局config模块
  可定义一个config模块,将全局变量和方法定义在这里。比如,像device_sn这样的变量,可能在别的测试用例中也会用到,可以在config中定义。
  详见examples/quickstart-demo-rev-3.yml
  7. 运行测试用例,生产报告


上文内容不用于商业目的,如涉及知识产权问题,请权利人联系博为峰小编(021-64471599-8017),我们将立即处理。
《2023软件测试行业现状调查报告》独家发布~

关注51Testing

联系我们

快捷面板 站点地图 联系我们 广告服务 关于我们 站长统计 发展历程

法律顾问:上海兰迪律师事务所 项棋律师
版权所有 上海博为峰软件技术股份有限公司 Copyright©51testing.com 2003-2024
投诉及意见反馈:webmaster@51testing.com; 业务联系:service@51testing.com 021-64471599-8017

沪ICP备05003035号

沪公网安备 31010102002173号