一、封装公共参数
1.登录前公共参数
import java.util.TreeMap;
public class RequestCommonParams {
public TreeMap<String, Object> staticParams;
public TreeMap<String, Object> getStaticParams() {
return staticParams;
}
public void setStaticParams(TreeMap<String, Object> staticParams) {
this.staticParams = staticParams;
}
/**
* 移动端公共参数
* @return TreeMap
*/
public RequestCommonParams(){
TreeMap<String, Object> map = new TreeMap<>();
map.put("clientMac", "9e:ee:fb:0f:5b:b8");
map.put("clientDensity", "3.0");
map.put("latitude", "255");
map.put("longitude", "255");
map.put("isJailbroken", "0");
map.put("JailReason", "NO Jail");
map.put("clientVersion", "3.1.0");
map.put("deviceId", "9e:ee:fb:0f:5b:b8");
map.put("platform", "Android"); //Android
map.put("deviceInfo", "{\"deviceModel\":\"MI 5\",\"deviceOs\":\"23_6.0.1\"}");
map.put("network", "wifi");
map.put("screenSize", "1920*1080");
map.put("clientIp", "10.0.3.15");
setStaticParams(map);
}
}
2.登录后所有公共参数封装
import java.util.TreeMap;
import static com.ucredit.qa.cases.assistant.BaseParameters.lendRequest;
public class SalesRequestRunTimeParamsV3 extends SalesRequestCommonParamsV3 {
public TreeMap<String,Object> runTimeParams;
public TreeMap<String, Object> getRunTimeParams() {
return runTimeParams;
}
public void setRunTimeParams(TreeMap<String, Object> runTimeParams) {
this.runTimeParams = runTimeParams;
}
public SalesRequestRunTimeParamsV3() {
//将Token赋值给customer-token
staticParams.put(“customer-token”, lendRequest.getToken());//下面有数据来源
//将sellerId赋值给userId
staticParams.put(“userId”, lendRequest.getSellerId());
staticParams.put(“timestamp”, String.valueOf(System.currentTimeMillis()));
setRunTimeParams(staticParams);
setStaticParams(null);
}
}
二、调用公共参数
1.创建map对象,并添加入参,最后输出
TreeMap<String, Object> map = (new SalesRequestCommonParams()).getStaticParams();
//新增入参
map.put(“username”, “chu01”);
map.put(“password”, 123);
System.out.println("---------------map is-------------"+map);
map输出
2.创建MultiValueMap一键多值引用
TreeMap2MultiValueMap treeMap2MultiValueMap = new TreeMap2MultiValueMap();
MultiValueMap<String, Object> body = treeMap2MultiValueMap.getMultiValueMap(map);
System.out.println("----------body is----------------"+body);
System.out.println("---------------------body.getClass------is------"+body.getClass());
Reporter.log(“Request URL is :”+body.toSingleValueMap().toString(),true);
body输出
body.getClass
Reporter.log
3.将body转化成请求实体
HttpEntity<?> request = new HttpEntity<>(body);
System.out.println("---------------request------is----------------"+request);
System.out.println("---------------request.getClass------is-------"+request.getClass());
request
三、发送请求
/**
* 全局请求处理器
*/
public static UcRESTTemplate BASE_REST;
ResponseEntity responseEntity =BASE_REST.postEntity(域名+接口地址,request);
Reporter.log(“Get Response is:”+responseEntity.toString(),true);
assertNotNull(responseEntity.getBody());
输出
四、返回处理
1.返回响应校验,以及提取
{
“code”:0,
“data”:{
“appAllowed”:true,
“approved”:false,
“createTime”:00000000000000,
“employeeNumber”:“000000000000”,
“enabled”:true,
“errorCode”:0,
“errorMessage”:"",
“groupId”:39,
“groupName”:“地址”,
“head_location”:"",
“id”:“32312343532423432”,
“mail”:“4234234234324234”,
“manager”:false,
“managerName”:“姓名”,
“managerOf”:[
],
"mobile":"19866664321",
"mobx":"232",
"name":"姓名",
"oldGroupId":0,
"positionChange":"",
"postOfficeBox":0,
"role":0,
"secretKey":"HGHHKHKHKHKH6969797979878",
"showManager":true,
"syncTime":1564994711000,
"title":"职位",
"userType":"",
"username":"10057340",
"uuid":"3213123-3213123-312312-313213",
"version":0
},
"mask":"3213123-32132-13-21-312-3-213-21",
"msg":"success",
"timestamp":1566269542
}
复制代码
/**
* 全局运行时环境参数管理器
*/
public static Map<String, String> BASE_GLOBAL_MAP;
Reporter.log(“登录成功!username=”+lendRequest.getUsername(),true);
//取出body部分
String content = responseEntity.getBody();
//将body部分转化成json对象
JSONObject json = JSONObject.parseObject(content);
//比较code是否等于0
assertEquals(0,json.getInteger(“code”).intValue());
assertTrue(“success”.equalsIgnoreCase(json.getString(“msg”)));
//取出data部分,并赋予一个json对象
JSONObject data = json.getJSONObject(“data”);
//取出uuid赋值给Token
lendRequest.setToken(data.getString(“uuid”));
lendRequest.setUsername(data.getString(“employeeNumber”));
lendRequest.setSellerId(data.getString(“id”));
BASE_GLOBAL_MAP.put(“secret”,data.getString(“secretKey”));
2.介绍intValue,parseInt,valueOf
//intValue()是把Integer对象类型变成int的基础数据类型;
//parseInt()是把String 变成int的基础数据类型;
//Valueof()是把给定的String参数转化成Integer对象类型;
public class TestValuesOf {
public static void main(String[] args) {
Integer i =100;
String str ="111";
System.out.println(i.intValue());
System.out.println(Integer.parseInt(str));
System.out.println(Integer.valueOf(str)+" "+Integer.valueOf(str).getClass());
}
}
100
111
111 class java.lang.Integer