在jmeter中如何一套脚本可以对应不同的环境

以前通过变更脚本的执行环境,只切使用对应的http请求默认值就好,但是最近的需求导致这个方法有点行不通。
原因有如下几点:

  1. 协议访问不一样
    测试环境可能是http,正式环境用了https
  2. 账号不一样
    不同的环境对应的常用测试账号可能是不一样的
  3. 其他如子域名,端口也不一样
    测试环境不同的服务用了不同的IP地址+端口作映射

针对以上几点,努力想了几个方法后,最后终于能实现改一个参数值解决所有问题

首先,我需要将所有需要的东西都填入到全局变量中,效果如下图:

在jmeter中如何一套脚本可以对应不同的环境

接着首先想到的是,if a==xxxx,就用测试环境,a==yyyy,就用线上环境
所以我们要加个if 控制器
在jmeter中如何一套脚本可以对应不同的环境

再然后我们就开始填数据,但是现在我要把这些数据拿来用,相当于是做了一个测试桩。
jmeter中能用来当桩数据的sample就只有java sample跟一个dummy sample
我选择了dummy sample,是因为他填写的时候可见范围更好点
效果如下:
在jmeter中如何一套脚本可以对应不同的环境

因为是将响应值输出,所以接下来我们再把对应的值取过来用就好了,
在jmeter中如何一套脚本可以对应不同的环境

如此我们就可以通过更改全局中的api取值来获得想要得环境了
在jmeter中如何一套脚本可以对应不同的环境
在jmeter中如何一套脚本可以对应不同的环境