httprunner-环境与登录接口案例

前言

HttpRunner 是一款面向 HTTP(S) 协议的通用测试框架,只需编写维护一份 YAML/JSON 脚本,即可实现自动化测试。

具有以下优点:

  • 继承 Requests 的全部特性,轻松实现 HTTP(S) 的各种测试需求
  • 采用 YAML/JSON 的形式描述测试场景,保障测试用例描述的统一性和可维护性
  • 借助辅助函数(debugtalk.py),在测试脚本中轻松实现复杂的动态计算逻辑
  • 支持完善的测试用例分层机制,充分实现测试用例的复用
  • 测试前后支持完善的 hook 机制
  • 响应结果支持丰富的校验机制
  • 基于 HAR 实现接口录制和用例生成功能(har2case)
  • 结合 Locust 框架,无需额外的工作即可实现分布式性能测试
  • 执行方式采用 CLI 调用,可与 Jenkins 等持续集成工具完美结合
  • 测试结果统计报告简洁清晰,附带详尽统计信息和日志记录
  • 极强的可扩展性,轻松实现二次开发和 Web 平台化

环境准备

httprunner目前有2个版本,1.x和2x版本 ,具体安装安装哪个版本,可以根据不同需求。

1.5.8 多了个html报告模板。2.x 要用这个模板需要手动安装

httprunner 在安装的时候建议加上版本,默认是安装最新版,最新版在执行脚本时,会有报错的情况出现。

本篇安装环境

python3.7,httprunner=2.2.6

使用pip安装:

pip install httprunner==2.2.6  -i http://mirrors.aliyun.com/pypi/simple/  --trusted-host mirrors.aliyun.com

后面为安装源,这里选择国内镜像环境。不加 -i 后面的,默认从官网下载,速度较慢。

安装完成后检查版本号

hrun -V

 

登录案列

请求地址:http://127.0.0.1:8000/api/login

请求方法:POST

请求头部:{"Content-Type": "application/json"}

请求参数:{"username":"test1","pwd":"111111"}

 

编写yml/yaml格式脚本

- config:
    name: logincase
    base_url: http://127.0.0.1:8000
- test:
    name: login case1
    request:
        url: /api/login
        method: POST
        headers:
            Content-Type: application/json
            User-Agent: python-requests/2.18.4
        json:
            username: test
            password: 111111
    validate:
        - eq: [status_code, 200]
        - eq: [headers.Content-Type, application/json]
        - eq: [content.msg, login success!]
        - eq: [content.code, 0]

json格式

 1 [{
 2         "config": {
 3             "name": "logincase",
 4             "base_url": "http://127.0.0.1:8000"
 5         }
 6     },
 7     {
 8         "test": {
 9             "name": "login case1",
10             "request": {
11                 "url": "/api/login/",
12                 "method": "POST",
13                 "headers": {
14                     "Content-Type": "application/json",
15                     "User-Agent": "python-requests/2.18.4"
16                 },
17                 "json": {
18                     "username": "test",
19                     "password": "111111"
20                 }
21             },
22             "validate": [{
23                     "eq": ["status_code", 200]
24                 },
25                 {
26                     "eq": ["headers.Content-Type", "application/json"]
27                 },
28                 {
29                     "eq": ["content.msg", "login success!"]
30                 }, {
31                     "eq": ["content.code", 0]
32 
33                 }
34             ]
35         }
36     }
37 ]

运行用例

cmd运行,cd到login.yml目录,运行

hrun login.yml

 

json 格式运行也一样

查看测试报告

运行完成后会在当前目录生成一个report文件夹,里面会有一个html格式的报告文件,按时间戳生成的

 

posted @ 2020-05-29 17:50  mickey_liu  阅读(202)  评论(0)    收藏  举报