1 常用测试原件
1.1 环境变量
1.1.1 用户参数
用户参数:所设置的变量只要在所属线程组才有效
1.1.2 用户定义的变量
用户定义的变量:所设变量对所有线程组都有效
1.1.3 jmeter.properties 文件中的变量
jmeter.properties 文件中的变量通过函数助手 __P 读取
1.2 如果(if)控制器
Groovy是一种基于JVM(Java虚拟机)的敏捷开发语言,它结合了Python、Ruby和Smalltalk的许多强大的特性,Groovy 代码能够与 Java 代码很好地结合,也能用于扩展现有代码。由于其运行在 JVM 上的特性,Groovy也可以使用其他非Java语言编写的库。
布尔值为 true,进入 If 控制器;
例如: userType 等于 10,则执行 if 控制器下的测试原件
${__groovy("10".equals("${userType}"))}
1.3 While 控制器
While 控制器,布尔值为 true 时进入循环;
While 控制器,布尔值为 false 时不进入循环。
例如:判断 i > 4,则跳出 while 控制器
${__groovy(${i}<=4)}
1.4 循环控制器
1.5 Jmeter 操作数据库
(1)配置 Oracle JDBC Connection Configuration
(2)Jmeter 查询 Oracle 数据库
(3)断言查询结果
if(${SUB_TELCOM_NAME_#} > 0) { // SUB_TELCOM_NAME_# 表示查询出的个数
Failure = false;
} else{
Failure = true;
FailureMessage = "Oracle_installmix 未查询出 SUB_TELCOM_NAME 的值";
}
(4)Jmeter 更新 Oracle 数据库
(5)断言更新结果
String returnData = prev.getResponseDataAsString(); // 获取返回信息
int i = Integer.parseInt(returnData.substring(0,1)); // 提取更新条数
if(i>0){
Failure = false;
} else {
Failure = true;
FailureMessage = "Oracle_KHTX 更新条数为0,调用cif造号失败";
}
2 Http 接口
2.1 HTTP请求默认值
对于接口自动化来说,维护是重点,当有多套测试环境,或者 服务器 IP、端口出现变动,都会影响自动化脚本,此时若不通过 HTTP请求默认值统一管理,维护特别困难,
2.2 Http 请求
由于我司http请求的接口入参都做了加密,通过fiddler抓取加密入参,通过自定义的函数助手__cfbossDecryp解密,处理好入参后,再通过__cfbossEncrypt加密