05-Httprunner接口自动化第五篇:各种问题解决记录

场景一:只上传文件

场景二:上传文件的同时携带参数

 

二、地址、入参等都没有问题,请求结果返回401怎么办

  1. 检查自己的代码,确保没有问题
  2. 检查接口传参,是否需要传特殊token
  3. 如果都没问题,试试在header中加入【Origin】
  4. 原理:当我们的浏览器发出跨站请求时,服务器会校验当前请求是不是来自被允许的站点。服务器就是通过 Origin 字段的值来进行判断。

三:httprunner3.0 upload方法不支持参数化怎么处理?

问题:在实际操作过程中发现,当在upload方法中不支持参数化,但是有些数据必须通过上个接口的extract才能获取到
解决方案:
可以调用httprunner中的m_encoder方法

config:
    name: "测试流程"
    base_url: ${ENV(BASE_URL)}
    variables:
        username: "test"
teststeps:
    -   name: "步骤1"
        request:
            method: POST
            url: /test/test
            json:
                emplNo: "1"
        setup_hooks:
            - ${headers2($request, $username)}
        validate:
            -   eq: ["status_code", 200]
            -   eq: [json.code, "200"]
            -   eq: [json.message, "ok"]
        extract:
            -   applyId: body.data.id
      
    -   name: "步骤2:上传离职附件"
        variables:
            file: "testdata/leave_apply.png"
            aid: ${to_string($applyId)}
            at: "2"
            m_encoder: ${multipart_encoder(file=$file, applyId=$aid, at=$at)}
        request:
            method: POST
            url: /test/test
            headers:
                Content-Type: "${multipart_content_type($m_encoder)}"
            data: $m_encoder
        setup_hooks:
            - ${headers_upload($request, $username)}
        validate:
            -   eq: ["status_code", 200]
            -   eq: [json.code, "200"]
            -   eq: [json.message, "ok"]

作者:gz_tester
链接:https://www.jianshu.com/p/9a82a04ee2a8

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值