九、封装登录POST请求、登录后POST请求以及GET请求
2024-09-03 19:38:26
一、封装登录后POST请求以及GET请求
/**
* 全局运行时环境参数管理器
*/
public static Map<String, String> BASE_GLOBAL_MAP;
全局运行时环境参数管理器:BASE_GLOBAL_MAP
/**
* 全局测试结果数据收集器
*/
public static JSONArray BASE_URI_COLLECTOR;
全局测试结果数据收集器:BASE_URI_COLLECTOR
/**
* 全局请求处理器
*/
public static UcRESTTemplate BASE_REST;
全局请求处理器:BASE_REST
/**
* 运行时日志文件路径
*/
public static String RUNTIM_FILE_PATH = ""; public static SalesRequestRunTimeVo lendRequest; public static CollectionRequestRunTimeVo collectionRequest;
运行时日志文件路径
import com.uc.qa.utils.encrypt.SJS;
import com.uc.qa.utils.map.TreeMap2MultiValueMap;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
import org.springframework.http.HttpEntity;
import org.springframework.http.HttpHeaders;
import org.springframework.http.ResponseEntity;
import org.springframework.util.MultiValueMap;
import org.testng.Reporter; import java.util.TreeMap; import static com.uc.qa.cases.assistant.BaseParameters.*; public class BaseRunner { final static Logger logger = LoggerFactory.getLogger(BaseParameters.class); /**
* 根据产品服务请求规则处理请求前的UTI
* @param map 原始请求参数
* @return MultiValueMap<String, Object> 处理后的请求报文体
*/
public static TreeMap<String, Object> dealWithUri(TreeMap<String, Object> map){
//secret(根秘钥)已在Login中获取到参数,BASE_GLOBAL_MAP为全局参数收集器
if (BASE_GLOBAL_MAP.get("product").equalsIgnoreCase("当前系统名字") && null != BASE_GLOBAL_MAP.get("secret")){
try {
//SJS在上一篇文章中已说明
map.put("sign", new SJS().getSJSInfo(map, BASE_GLOBAL_MAP.get("secret")));
} catch (Exception e) {
logger.error("当前执行产品【当前系统名字】请求加密过程处理失败");
e.printStackTrace();
}
}
return map;
} /**
* 发送 Rest Template 请求
* @param map 发送Rest请求前的UTI
* @param uri 发送Rest请求的目的接口
* @return ResponseEntity<String>响应报文体
*/
public static ResponseEntity<String> dealWithPost(TreeMap<String, Object> map, String uri) {
TreeMap2MultiValueMap treeMap2MultiValueMap = new TreeMap2MultiValueMap();
MultiValueMap<String, Object> body = treeMap2MultiValueMap.getMultiValueMap(dealWithUri(map));
//BASE_URI_CLLOCTOR为全局测试结果收集器
BASE_URI_COLLECTOR.add(BASE_GLOBAL_MAP.get(uri));
Reporter.log("Request URL is : " + BASE_GLOBAL_MAP.get("server") + BASE_GLOBAL_MAP.get(uri), true);
Reporter.log("Post Request Body is : " + body.toSingleValueMap().toString(), true);
final HttpEntity<?> request = new HttpEntity<>(body);
//server为域名,uri为接口名
ResponseEntity<String> responseEntity = BASE_REST.postEntity(BASE_GLOBAL_MAP.get("server") + BASE_GLOBAL_MAP.get(uri), request);
Reporter.log("Get Response : " + responseEntity.toString(), true);
return responseEntity;
} /**
* 发送 Rest Template Get 请求
* @param map 发送Rest请求前的UTI
* @param uri 发送Rest请求的目的接口
* @return ResponseEntity<String>响应报文体
*/
public static ResponseEntity<String> dealGetWithHeader(TreeMap<String, Object> map, String uri) {
MultiValueMap<String, Object> body = (new TreeMap2MultiValueMap()).getMultiValueMap(map);
BASE_URI_COLLECTOR.add(BASE_GLOBAL_MAP.get(uri));
Reporter.log("Request URL is : " + BASE_GLOBAL_MAP.get("server") + BASE_GLOBAL_MAP.get(uri), true);
Reporter.log("Post Request Body is : " + body.toSingleValueMap().toString(), true); HttpHeaders headers = new HttpHeaders();
headers.set("Authorization", "Bearer " + collectionRequest.getToken());
final HttpEntity<?> request = new HttpEntity<>(body, headers);
ResponseEntity<String> responseEntity = BASE_REST.getEntity(BASE_GLOBAL_MAP.get("server") + BASE_GLOBAL_MAP.get(uri), request, map);
Reporter.log("Get Response : " + responseEntity.toString(), true);
return responseEntity;
} /**
* 发送 Rest Template Post 请求
* @param map 发送Rest请求前的UTI
* @param uri 发送Rest请求的目的接口
* @return ResponseEntity<String>响应报文体
*/
public static ResponseEntity<String> dealPostWithHeader(TreeMap<String, Object> map, String uri) {
TreeMap2MultiValueMap treeMap2MultiValueMap = new TreeMap2MultiValueMap();
MultiValueMap<String, Object> body = treeMap2MultiValueMap.getMultiValueMap(map);
BASE_URI_COLLECTOR.add(BASE_GLOBAL_MAP.get(uri));
Reporter.log("Request URL is : " + BASE_GLOBAL_MAP.get("server") + BASE_GLOBAL_MAP.get(uri), true);
Reporter.log("Post Request Body is : " + body.toSingleValueMap().toString(), true);
HttpHeaders headers = new HttpHeaders();
headers.set("Authorization", "Bearer " + collectionRequest.getToken());
final HttpEntity<?> request = new HttpEntity<>(body, headers);
ResponseEntity<String> responseEntity = BASE_REST.postEntity(BASE_GLOBAL_MAP.get("server") + BASE_GLOBAL_MAP.get(uri), request);
Reporter.log("Get Response : " + responseEntity.toString(), true);
return responseEntity;
} }
最新文章
- MDI窗体容器 权限设置
- 关于vco
- spring框架和junit框架结合使用案例
- java判定字符串中仅有数字和- 正则表达式匹配 *** 最爱那水货
- Future模式
- Kd-tree算法原理
- sgu 495. Kids and Prizes (简单概率dp 正推求期望)
- struts2-2.3.4.1的struts-default.xml源码
- 注意使用 BTREE 复合索引各字段的 ASC/DESC 以优化 order by 查询效率
- Service介绍(MediaPlayer应用)
- 【转】花开正当时,十四款120/128GB SSD横向评测
- python_tornado_session用户验证
- Java开发微服务为什么一定要选spring cloud?
- BZOJ3378:[USACO]MooFest 狂欢节(树状数组)
- HOWTO: 如何利用Avizo或Amira计算孔隙率(Porosity)
- 快速傅立叶变换(FFT)算法
- [转载]localStorage使用总结
- mint18.3 升级linux-libc-dev_4.4.0-102.132 导致外接显示屏无法旋转,设置分辨率
- 【转】关于在linux下清屏的几种技巧
- maven(3)------maven构建web项目详细步骤