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"));

  如此便可以使用后续接口了。

 

 

版权声明:本文为jurryfu原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。
本文链接:https://www.cnblogs.com/jurryfu/articles/7814583.html