java 跨session token接口测试

Posted 小强找bug-->修bug-->防bug--》虐

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了java 跨session token接口测试相关的知识,希望对你有一定的参考价值。

这套框架的报告是自己封装的

一般token会在登录接口返回结果中呈现,从代码层面获取token的方式有很多种,我是使用jsonpath这个json路径语言去匹配token所在路径的key值

按 Ctrl+C 复制代码
按 Ctrl+C 复制代码

 

 

没有使用testng.xml的情况下调试testCase,需要设置一下dependsOnMethods,否则token将无法传递给其他test步骤

附上TestUtil.getToken()方法:

复制代码
 1 //获取返回的token ,使用JsonPath获取json路径
 2     public static HashMap<String,String> getToken(CloseableHttpResponse closeableHttpResponse,String jsonPath) throws Exception{
 3         HashMap<String,String> responseToken = new HashMap<String, String>();
 4         String responseString = EntityUtils.toString( closeableHttpResponse.getEntity(),"UTF-8");
 5         ReadContext ctx = JsonPath.parse(responseString);
 6         String Token = ctx.read(jsonPath); //"$.EFPV3AuthenticationResult.Token"
 7         if(null == Token||"".equals(Token)){
 8             new Exception("token不存在");
 9         }
10  
11         responseToken.put("x-ba-token",Token);
12         return responseToken;
13     }
复制代码

这套框架的报告是自己封装的

一般token会在登录接口返回结果中呈现,从代码层面获取token的方式有很多种,我是使用jsonpath这个json路径语言去匹配token所在路径的key值

按 Ctrl+C 复制代码
按 Ctrl+C 复制代码

 

 

没有使用testng.xml的情况下调试testCase,需要设置一下dependsOnMethods,否则token将无法传递给其他test步骤

附上TestUtil.getToken()方法:

复制代码
 1 //获取返回的token ,使用JsonPath获取json路径
 2     public static HashMap<String,String> getToken(CloseableHttpResponse closeableHttpResponse,String jsonPath) throws Exception{
 3         HashMap<String,String> responseToken = new HashMap<String, String>();
 4         String responseString = EntityUtils.toString( closeableHttpResponse.getEntity(),"UTF-8");
 5         ReadContext ctx = JsonPath.parse(responseString);
 6         String Token = ctx.read(jsonPath); //"$.EFPV3AuthenticationResult.Token"
 7         if(null == Token||"".equals(Token)){
 8             new Exception("token不存在");
 9         }
10  
11         responseToken.put("x-ba-token",Token);
12         return responseToken;
13     }
复制代码
 
来源:清风软件测试
 
 
maven地址

<!-- https://mvnrepository.com/artifact/org.elasticsearch.client/elasticsearch-rest-client -->
<dependency>
<groupId>org.elasticsearch.client</groupId>
<artifactId>elasticsearch-rest-client</artifactId>
<version>7.6.1</version>
</dependency>

 

以上是关于java 跨session token接口测试的主要内容,如果未能解决你的问题,请参考以下文章

python接口测试之token&session的处理(十四)

Jmeter跨线程组传递token失败

Java实现token的生成与验证-登录功能

Token ,Cookie和Session的区别

python接口自动化测试二十:函数写接口测试

接口测试工具-Jmeter使用笔记(九:跨线程组传递变量)