• 九、封装登录POST请求、登录后POST请求以及GET请求


    一、封装登录后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; } }
  • 相关阅读:
    张旭升20162329 2006-2007-2 《Java程序设计》第一周学习总结
    预备作业03——20162329张旭升
    预备作业02 : 体会做中学-20162329 张旭升
    预备作业01——20162329
    FPGA的软核与硬核
    网页调用vlc并播放网络视频
    vue视频插件VLC
    vue+vue-video-player实现弹窗播放视频
    【面向对象程序设计】作业三
    【面向对象程序设计】作业二
  • 原文地址:https://www.cnblogs.com/chushujin/p/11389331.html
Copyright © 2020-2023  润新知