1 java + testNG测试框架搭建–HTTP层接口应用
package com.iflytek.TestCase.domesticAPP.domesticAPPV121;
import com.alibaba.fastjson.JSON;
import com.alibaba.fastjson.JSONObject;
import com.iflytek.zx.test.smart.annotation.AEnv;
import com.iflytek.zx.test.smart.service.web.AbstractHttpTests;
import org.springframework.http.HttpEntity;
import org.springframework.http.HttpHeaders;
import org.springframework.util.LinkedMultiValueMap;
import org.springframework.util.MultiValueMap;
import org.springframework.web.client.RestTemplate;
import org.testng.Assert;
import org.testng.annotations.BeforeClass;
import org.testng.annotations.Test;
import java.util.HashMap;
import java.util.Map;
import com.iflytek.Common.*;
import static com.iflytek.Common.Const.*;
@AEnv(dataDiffEnv = false)
public class getReadBookTypeListTest extends AbstractHttpTests {
private LoginGetToken loginGetToken = new LoginGetToken();
public String LoginToken=null;
@BeforeClass
public void init() {
LoginToken = loginGetToken.LoginGetTokenTest(domesticAPP_appId_Online, "domestic_student");
}
@Test()
public void getReadBookTypeList() {
RestTemplate restTemplate = new RestTemplate();
String url ="https://xxxxxx/xx/xxx/readBook/getReadBookTypeList";
HttpHeaders headers = new HttpHeaders();
headers.add("S-Auth-AppId","qqzw_domestic_app_services_prod");
headers.add("S-Auth-GroupId","62043c66e14c4b8b9a42c6c19c40fadd");
headers.add("S-Auth-Signature","JlK2CAhnpqB2oiXn13nKbWWR+SStkQ8O+8MdGI/3Au4=");
headers.add("S-Auth-Nonce","e94b4afb-e410-47b8-9e96-6a5a621fcea0");
headers.add("S-Auth-Timestamp","1610593431860");
headers.add("S-Auth-Version","1");
headers.add("S-SDK-Version","1.0.6");
headers.add("S-Auth-Stage","RELEASE");
headers.add("Content-Type","application/x-www-form-urlencoded;charset=UTF-8");
headers.add("Connection","Keep-Alive");
headers.add("User-Agent","ShieldAndroidSDK");
Map map = new HashMap();
map.put("token", LoginToken);
map.put("clientType", "android");
map.put("appCode", "domestic_student");
map.put("role", "0");
MultiValueMap<String, Object> postParameters = new LinkedMultiValueMap();
postParameters.add("params", JSON.toJSONString(map));
HttpEntity<MultiValueMap<String, Object>> request = new HttpEntity<>(postParameters, headers);
JSONObject response = restTemplate.postForObject(url, request, JSONObject.class);
System.out.println(response);
Assert.assertEquals(response.getString("message"), "成功");
Assert.assertEquals(response.getJSONArray("returnValue").size(), 3);
Assert.assertEquals(response.getJSONArray("returnValue").getJSONObject(0).get("name"), "童话绘本");
Assert.assertEquals(response.getJSONArray("returnValue").getJSONObject(1).get("name"), "传统美德故事");
Assert.assertEquals(response.getJSONArray("returnValue").getJSONObject(2).get("name"), "少年中国梦");
}
}