阅读 116

HttpRunner2.X开源接口测试框架学习(一):yaml格式测试用例编写

HttpRunner测试用例的基本结构

  • 每个YAML/JSON文件对应一个测试用例(testcase)

  • 每个测试用例为一个list of dict结构,其中可能包含全局配置项(config)和若干个测试步骤(test)

  • config为全局配置项,作用域为整个测试用例

  • test对应单个测试步骤,作用域仅限于本身

  • 变量作用域以config为主,config如果没有设置,就使用test中设置的变量

一、基础栗子

get请求举例说明

以打开新梦想首页为例

host:http://www.hnxmxit.com

url:/

请求方式:get

 使用httprunner进行接口测试步骤:

1、打开pycharm,新建一个httprunner项目,新建一个test_demo.yaml文件,内容如下:

#不带参数的get请求
- config:
    name: 验证能否打开新梦想主页
    base_url: http://www.hnxmxit.com

- test:
    name: open hnxmxit mainpage api
    request:
      url: /
      method: GET
    validate:
      - eq: [status_code,200]

 2、在pycharm,终端窗口执行如下命令 :hrun yaml文件名

 

 

 

3、执行成功后,会自动生成一个报告,查看报告:

 

 

 

二、模拟带参数的get请求

 

#模拟带参数的get请求
- config:
    name: 验证能否获取token值
    base_url: https://api.weixin.qq.com

- test:
    name: get access token
    request:
      url: /cgi-bin/token
      method: GET
      params:
        grant_type: client_credential
        appid: wx0ebbdf4a197121
        secret: b876eeb2af99cc6623995201168e702f
    validate:
      - eq: [status_code,200]
      - eq: [content.expires_in,7200]

三、模拟请求头

#模拟请求头
- config:
    name: 验证百度搜索是否正确
    base_url: https://www.baidu.com

- test:
    name: 百度搜索请求
    request:
      url: /s
      method: GET
      headers:
        User-Agent: Mozilla/5.0 (Linux; Android 6.0; Nexus 5 Build/MRA58N) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/89.0.4389.90 Mobile Safari/537.36
        Accept: text/html,application/xhtml+xml,application/xml;q=0.9,image/avif,image/webp,image/apng,*/*;q=0.8,application/signed-exchange;v=b3;q=0.9
        Accept-Encoding: gzip, deflate, br
        Accept-Language: zh-CN,zh;q=0.9
      params:
        wd: newdream01
    validate:
      - eq: [status_code,200]

 

四、模拟POST请求

#模拟post请求
- config:
    name: 验证微信开发平台中,用户标签管理修改标签接口能否成功执行
    base_url: https://api.weixin.qq.com

- test:
    name: 修改标签接口
    request:
      url: /cgi-bin/tags/update
      method: POST
      headers:
        Content-Type: application/json
      params:
        access_token: 46_oMQuTV1IE2aTFeGKMHXHSNseS63bwEMxSyU7MrVYvOqXF1y5hnQvgopuZjBSqKBIGVrCaTlQEAeAAf-EtaGWahHTeEzFU-cNZ3_EgT7Xlbwx7rOFW9OTusypC9lIthaIn0Ooq60XJ09wrFYlJMIgAHAVYU
      json: {   "tag" : {     "id" : 101,     "name" : "newdream123"   } }
    validate:
      - eq: [status_code,200]
      - eq: [content.errcode,0]

 

五、变量作用域:变量作用域以config为主,config如果没有设置,就使用test中设置的变量

#变量作用域:变量作用域以config为主,config如果没有设置,就使用test中设置的变量
- config:
    name: 验证能否获取token值
    base_url: https://api.weixin.qq.com
    variables:
      - grant_type: client_credential
      - appid: wx0ebbdf4a197121

- test:
    name: get access token
    variables: #变量作用域以config为主,config如果没有设置,就使用test中设置的变量
      - grant_type: client_credential
      - appid: wx0ebbdf4a197121
    request:
      url: /cgi-bin/token
      method: GET
      params:
        grant_type: $grant_type
        appid: $appid
        secret: b876eeb2af99cc6623995201168e702f
    validate:
      - eq: [status_code,200]
      - eq: [content.expires_in,7200]

 

原文:https://www.cnblogs.com/lvhuayan/p/14891745.html

文章分类
代码人生
版权声明:本站是系统测试站点,无实际运营。本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌抄袭侵权/违法违规的内容, 请发送邮件至 XXXXXXo@163.com 举报,一经查实,本站将立刻删除。
相关推荐