HttpRunner 请问 httprunner 的 yaml file 是根据什么格式判断是否符合规格的?

victor · 2020年05月04日 · 最后由 victor 回复于 2020年05月05日 · 1561 次阅读

卡在这个 file 很久了,眼睛看了无数次,也没觉得 这个 yaml faile 不合法啊


- test:
    name: get guest

    request:
        url: https://xxx/sessions/guest
        method: GET
        headers:
            Content-Type: "application/json"

    validate:
        - eq: ["status_code", 200]

    extract: [
      {"token": content.token"}
    ]

- test:
    name: pin request

    request:
        url: https://xxx/sessions/pinCodeRequest
        method: POST
        headers:
            Content-Type: "application/json"
            Authorization: "test $token"
        json:
            phoneNumber: 7900099049
            customerConsent: true
            currentPage: "INITIAL_REGISTRATION_PIN"
    validate:
        - eq: ["status_code", 200]

一直 warning httprunner.loader.buildup:__load_file_content:402 - Invalid test file format: api/demo_api.yml

另外 如果 第一个 test 的 token 传递到第二 test 中 需要在前面 加上一个子串 譬如 "test " + token, 我上面的写法是对的么? 多谢

共收到 2 条回复 时间 点赞
name: "app login"
request:
    url: /user/login.json?sim=$account&code=123456
    method: POST
    headers:
        Content-Type: "application/json"
        Authorization: $jwt
extract:
    - token: "content.token"
validate:
        - eq: [status_code, 200]
teardown_hooks:
  - ${setTokenENV($response)}

你的 extract 写的有问题;
httprunner 的日志很少,刚开始学习需要花点功夫;
最好能读懂它的源码,添加相关日志,这样效果会好点。

@ 云中一只猫 非常感谢。 我重新改了一下,然后还回退了一个版本,变成 2.5.7 的版本,现在一切都正常了。

需要 登录 后方可回复, 如果你还没有账号请点击这里 注册