自动化测试框架的参数化实现--正则提取及替换

参数化实现设计思路

参考postman环境变量存储及参数化替换方法实现java代码
postman参数化实现思路:
1.使用javaScript代码提取出上一个接口响应值的指定字段值
2.将该值存入环境变量中
3.下一个接口中使用{{XXX}}调用该变量

JAVA代码中参数化实现

  1. 使用res.jsonPath().get(XXX);获取到指定接口的返回值中指定字段值
  2. 将获取到的值赋给环境变量类中定义的变量,以下为环境变量类的定义:
public static Enviroment{
    public static String pwd;
    ...
}
  1. 使用正则表达式提取出下一个接口要调用该变量的位置并将其使用环境变量中的值进行替换,如:
    下一个接口的请求参数为:{“usersName”:“xiaowang”,“pwd”:“{{XXX}}”}
    pwd值需要调用上一个接口返回值中的pwd的值
    因此需将该接口的请求参数中的{{XXX}}进行替换
    正则提取及替换方法为:
public static String regexReplace(String orgStr,String replaceStr){
    //pattern为正则表达式提取器
    Pattern pattern = Pattern.compile("\\{\\{(.*?)}}");
    //matcher 匹配原始字符串,得到匹配对象
    Matcher matcher = pattern.matcher(orgStr);
    String result = "";
    while(matcher.find()){
        //提取出连带正则表达式前后匹配值的字符串
        String outerStr = matcher.group(0);//{{XXX}}
        //提取出不连带正则表达式前后匹配值的字符串
        String innerStr = matcher.group(1);//XXX
        result = result.orgStr.replace(outerStr,replaceStr);
    
    }
    return result;
}
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值