1、beanshell中引入第三方jar
1)在jmeter测试计划中导入本地打好的jar
image.png
2)引用jar中的方法
image.png
2、beanshell中生成随机数引用
1)在beanshell中写好生成随机数的方法,然后结合控制台和调试取样器查看值是否取的正确
image.png
2)调试取样器查看是否取到值
image.png
PS:随机数生成的方式也可以用jmeter自带的随机变量,看自己需求
image.png
3、仅一次控制器用法-场景构造多订单数据时,只需要登陆一次
image.png
4、接口中需要构造json数据-场景提交订单接口需要构造100sku
image.png
1)本地构造此格式的sku数据
import com.alibaba.fastjson.JSONArray;
import com.alibaba.fastjson.JSONObject;
import java.io.IOException;
import java.io.BufferedReader;
import java.io.FileReader;
public class orderData {
/**
* 构造100skuList
* @param sku-从csv文件读取100个skuid然后拼接成skuList
* @return
*/
public static JSONObject setSkuList(String sku) {
JSONObject data = new JSONObject();
data.put("skuId", sku);
data.put("count", 1);
data.put("orderUnit", 1);
data.put("unitConversionNum", null);
data.put("type", 0);
return data;
}
public static void main(String[] args) {
String csvFile = "/Users/shifangfang/Desktop/sku.csv";
String line = "";
String cvsSplitBy = ",";
int startLine=0;
int maxLine=100;
JSONArray skuData = new JSONArray();
try (BufferedReader br = new BufferedReader(new FileReader(csvFile))) {
while ((line = br.readLine()) != null ) {
if(startLine<maxLine){
String[] contents = line.split(cvsSplitBy);
skuData.add(setSkuList(contents[0]));
startLine++;
}
}
} catch (IOException e) {
e.printStackTrace();
}
System.out.println(skuData);
}
}