1.接口登录
登录接口往往是最常用的接口,下面介绍这种接口如何使用
1.1 登录接口参数需要加密,登录成功后返回关键属性auth,其他接口均需要请求头中添加此auth才能请求成功。
步骤1.新建线程组,在逻辑控制器中添加用户变量auth。

步骤2.新建csv文件,列名为参数名,列值为请求参数值
步骤3.bin目录下新增目录UserParametersFiles,将csv文件放入目录
步骤4.将加密及解密类打jar包,单独功能类复制
步骤5.bin目录下新增目录UserJavaFiles,如果类文件放入此目录,jar文件放入lib-》ext目录下。
步骤6.测试计划新增用户变量,分别存储、UserParametersFiles、UserJavaFiles、IP、等关键目录地址
步骤7.测试计划新增配置元件-》HTTP信息头管理,增加auth 值为${auth}
步骤8.测试计划新增threads->setup thread group,做功能测试配置线程数据1次循环即可
步骤9.选择线程组->添加配置元件->用户定义的变量 添加一组用户信息
步骤10.在新建的thread group下,新增sampler->http 请求
步骤11.选择http 请求添加-》前置处理器-》用户参数:新增几组请求参数
步骤12.选择线程组,配置元件-》csv data set Config,
文件名:${UserParametersFiles}loginPars.csv
变量名:依次是文件列名
步骤13.定制化http 请求参数读取,步骤9 、11、12都是可以进行http请求参数化的,其中9适合单用户功能,11 12 适合多用户参数化性能测试
配置请求地址,配置读取相应的参数。在用户定义的变量中定义一个配置变量

在登录http请求前,创建前置处理器 bealshell 。获取配置参数
//引入类文件 同原java文件的import
import com.fujiaxi.des.*;
//进行加密操作根据索要读取的的数据源
//读取用户配置
String config=vars.get("ParDataFrom");
//log.info("登录用户-config值为:"+config);
//UserID_Cvs UserID_Define UserID_Samper
String userJiami="";
String passwordJiami="";
if(config.equals("1"))
{
// log.info("登录用户-读取用户自定义变量");
userJiami=DESUtil.getDesData(vars.get("UserID_Define"), "");
passwordJiami=DESUtil.getDesData(vars.get("Password_Samper"), "");
}
else if(config.equals("2"))
{
// log.info("登录用户-读取cvs文件变量");
userJiami=DESUtil.getDesData(vars.get("UserID_Cvs"), "");
passwordJiami=DESUtil.getDesData(vars.get("Password_Cvs"), "");
}
else if(config.equals("3"))
{
// log.info("登录用户-读取用户参数变量");
userJiami=DESUtil.getDesData(vars.get("UserID_Samper"), "");
passwordJiami=DESUtil.getDesData(vars.get("Password_Samper"), "");
}
else
{
log.info("登录用户-读取用户参数错误,请检查配置");
}
//存储加密后变量
vars.put("userJiam",userJiami);
vars.put("passwordJiami",passwordJiami);
//输出log
//log.info("用户id加密值:"+userJiami+"---密码加密值:"+passwordJiami);
然后添加后置处理器,获取返回的唯一标志 ,并设置属性
import com.zf.zson.ZSON;
import com.zf.zson.result.ZsonResult;
//将获取的auth 加入请求头变量
String getRspone = prev.getResponseDataAsString();
//log.info("登录返回结果:"+getRspone);
//使用zson 获取auth
ZsonResult z= ZSON.parseJson(getRspone);
//vars.put("auth",z.getString("//auth"));
//vars.put("testauth",z.getString("//auth"));
//设置auth属性
props.put("auth",z.getString("//auth"));
log.info("登录-auth:"+props.get("auth"));
在下一个http 请求前更新,auth变量,值为上一步存储的属性
//获取当前auth属性
String myAuth=props.get("auth");
//复制当前auth变量
vars.put("auth",myAuth);
log.info("实施启动-auth:"+vars.get("auth"));
如此便可以使用后续接口了。

浙公网安备 33010602011771号