HttpRunner 搭建了 Httprunner web 开源项目,在 debugtalk 定义的方法 return 了两个参数,不知道怎么接收用于校验或是其他地方,知道的麻烦给下思路,刚用这个没有百度到答案

曦枫落 · 2021年07月25日 · 最后由 lin1990 回复于 2021年10月08日 · 3527 次阅读

就像下面的图片显示的,如果写个方法,返回三个参数,界面上怎么获取啊,好像不支持 python 的下标取值,尝试过.0 说是 [0]、[1] 这种都不行

共收到 8 条回复 时间 点赞

这几天刚搭建起这个接口测试平台,小白一枚😅 ,如果有知道的,可以告知下思路哈

改成返回字典啊

我也遇到过这种场景,给你提供 2 个思路吧,一个是我最开始用的蠢办法:你这 return 的是 3 个参数,那你就写 3 个方法,分别 return 这 3 个结果。第二个办法是我找大佬问的:你在这个函数里定义一个入参 args,然后根据这个入参返回相应的 res_token,res_messge。

ZOO 回复

试过不行😅 ,不支持

我去催饭 回复

第一种方式想到过,不是很好,重复代码多,第二种在没有更好的方法前相对好点😅 ,还想问下,如果是返回值是需要解密这种,不是直接取值的那种,如何设置变量传到下一个请求中,或是设置成全局变量,好像没有地方设置。

嗯,想想为什么这些先行者们最终不愿意维护这样的平台了😂

曦枫落 回复

返回值解密,也可以写在你这个 debugtalk 方法里啊,在一次测试执行中,这些变量都可以通过 extract() 或者是 runcase export()这样的方式导出变量,直接用的,不明白你的问题点在哪里

def get_now_time(t):
modifyEndTime = int(round(time.time()))
modifyStartTime = int(round(time.time())) - 19423541
modifyAfterTime = int(round(time.time())) + 19423541
if t == 1:
return modifyEndTime
if t == 2:
return modifyStartTime
if t == 3:
return modifyAfterTime
我是用方法传参这样的方式实现的。。你可以参考下

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