这是接口的请求:
使用后置脚本:
脚本:
import re
line = vars.getObject("list_data") # 获取metersphere响应结果
log.info(line)
patt1=r'currentStatus":"(.*?)"' # 对结果进行正则匹配
pattern = re.compile(patt1)
result1 = pattern.findall(line) # 把匹配的多个结果放到一个数组中
log.info(str(result1))
log.info(str(type(result1)))
patt2=r'id":"(.*?)"'
pattern = re.compile(patt2)
result2 = pattern.findall(line)
log.info(str(result2))
log.info(str(type(result2)))
patt3=r'payCoinName":"(.*?)"'
pattern = re.compile(patt3)
result3 = pattern.findall(line)
log.info(str(result3))
log.info(str(type(result3)))
m = 0
for i in result1:
m += 1
log.info(i)
if i == '2' and result3[m-1] == 'USDT': # 判断id等于2(表示进行中的活动),且付款币种为USDT的
log.info('get_right!')
break
id = result2[m-1] # 由于数组的第一个数的索引为0,所以得减去1
log.info(id)
vars.put("id_name", id) # 把id设置成metersphere的变量,供后面其他的接口调用
下一个接口调用:
控制台输出: