测试人社区

公开课_0312_httprunner接口测试

使用httprunner 实现

  1. 新建2个部门(部门名称为霍格沃兹、黑魔王)
  2. 删除黑魔王部门
  3. 获取部门列表

将api、testcases、testsuite。三个文件的yml文件帖出

corpid: ww93348658d7c66ef4
corpsecret: T0TFrXmGYel167lnkzEydsjl6bcDDeXVmkUnEYugKIw

name: get_token
variables:
    corpid: ww93348658d7c66ef4
    corpsecret: T0TFrXmGYel167lnkzEydsjl6bcDDeXVmkUnEYugKIw
request:
    url:  https://qyapi.weixin.qq.com/cgi-bin/gettoken
    method: get
    params:
        "corpid": $corpid
        "corpsecret": $corpsecret
validate:
    - eq: ["status_code", 200]

老师好,
我听了12日的课程后,下来调试课堂上的例子,碰到如下问题,暂未找到解决办法,请老师指点:

1、代码与你课堂代码时一致的。

name: get_token
variables:
corpid: ww93348658d7c66ef4
corpsecret: T0TFrXmGYel167lnkzEydsjl6bcDDeXVmkUnEYugKIw
request:
url: https://qyapi.weixin.qq.com/cgi-bin/gettoken
method: GET
headers:
params:
“corpid”: $corpid
“corpsecret”: $corpsecret
validate:
- eq: [“status_code”, 200]

2、hrun 版本2.5.7,python 版本Python 3.7.0b4
3、报错
INFO HttpRunner version: 2.5.7
INFO Loading environment variables from C:\Users\Administrator\hogwarts_httprunner.env
ERROR None is not of type ‘object’

Failed validating ‘type’ in schema[0]:
{‘description’: ‘request headers in json format’,
‘examples’: [{‘Content-Type’: ‘application/json’,
‘User-Agent’: ‘python-requests/2.18.4’}],
‘type’: ‘object’}

On instance:
None
WARNING Invalid test file format: ./api/get_token.yml
ERROR failed to parse all cases, abort.
!!! exception stage: parse tests !!!

Sentry is attempting to send 3 pending error messages
Waiting up to 2 seconds
Press Ctrl-Break to quit

    老师好,刚刚我按照提示在header 中添加了“ "Content-Type": application/json”,这次运行成功了。

之前我也添加过,但可能小细节没改对,所以运行不通过。

谢谢

非常棒,不过2.5.7版本貌似存在一些小bug ,可以酌情降级

还可以直接把header 注释掉,也可以运行成功。

header如果没进行赋值的话,http请求就会传空
如果不调用header字段(直接注释),那么就会传一个默认值

感谢老师,答案贴不上来,回复时提示”一次只能贴两个链接“,所以无法回复,感谢老师辛苦指教,很有用。

贴图就行啦。httprunner还有更多用法 hook、参数化、以及函数定制、持续集成、性能测试都可以。还是值得学习的,不过这个学的再通也没有自己的核心竞争力,还是要从源码入手学习设计思路