HttpRunner YML 编写的测试用例中调用 debugtalk.py 里自定义的函数时问题

xuejiangnan · 2022年06月08日 · 最后由 xuejiangnan 回复于 2022年06月11日 · 5395 次阅读

我在 YML 编写的测试用例中调用 debugtalk.py 里自定义的函数, 函数的返回值是一个数字, 当数字比较大的时候, YML 中获得的值是以科学计数法表示的, 这个不利于后面的操作. 有没有配置项什么的可以更改这个设置呢? 应该不是函数的问题, 我在 ipython 里打了一遍那个函数, 返回是正常的, 不会返回科学计数法表示的数字.

共收到 5 条回复 时间 点赞

你可以提供下版本号和具体示例么?我们定位看下

5楼 已删除
debugtalk 回复

你好,我用的hrp version v4.0.0版本。

我们有一个接口,参数是用户的 uid,psw,还有一个随机数,我用${get_random()}调用 debugtalk.py 里写的方法。具体的测试用例如下:

-
    name: ******
    request:
        method: GET
        url: ******
        params:
            dispatcher: $dispatcher
            password: $password
            rand: ${get_random()}
    validate:
        - eq: ["status_code", 200]
        - eq: ["body.error", 0]
    extract:
        totle_user_info: "body.msg"

get_random 方法如下:

def get_random(f=10000000, t=99999999) -> int:
    return int(randint(f, t))

这是 hrp 运行之后测试报告日志里的截图:

感谢反馈,这的确是个 bug,我先登记了,在下个版本中进行修复。
https://github.com/httprunner/httprunner/issues/1352

debugtalk 回复

好的,辛苦辣!
其实 get 请求还好,我在 python 函数里把数字转成字符串就能用了。但是 post 这种带数据类型的请求就不行。

xuejiangnan 关闭了讨论 06月11日 18:30
需要 登录 后方可回复, 如果你还没有账号请点击这里 注册