HttpRunner2.0 快速上手

参考文档见HttpRunnerV2.x帮助文档

  • 安装
  • 项目文件结构
  • 测试用例
  • Demo

  • 安装以及依赖软件
    可运行平台:windows、Linux、macOS,推荐系统:Linux/macOS
    安装方式: pip install httprunner
    依赖的Python版本:Python 3.4及以上版本

  • 项目文件结构
    1.分为2种,一种是测试用例分层结构,一种是测试用例不分层结构
    利用项目脚手架直接创建测试用例分层结构,如此一个基本的测试用例分层结构就搞定了(懒人专用)
windows 环境
D:\>hrun --startproject demo
Start to create new project: demo
CWD: D:\

created folder: demo
created folder: demo\api
created folder: demo\testcases
created folder: demo\testsuites
created folder: demo\reports
created file: demo\debugtalk.py
created file: demo\.env

3.测试用例不分层结构,就是根据项目需要创建文件,两种结构见截图


HttpRunner2.0 快速上手_第1张图片
示例.png

  • 测试用例
    用例支持格式:YAML格式以及JSON格式
    测试用例结构(拷贝自官网):


    HttpRunner2.0 快速上手_第2张图片
    测试用例结构.png

测试用例组织中三个基础概念:测试套件、测试用例、测试步骤。

三者的关系为测试套件包含多个/一个测试用例(YAML/JSON),一个测试用例包含多个/一个测试步骤(STEP),测试步骤对应YMAL/JSON文件中的test,包含单个接口的全部内容,包括发起请求,解析响应结果,校验结果。

数据存储结构为list of dict ,以JSON格式的数据为例

[
  {
    "config": {...}
  },
  {
    "test": {...}
  },
  {
    "test": {...}
  }
]

config:整个测试用例的全局配置项,作用域为整个测试用例(即一个YAML/JSON文件)
test:测试步骤的变量空间(context)会继承或覆盖 config 中定义的内容;
若某变量在 config 中定义了,在某 test 中没有定义,则该 test 会继承该变量
若某变量在 config 和某 test 中都定义了,则该 test 中使用自己定义的变量值
各个测试步骤(test)的变量空间相互独立,互不影响;
如需在多个测试步骤(test)中传递参数值,则需要使用 extract 关键字,并且只能从前往后传递

注意: test的执行顺序是自上而下执行

重点在于理解HttpRunner的分层结构以及包含关系
更多内容参考官网例子

了解更多
[requests]: http://docs.python-requests.org/en/master/
[unittest]: https://docs.python.org/3/library/unittest.html
[Locust]: http://locust.io/
[PyUnitReport]: https://github.com/HttpRunner/PyUnitReport
[Jenkins]: https://jenkins.io/index.html
[HttpRunner-blog]: http://debugtalk.com/post/ApiTestEngine-api-test-best-practice/

你可能感兴趣的:(HttpRunner2.0 快速上手)