接口自动化框架(java)--4.接口Token传递

本文介绍了在接口自动化测试中如何使用Java处理Token的获取。通过JSONPath解析登录接口响应,提取Token,并将其封装为静态方法,方便在测试用例中调用。同时,强调了在不使用testng.xml时,正确设置dependsOnMethods的重要性,以确保Token的有效传递。
摘要由CSDN通过智能技术生成

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

我将获取jsonpath写成一个静态方法放在testUtil里面,将jsonpath路径写在配置文件中,在testcase中使用方法时,只需要传入已返回的请求结果和配置文件中的jsonpath路径即可

package com.qa.tests;


import com.alibaba.fastjson.JSON;
import com.qa.base.TestBase;
import com.qa.Parameters.postParameters;
import com.qa.restclient.RestClient;
import com.qa.util.TestUtil;
import org.apache.http.client.methods.CloseableHttpResponse;
import org.testng.Assert;
import org.testng.Reporter;
import org.testng.annotations.*;
import java.io.IOException;
import java.util.HashMap;
import static com.qa.util.TestUtil.dtt;

public class EFPStagingCN extends TestBase {

  
  • 0
    点赞
  • 18
    收藏
    觉得还不错? 一键收藏
  • 2
    评论
好的,关于JAVA调用接口传递参数和接收JSON数据,可以通过以下步骤来实现: 1.导入相关的依赖包,例如Apache HttpClient、FastJSON等。 2.构造请求参数并转换为JSON格式。可以使用FastJSON将Java对象转换为JSON字符串。 3.创建HttpClient对象,并设置请求方法、请求头、请求体等参数。请求方法为POST,请求头中需要设置Content-Type为application/json。 4.执行请求并获取响应。可以使用HttpClient执行请求,并获取响应。响应中包含了接口返回的JSON数据。 5.解析JSON数据并处理结果。可以使用FastJSON将JSON字符串转换为Java对象,然后根据接口返回的数据进行相应的处理。 以下是示例代码: ```java import java.io.IOException; import java.util.HashMap; import java.util.Map; import org.apache.http.HttpEntity; import org.apache.http.HttpHeaders; import org.apache.http.client.methods.CloseableHttpResponse; import org.apache.http.client.methods.HttpPost; import org.apache.http.entity.StringEntity; import org.apache.http.impl.client.CloseableHttpClient; import org.apache.http.impl.client.HttpClients; import org.apache.http.util.EntityUtils; import com.alibaba.fastjson.JSON; import com.alibaba.fastjson.JSONObject; public class InterfaceTest { public static void main(String[] args) throws IOException { // 构造请求参数 Map<String, Object> params = new HashMap<String, Object>(); params.put("username", "test"); params.put("password", "123456"); String jsonStr = JSON.toJSONString(params); // 创建HttpClient对象 CloseableHttpClient httpClient = HttpClients.createDefault(); HttpPost httpPost = new HttpPost("http://localhost:8080/api/login"); // 设置请求头 httpPost.setHeader(HttpHeaders.CONTENT_TYPE, "application/json"); // 设置请求体 StringEntity stringEntity = new StringEntity(jsonStr, "UTF-8"); httpPost.setEntity(stringEntity); // 执行请求并获取响应 CloseableHttpResponse httpResponse = httpClient.execute(httpPost); HttpEntity httpEntity = httpResponse.getEntity(); String responseStr = EntityUtils.toString(httpEntity, "UTF-8"); // 解析JSON数据并处理结果 JSONObject jsonObject = JSON.parseObject(responseStr); int code = jsonObject.getIntValue("code"); String message = jsonObject.getString("message"); if (code == 0) { // 登录成功 String token = jsonObject.getString("token"); System.out.println("登录成功,Token为:" + token); } else { // 登录失败 System.out.println("登录失败,原因:" + message); } // 关闭HttpClient和响应流 httpResponse.close(); httpClient.close(); } } ``` 注意:以上代码仅供参考,具体实现需要根据接口的具体要求进行调整。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值