Commit a4c304fc by Li Yongyu

Merge branch 'master' of

https://gitlab.eoffcn.com/ys65701/tiku_APP_APITest.git

Conflicts:
	tiku_App/TestData/DataAll.xls
	tiku_App/TestData/DataAllMr.xls
parents 2c995da5 876aa3fa
...@@ -147,6 +147,7 @@ public class MapUtil { ...@@ -147,6 +147,7 @@ public class MapUtil {
return sb.toString(); return sb.toString();
} }
//讲list中map的值取出来,变成list //讲list中map的值取出来,变成list
public static List<Object> getOthersVerifyCode(List<Map<String, Object>> list) { public static List<Object> getOthersVerifyCode(List<Map<String, Object>> list) {
Map map = new HashMap<String, Object>(); Map map = new HashMap<String, Object>();
......
...@@ -57,11 +57,13 @@ public class getBookshelfLevel extends TK implements API { ...@@ -57,11 +57,13 @@ public class getBookshelfLevel extends TK implements API {
if ((!exam_subtype_id.equals("")) && exam_subtype_id.equals("code")) { if ((!exam_subtype_id.equals("")) && exam_subtype_id.equals("code")) {
exam_subtype_id=L_exam_subtype_id; exam_subtype_id=L_exam_subtype_id;
parameter = parameter.replace("\"exam_subtype_id\":code", "\"exam_subtype_id\":\""+ exam_subtype_id + "\""); // parameter = parameter.replace("\"exam_subtype_id\":code", "\"exam_subtype_id\":\""+ exam_subtype_id + "\"");
parameter = parameter.replace("\"exam_subtype_id\":code", "\"exam_subtype_id\":\""+ 127 + "\"");
} }
if ((!exam_id.equals("")) && exam_id.equals("code")) { if ((!exam_id.equals("")) && exam_id.equals("code")) {
exam_id=L_exam_id; exam_id=L_exam_id;
parameter = parameter.replace("\"exam_id\":code", "\"exam_id\":\""+ exam_id + "\""); // parameter = parameter.replace("\"exam_id\":code", "\"exam_id\":\""+ exam_id + "\"");
parameter = parameter.replace("\"exam_id\":code", "\"exam_id\":\""+ 127 + "\"");
} }
exam_subtype_id = MapUtil.killQuotes(exam_subtype_id, "\""); exam_subtype_id = MapUtil.killQuotes(exam_subtype_id, "\"");
......
...@@ -65,7 +65,7 @@ public class joinMock extends TK implements API { ...@@ -65,7 +65,7 @@ public class joinMock extends TK implements API {
parameter = parameter.replace("\"user_id\":code", "\"user_id\":\""+ user_id + "\""); parameter = parameter.replace("\"user_id\":code", "\"user_id\":\""+ user_id + "\"");
} }
if ((!mock_subject_id.equals("")) && mock_subject_id.equals("code")) { if ((!mock_subject_id.equals("")) && mock_subject_id.equals("code")) {
mock_subject_id="123"; mock_subject_id="43";
parameter = parameter.replace("\"mock_subject_id\":code", "\"mock_subject_id\":\""+ mock_subject_id + "\""); parameter = parameter.replace("\"mock_subject_id\":code", "\"mock_subject_id\":\""+ mock_subject_id + "\"");
} }
if ((!mock_id.equals("")) && mock_id.equals("code")) { if ((!mock_id.equals("")) && mock_id.equals("code")) {
...@@ -73,7 +73,7 @@ public class joinMock extends TK implements API { ...@@ -73,7 +73,7 @@ public class joinMock extends TK implements API {
parameter = parameter.replace("\"mock_id\":code", "\"mock_id\":\""+ mock_id + "\""); parameter = parameter.replace("\"mock_id\":code", "\"mock_id\":\""+ mock_id + "\"");
} }
if ((!mock_sub_id.equals("")) && mock_sub_id.equals("code")) { if ((!mock_sub_id.equals("")) && mock_sub_id.equals("code")) {
mock_sub_id="42"; mock_sub_id="0";
parameter = parameter.replace("\"mock_sub_id\":code", "\"mock_sub_id\":\""+ mock_sub_id + "\""); parameter = parameter.replace("\"mock_sub_id\":code", "\"mock_sub_id\":\""+ mock_sub_id + "\"");
} }
data.put("parameter", parameter); data.put("parameter", parameter);
......
...@@ -73,7 +73,7 @@ public class signUpMock extends TK implements API { ...@@ -73,7 +73,7 @@ public class signUpMock extends TK implements API {
parameter = parameter.replace("\"mock_id\":code", "\"mock_id\":\""+ mock_id + "\""); parameter = parameter.replace("\"mock_id\":code", "\"mock_id\":\""+ mock_id + "\"");
} }
if ((!mock_sub_id.equals("")) && mock_sub_id.equals("code")) { if ((!mock_sub_id.equals("")) && mock_sub_id.equals("code")) {
mock_sub_id="42"; mock_sub_id="43";
parameter = parameter.replace("\"mock_sub_id\":code", "\"mock_sub_id\":\""+ mock_sub_id + "\""); parameter = parameter.replace("\"mock_sub_id\":code", "\"mock_sub_id\":\""+ mock_sub_id + "\"");
} }
data.put("parameter", parameter); data.put("parameter", parameter);
......
package com.offcn.api.tk.app3;
import io.restassured.path.json.JsonPath;
import io.restassured.response.Response;
import java.util.HashMap;
import java.util.List;
import java.util.Map;
import com.offcn.TestUnti.MapUtil;
import com.offcn.TestUnti.RequestDataUtils;
import com.offcn.TestUnti.StringUtils;
import com.offcn.interfaces.API;
import com.offcn.process.TK;
import com.offcn.system.MyRequest;
import com.offcn.TestUnti.ListUtil;
/**
*
* @Description: 10.真题试卷-纯主观题试卷是否可作答校验
* @author: wff
* @date: 2019年6月11日 上午11:26:23
* @version V1.0
*/
public class checkPaperApplyStatus extends TK implements API {
public String parameter;//参数集合
public String paper_id;//试卷id
@Override
public void initialize(HashMap<String, Object> data) {
if (!isProduct && data.get("CleanDB").toString().contains("Y")) {
cleanUser_FromDB();//清除注册用户根据user_id
}
}
@Override
public HashMap<String, Object> handleInput(HashMap<String, Object> data) {
// 获取parameter对应的内容
parameter = MapUtil.getValue("parameter", data);
paper_id = MapUtil.getParameter(parameter, "paper_id").trim();
if ((!paper_id.equals("")) && paper_id.equals("code")) {
paper_id = paper_id_L;
parameter = parameter.replace("\"paper_id\":code", "\"paper_id\":\""+ paper_id + "\"");
}
data.put("parameter", parameter);
return data;
}
@Override
public Response SendRequest(HashMap<String, Object> data, String Url,
String Request) {
Map<String, String> headers=new HashMap<String, String>();
headers.put("Authorization", tk_token);
Map<String, String> jsonAsMap=new HashMap<String, String>();
parameter = MapUtil.getValue("parameter", data);
String tikuString= MapUtil.getParameter(parameter, "appid").trim();
tikuString = MapUtil.killQuotes(tikuString, "\"");
jsonAsMap.put("paper_id", paper_id);
jsonAsMap.put("appid", tikuString);
MyRequest myRequest=new MyRequest();
myRequest.setUrl(Url);
myRequest.setHeaders(headers);
myRequest.setFormParameter(jsonAsMap);
myRequest.setRequest(Request);
Response re = RequestDataUtils.RestAssuredApi(data, myRequest);
return re;
}
@Override
public String handleOutput(Response re, HashMap<String, Object> data) {
JsonPath jp = re.body().jsonPath();
boolean result = true;
String failReason = "";
String json = StringUtils.decodeUnicode(re.asString());
if ((data.get("statusCode") != null)
&& (!data.get("statusCode").toString()
.equals(String.valueOf(re.getStatusCode())))) {
result = result && false;
failReason = failReason + "statusCode is expected "
+ data.get("statusCode").toString() + " but actually "
+ String.valueOf(re.getStatusCode()) + ". ";
}
if (json.length() != 0) {
String msg=jp.getString("message");
String code=jp.getString("retcode");
if ((data.get("code") != null ) && (code != null) && (!code.equals(data.get("code").toString()))) {
result = result && false;
failReason = failReason + "code is expected "
+ data.get("code").toString() + " but actually "
+ jp.getString("code") + ".";
}
if ((data.get("msg") != null) && (msg != null) && (!msg.equals(data.get("msg").toString()))) {
result = result && false;
failReason = failReason + "msg is expected "
+ data.get("msg").toString() + " but actually "
+ jp.getString("msg") + ".";
}
if(data.get("custom") != null && json!=null){
//如果自定义结果包含多个希望结果,也就是有逗号,那么就切割,包含比较。
if(data.get("custom").toString().contains(",")){
String [] strCustomStrings=data.get("custom").toString().split(",");
for(int i=0;i<strCustomStrings.length;i++){
if(!json.contains(strCustomStrings[i])){
result = result && false;
failReason = failReason + "custom is expected "
+ data.get("custom").toString() + " but actually "
+ strCustomStrings[i] + ".";
break;
}
}
}else{//如果只有一个希望结果,就直接包含比较。
if(!json.contains(data.get("custom").toString())){
result = result && false;
failReason = failReason + "custom is expected "
+ data.get("custom").toString() + " but actually "
+ data.get("custom").toString() + ".";
}
}
}
if("接口响应成功!".equals(msg)){
List<String> list=jp.getList("data.children.children");
System.out.println(list);
if (list!=null && list.size()>0 && list.get(0)!=null) {
for(int i=0;i<list.size();i++){
String shelfIds =jp.getString("data.children.children[0].shelf_id");
String[] shelfId = shelfIds.split(",");
for (String string : shelfId) {
L_shelf_id = string.replace("[", "").replace("]", "").trim();
// System.out.println(string.replace("[", "").replace("]", ""));
}
}
//
}
conn=ConnectionsMap.get("tk");
}
}
if (result)
return "Pass";
else
return "Fail:" + failReason;
}
}
package com.offcn.api.tk.app3;
import io.restassured.path.json.JsonPath;
import io.restassured.response.Response;
import java.util.HashMap;
import java.util.Map;
import com.offcn.TestUnti.MapUtil;
import com.offcn.TestUnti.RequestDataUtils;
import com.offcn.TestUnti.StringUtils;
import com.offcn.interfaces.API;
import com.offcn.process.TK;
import com.offcn.system.MyRequest;
import com.offcn.TestUnti.ListUtil;
/**
*
* @Description: 27.App推送-校验考试上下架状态和练习册上下架状
* @author: wff
* @date: 2019年6月20日 下午6:59:16
* @version V1.0
*/
public class checkPushExam extends TK implements API {
public String parameter;//参数集合
public String exam_ids;//需要校验的考试id,请按照一定的顺序,逗号隔开传参
public String practice_id;//需要校验的练习册id,不需校验练习册请不要传此参数
@Override
public void initialize(HashMap<String, Object> data) {
if (!isProduct && data.get("CleanDB").toString().contains("Y")) {
cleanUser_FromDB();//清除注册用户根据user_id
}
}
@Override
public HashMap<String, Object> handleInput(HashMap<String, Object> data) {
// 获取parameter对应的内容
parameter = MapUtil.getValue("parameter", data);
exam_ids = MapUtil.getParameter(parameter, "exam_ids").trim();
practice_id = MapUtil.getParameter(parameter, "practice_id").trim();
if ((!exam_ids.equals("")) && exam_ids.equals("code")) {
// record_id = record_id_L;
exam_ids = L_exam_id;
parameter = parameter.replace("\"exam_ids\":code", "\"exam_ids\":\""+ exam_ids + "\"");
}
if ((!practice_id.equals("")) && practice_id.equals("code")) {
practice_id = "597";
parameter = parameter.replace("\"practice_id\":code", "\"practice_id\":\""+ practice_id + "\"");
}
data.put("parameter", parameter);
return data;
}
@Override
public Response SendRequest(HashMap<String, Object> data, String Url,
String Request) {
Map<String, String> headers=new HashMap<String, String>();
headers.put("Authorization", tk_token);
Map<String, String> jsonAsMap=new HashMap<String, String>();
parameter = MapUtil.getValue("parameter", data);
String tikuString= MapUtil.getParameter(parameter, "appid").trim();
tikuString = MapUtil.killQuotes(tikuString, "\"");
jsonAsMap.put("exam_ids", exam_ids);
jsonAsMap.put("practice_id", practice_id);
jsonAsMap.put("appid", tikuString);
MyRequest myRequest=new MyRequest();
myRequest.setHeaders(headers);
myRequest.setRequest(Request);
myRequest.setFormParameter(jsonAsMap);
myRequest.setUrl(Url);
Response re = RequestDataUtils.RestAssuredApi(data,myRequest);
return re;
}
@Override
public String handleOutput(Response re, HashMap<String, Object> data) {
JsonPath jp = re.body().jsonPath();
boolean result = true;
String failReason = "";
String json = StringUtils.decodeUnicode(re.asString());
if ((data.get("statusCode") != null)
&& (!data.get("statusCode").toString()
.equals(String.valueOf(re.getStatusCode())))) {
result = result && false;
failReason = failReason + "statusCode is expected "
+ data.get("statusCode").toString() + " but actually "
+ String.valueOf(re.getStatusCode()) + ". ";
}
if (json.length() != 0) {
String msg=jp.getString("message");
String code=jp.getString("retcode");
if ((data.get("code") != null ) && (code != null) && (!code.equals(data.get("code").toString()))) {
result = result && false;
failReason = failReason + "code is expected "
+ data.get("code").toString() + " but actually "
+ jp.getString("retcode") + ".";
}
if ((data.get("msg") != null) && (msg != null) && (!msg.equals(data.get("msg").toString()))) {
result = result && false;
failReason = failReason + "msg is expected "
+ data.get("msg").toString() + " but actually "
+ jp.getString("retcode") + ".";
}
if(data.get("custom") != null && json!=null){
//如果自定义结果包含多个希望结果,也就是有逗号,那么就切割,包含比较。
if(data.get("custom").toString().contains(",")){
String [] strCustomStrings=data.get("custom").toString().split(",");
for(int i=0;i<strCustomStrings.length;i++){
if(!json.contains(strCustomStrings[i])){
result = result && false;
failReason = failReason + "custom is expected "
+ data.get("custom").toString() + " but actually "
+ strCustomStrings[i] + ".";
break;
}
}
}else{//如果只有一个希望结果,就直接包含比较。
if(!json.contains(data.get("custom").toString())){
result = result && false;
failReason = failReason + "custom is expected "
+ data.get("custom").toString() + " but actually "
+ data.get("custom").toString() + ".";
}
}
}
if("0".equals(code)){
}
}
if (result)
return "Pass";
else
return "Fail:" + failReason;
}
}
package com.offcn.api.tk.app3;
import io.restassured.path.json.JsonPath;
import io.restassured.response.Response;
import java.sql.ResultSet;
import java.sql.SQLException;
import java.sql.Statement;
import java.text.SimpleDateFormat;
import java.util.Date;
import java.util.HashMap;
import java.util.List;
import java.util.Map;
import java.util.Random;
import org.json.simple.JSONArray;
import com.offcn.TestUnti.Log;
import com.offcn.TestUnti.MapUtil;
import com.offcn.TestUnti.MySqlUtil;
import com.offcn.TestUnti.RequestDataUtils;
import com.offcn.TestUnti.StringUtils;
import com.offcn.TestUnti.VerificationMethod;
import com.offcn.interfaces.API;
import com.offcn.process.TK;
import com.offcn.system.MyRequest;
import com.offcn.TestUnti.ListUtil;
import net.sf.json.JSONObject;
/**
*
* @Description: 30. app校验签名接口)
* @author: wff
* @date: 2019年6月11日 上午11:27:28
* @version V1.0
*/
public class checkToken extends TK implements API {
public String parameter;//参数集合
@Override
public void initialize(HashMap<String, Object> data) {
if (!isProduct && data.get("CleanDB").toString().contains("Y")) {
cleanUser_FromDB();//清除注册用户根据user_id
}
}
@Override
public HashMap<String, Object> handleInput(HashMap<String, Object> data) {
// 获取parameter对应的内容
parameter = MapUtil.getValue("parameter", data);
// exam_id = MapUtil.getParameter(parameter, "exam_id").trim();
//
// if ((!exam_id.equals("")) && exam_id.equals("code")) {
// exam_id=L_exam_id;
// parameter = parameter.replace("\"exam_id\":code", "\"exam_id\":\""+ exam_id + "\"");
// }
data.put("parameter", parameter);
return data;
}
@Override
public Response SendRequest(HashMap<String, Object> data, String Url,
String Request) {
Map<String, String> headers=new HashMap<String, String>();
headers.put("Authorization", tk_token);
Map<String, String> jsonAsMap=new HashMap<String, String>();
parameter = MapUtil.getValue("parameter", data);
String tikuString= MapUtil.getParameter(parameter, "appid").trim();
tikuString = MapUtil.killQuotes(tikuString, "\"");
jsonAsMap.put("appid", tikuString);
MyRequest myRequest=new MyRequest();
myRequest.setUrl(Url);
myRequest.setHeaders(headers);
myRequest.setFormParameter(jsonAsMap);
myRequest.setRequest(Request);
Response re = RequestDataUtils.RestAssuredApi(data, myRequest);
return re;
}
@Override
public String handleOutput(Response re, HashMap<String, Object> data) {
JsonPath jp = re.body().jsonPath();
boolean result = true;
String failReason = "";
String json = StringUtils.decodeUnicode(re.asString());
if ((data.get("statusCode") != null)
&& (!data.get("statusCode").toString()
.equals(String.valueOf(re.getStatusCode())))) {
result = result && false;
failReason = failReason + "statusCode is expected "
+ data.get("statusCode").toString() + " but actually "
+ String.valueOf(re.getStatusCode()) + ". ";
}
if (json.length() != 0) {
String msg=jp.getString("message");
String code=jp.getString("retcode");
if ((data.get("code") != null ) && (code != null) && (!code.equals(data.get("code").toString()))) {
result = result && false;
failReason = failReason + "code is expected "
+ data.get("code").toString() + " but actually "
+ jp.getString("code") + ".";
}
if ((data.get("msg") != null) && (msg != null) && (!msg.equals(data.get("msg").toString()))) {
result = result && false;
failReason = failReason + "msg is expected "
+ data.get("msg").toString() + " but actually "
+ jp.getString("msg") + ".";
}
if(data.get("custom") != null && json!=null){
//如果自定义结果包含多个希望结果,也就是有逗号,那么就切割,包含比较。
if(data.get("custom").toString().contains(",")){
String [] strCustomStrings=data.get("custom").toString().split(",");
for(int i=0;i<strCustomStrings.length;i++){
if(!json.contains(strCustomStrings[i])){
result = result && false;
failReason = failReason + "custom is expected "
+ data.get("custom").toString() + " but actually "
+ strCustomStrings[i] + ".";
break;
}
}
}else{//如果只有一个希望结果,就直接包含比较。
if(!json.contains(data.get("custom").toString())){
result = result && false;
failReason = failReason + "custom is expected "
+ data.get("custom").toString() + " but actually "
+ data.get("custom").toString() + ".";
}
}
}
if("接口响应成功!".equals(msg)){
List<String> list=jp.getList("data.children.children");
System.out.println(list);
if (list!=null && list.size()>0 && list.get(0)!=null) {
for(int i=0;i<list.size();i++){
String shelfIds =jp.getString("data.children.children[0].shelf_id");
String[] shelfId = shelfIds.split(",");
for (String string : shelfId) {
L_shelf_id = string.replace("[", "").replace("]", "").trim();
// System.out.println(string.replace("[", "").replace("]", ""));
}
}
//
}
conn=ConnectionsMap.get("tk");
}
}
if (result)
return "Pass";
else
return "Fail:" + failReason;
}
}
package com.offcn.api.tk.app3;
import io.restassured.path.json.JsonPath;
import io.restassured.response.Response;
import java.sql.ResultSet;
import java.sql.SQLException;
import java.sql.Statement;
import java.text.SimpleDateFormat;
import java.util.Date;
import java.util.HashMap;
import java.util.List;
import java.util.Map;
import java.util.Random;
import org.json.simple.JSONArray;
import com.offcn.TestUnti.Log;
import com.offcn.TestUnti.MapUtil;
import com.offcn.TestUnti.MySqlUtil;
import com.offcn.TestUnti.RequestDataUtils;
import com.offcn.TestUnti.StringUtils;
import com.offcn.TestUnti.VerificationMethod;
import com.offcn.interfaces.API;
import com.offcn.process.TK;
import com.offcn.system.MyRequest;
import com.offcn.TestUnti.ListUtil;
import net.sf.json.JSONObject;
/**
* 23. 练习册提交做题记录(v1 . 42)
*
*/
public class doExercise extends TK implements API {
public String parameter;//参数集合
public String datas;//练习册id
public String appid;//标识
@Override
public void initialize(HashMap<String, Object> data) {
if (!isProduct && data.get("CleanDB").toString().contains("Y")) {
cleanUser_FromDB();//清除注册用户根据user_id
}
}
@Override
public HashMap<String, Object> handleInput(HashMap<String, Object> data) {
// 获取parameter对应的内容
parameter = MapUtil.getValue("parameter", data);
datas = MapUtil.getParameter(parameter, "data");
datas = MapUtil.getParameter(parameter, "data");
// appid = MapUtil.getParameter_get(parameter, "appid").trim();
if ((!datas.equals("")) && datas.equals("code")) {
datas = "{\\\"record_id\\\":\\\"5308\\\",\\\"orgin_id\\\":\\\"62\\\",\\\"user_id\\\":\\\"16\\\",\\\"exam_id\\\":\\\"71\\\",\\\"behaviour\\\":1,\\\"questions\\\":[{\\\"question_number\\\":\\\"1\\\",\\\"subject_2\\\":\\\"词语辨析\\\",\\\"user_answer\\\":\\\"461685\\\",\\\"is_hf\\\":\\\"0\\\",\\\"duration\\\":\\\"02\\\",\\\"question_id\\\":\\\"7772\\\",\\\"type\\\":\\\"1\\\",\\\"is_signed\\\":\\\"0\\\",\\\"subject_1\\\":\\\"逻辑填空\\\",\\\"subject_3\\\": \\\"\\\"}]}";
parameter = parameter.replace("\"data\":code", "\"data\":\""+ datas + "\"");
}
data.put("parameter", parameter);
return data;
}
@Override
public Response SendRequest(HashMap<String, Object> data, String Url,
String Request) {
Map<String, String> headers=new HashMap<String, String>();
headers.put("Authorization", tk_token);
Map<String, String> jsonAsMap=new HashMap<String, String>();
parameter = MapUtil.getValue("parameter", data);
String tikuString= MapUtil.getParameter(parameter, "appid").trim();
tikuString = MapUtil.killQuotes(tikuString, "\"");
jsonAsMap.put("data", datas);
jsonAsMap.put("appid", tikuString);
MyRequest myRequest=new MyRequest();
myRequest.setUrl(Url);
myRequest.setHeaders(headers);
myRequest.setFormParameter(jsonAsMap);
myRequest.setRequest(Request);
// Response re = RequestDataUtils.RestAssuredApi(data, myRequest);
Response re = RequestDataUtils.Post_token(data, Url, tk_token);
return re;
}
@Override
public String handleOutput(Response re, HashMap<String, Object> data) {
JsonPath jp = re.body().jsonPath();
boolean result = true;
String failReason = "";
String json = StringUtils.decodeUnicode(re.asString());
if ((data.get("statusCode") != null)
&& (!data.get("statusCode").toString()
.equals(String.valueOf(re.getStatusCode())))) {
result = result && false;
failReason = failReason + "statusCode is expected "
+ data.get("statusCode").toString() + " but actually "
+ String.valueOf(re.getStatusCode()) + ". ";
}
if (json.length() != 0) {
String msg=jp.getString("message");
String code=jp.getString("retcode");
if ((data.get("code") != null ) && (code != null) && (!code.equals(data.get("code").toString()))) {
result = result && false;
// if(shelf_id =="" && shelf_id.equals("")){
// failReason = "10001";
// }
failReason = failReason + "code is expected "
+ data.get("code").toString() + " but actually "
+ jp.getString("code") + ".";
}
if ((data.get("msg") != null) && (msg != null) && (!msg.equals(data.get("msg").toString()))) {
result = result && false;
// if(shelf_id =="" && shelf_id.equals("")){
// failReason = "参数接收失败!";
// }
failReason = failReason + "msg is expected "
+ data.get("msg").toString() + " but actually "
+ jp.getString("msg") + ".";
}
if(data.get("custom") != null && json!=null){
//如果自定义结果包含多个希望结果,也就是有逗号,那么就切割,包含比较。
if(data.get("custom").toString().contains(",")){
String [] strCustomStrings=data.get("custom").toString().split(",");
for(int i=0;i<strCustomStrings.length;i++){
if(!json.contains(strCustomStrings[i])){
result = result && false;
failReason = failReason + "custom is expected "
+ data.get("custom").toString() + " but actually "
+ strCustomStrings[i] + ".";
break;
}
}
}else{//如果只有一个希望结果,就直接包含比较。
if(!json.contains(data.get("custom").toString())){
result = result && false;
failReason = failReason + "custom is expected "
+ data.get("custom").toString() + " but actually "
+ data.get("custom").toString() + ".";
}
}
}
if("接口响应成功!".equals(msg)){
conn=ConnectionsMap.get("tk");
}
}
if (result)
return "Pass";
else
return "Fail:" + failReason;
}
}
package com.offcn.api.tk.app3;
import io.restassured.path.json.JsonPath;
import io.restassured.response.Response;
import java.util.HashMap;
import java.util.Map;
import com.offcn.TestUnti.MapUtil;
import com.offcn.TestUnti.RequestDataUtils;
import com.offcn.TestUnti.StringUtils;
import com.offcn.interfaces.API;
import com.offcn.process.TK;
import com.offcn.system.MyRequest;
import com.offcn.TestUnti.ListUtil;
/**
*
* @Description: 20.模考大赛-主观题试卷更新用户完成作答状态
* @author: wff
* @date: 2019年6月20日 下午2:57:02
* @version V1.0
*/
public class finishResponse extends TK implements API {
public String parameter;//参数集合
public String record_id;//record_sub_id
public String user_id;//用户id
public String mock_subject_id;//当前考试科目的id
@Override
public void initialize(HashMap<String, Object> data) {
if (!isProduct && data.get("CleanDB").toString().contains("Y")) {
cleanUser_FromDB();//清除注册用户根据user_id
}
}
@Override
public HashMap<String, Object> handleInput(HashMap<String, Object> data) {
// 获取parameter对应的内容
parameter = MapUtil.getValue("parameter", data);
record_id = MapUtil.getParameter(parameter, "record_id").trim();
user_id = MapUtil.getParameter(parameter, "user_id").trim();
mock_subject_id = MapUtil.getParameter(parameter, "mock_subject_id").trim();
if ((!record_id.equals("")) && record_id.equals("code")) {
// record_id = record_id_L;
record_id = "1";
parameter = parameter.replace("\"record_id\":code", "\"record_id\":\""+ record_id + "\"");
}
if ((!user_id.equals("")) && user_id.equals("code")) {
user_id = ListUtil.getListValue(user_idList,0);
parameter = parameter.replace("\"user_id\":code", "\"user_id\":\""+ user_id + "\"");
}
if ((!mock_subject_id.equals("")) && mock_subject_id.equals("code")) {
mock_subject_id = "43";
parameter = parameter.replace("\"mock_subject_id\":code", "\"mock_subject_id\":\""+ mock_subject_id + "\"");
}
data.put("parameter", parameter);
return data;
}
@Override
public Response SendRequest(HashMap<String, Object> data, String Url,
String Request) {
Map<String, String> headers=new HashMap<String, String>();
headers.put("Authorization", tk_token);
Map<String, String> jsonAsMap=new HashMap<String, String>();
parameter = MapUtil.getValue("parameter", data);
String tikuString= MapUtil.getParameter(parameter, "appid").trim();
tikuString = MapUtil.killQuotes(tikuString, "\"");
jsonAsMap.put("record_id", record_id);
jsonAsMap.put("user_id", user_id);
jsonAsMap.put("mock_subject_id", mock_subject_id);
jsonAsMap.put("appid", tikuString);
MyRequest myRequest=new MyRequest();
myRequest.setHeaders(headers);
myRequest.setRequest(Request);
myRequest.setFormParameter(jsonAsMap);
myRequest.setUrl(Url);
Response re = RequestDataUtils.RestAssuredApi(data,myRequest);
return re;
}
@Override
public String handleOutput(Response re, HashMap<String, Object> data) {
JsonPath jp = re.body().jsonPath();
boolean result = true;
String failReason = "";
String json = StringUtils.decodeUnicode(re.asString());
if ((data.get("statusCode") != null)
&& (!data.get("statusCode").toString()
.equals(String.valueOf(re.getStatusCode())))) {
result = result && false;
failReason = failReason + "statusCode is expected "
+ data.get("statusCode").toString() + " but actually "
+ String.valueOf(re.getStatusCode()) + ". ";
}
if (json.length() != 0) {
String msg=jp.getString("message");
String code=jp.getString("retcode");
if ((data.get("code") != null ) && (code != null) && (!code.equals(data.get("code").toString()))) {
result = result && false;
failReason = failReason + "code is expected "
+ data.get("code").toString() + " but actually "
+ jp.getString("retcode") + ".";
}
if ((data.get("msg") != null) && (msg != null) && (!msg.equals(data.get("msg").toString()))) {
result = result && false;
failReason = failReason + "msg is expected "
+ data.get("msg").toString() + " but actually "
+ jp.getString("retcode") + ".";
}
if(data.get("custom") != null && json!=null){
//如果自定义结果包含多个希望结果,也就是有逗号,那么就切割,包含比较。
if(data.get("custom").toString().contains(",")){
String [] strCustomStrings=data.get("custom").toString().split(",");
for(int i=0;i<strCustomStrings.length;i++){
if(!json.contains(strCustomStrings[i])){
result = result && false;
failReason = failReason + "custom is expected "
+ data.get("custom").toString() + " but actually "
+ strCustomStrings[i] + ".";
break;
}
}
}else{//如果只有一个希望结果,就直接包含比较。
if(!json.contains(data.get("custom").toString())){
result = result && false;
failReason = failReason + "custom is expected "
+ data.get("custom").toString() + " but actually "
+ data.get("custom").toString() + ".";
}
}
}
if("0".equals(code)){
}
}
if (result)
return "Pass";
else
return "Fail:" + failReason;
}
}
...@@ -146,10 +146,16 @@ public class getBookshelfInfo extends TK implements API { ...@@ -146,10 +146,16 @@ public class getBookshelfInfo extends TK implements API {
} }
if("接口响应成功!".equals(msg)){ if("接口响应成功!".equals(msg)){
List<String> list=jp.getList("data"); List<String> list=jp.getList("data.children.children");
System.out.println(list);
if (list!=null && list.size()>0 && list.get(0)!=null) { if (list!=null && list.size()>0 && list.get(0)!=null) {
for(int i=0;i<list.size();i++){ for(int i=0;i<list.size();i++){
L_shelf_id=jp.getString("data["+i+"].shelf_id"); String shelfIds =jp.getString("data.children.children[0].shelf_id");
String[] shelfId = shelfIds.split(",");
for (String string : shelfId) {
L_shelf_id = string.replace("[", "").replace("]", "").trim();
// System.out.println(string.replace("[", "").replace("]", ""));
}
} }
// //
} }
......
package com.offcn.api.tk.app3;
import io.restassured.path.json.JsonPath;
import io.restassured.response.Response;
import java.sql.ResultSet;
import java.sql.SQLException;
import java.sql.Statement;
import java.text.SimpleDateFormat;
import java.util.Date;
import java.util.HashMap;
import java.util.List;
import java.util.Map;
import java.util.Random;
import org.json.simple.JSONArray;
import com.offcn.TestUnti.Log;
import com.offcn.TestUnti.MapUtil;
import com.offcn.TestUnti.MySqlUtil;
import com.offcn.TestUnti.RequestDataUtils;
import com.offcn.TestUnti.StringUtils;
import com.offcn.TestUnti.VerificationMethod;
import com.offcn.interfaces.API;
import com.offcn.process.TK;
import com.offcn.system.MyRequest;
import com.offcn.TestUnti.ListUtil;
import net.sf.json.JSONObject;
/**
* 24. NWN获取学习包内练习册及试卷使用情况
*
*/
public class getClassPracticeStatistics extends TK implements API {
public String parameter;//参数集合
public String user_phone;//用户手机号
public String practice_id;//练习册id
public String paper_id;//试卷的id
//public String appid;//标识
@Override
public void initialize(HashMap<String, Object> data) {
if (!isProduct && data.get("CleanDB").toString().contains("Y")) {
cleanUser_FromDB();//清除注册用户根据user_id
}
}
@Override
public HashMap<String, Object> handleInput(HashMap<String, Object> data) {
// 获取parameter对应的内容
parameter = MapUtil.getValue("parameter", data);
practice_id = MapUtil.getParameter(parameter, "practice_id").trim();
user_phone = MapUtil.getParameter(parameter, "user_phone").trim();
paper_id = MapUtil.getParameter(parameter, "paper_id").trim();
if ((!user_phone.equals("")) && user_phone.equals("code")) {
user_phone="13200000069";
parameter = parameter.replace("\"user_phone\":code", "\"user_phone\":\""+ user_phone + "\"");
}
if ((!practice_id.equals("")) && practice_id.equals("code")) {
practice_id="597";
parameter = parameter.replace("\"practice_id\":code", "\"practice_id\":\""+ practice_id + "\"");
}
data.put("parameter", parameter);
return data;
}
@Override
public Response SendRequest(HashMap<String, Object> data, String Url,
String Request) {
Map<String, String> headers=new HashMap<String, String>();
headers.put("Authorization", tk_token);
Map<String, String> jsonAsMap=new HashMap<String, String>();
parameter = MapUtil.getValue("parameter", data);
String tikuString= MapUtil.getParameter(parameter, "appid").trim();
tikuString = MapUtil.killQuotes(tikuString, "\"");
jsonAsMap.put("user_phone", user_phone);
jsonAsMap.put("practice_id", practice_id);
jsonAsMap.put("paper_id", paper_id);
jsonAsMap.put("appid", tikuString);
MyRequest myRequest=new MyRequest();
myRequest.setUrl(Url);
myRequest.setHeaders(headers);
myRequest.setFormParameter(jsonAsMap);
myRequest.setRequest(Request);
Response re = RequestDataUtils.RestAssuredApi(data, myRequest);
return re;
}
@Override
public String handleOutput(Response re, HashMap<String, Object> data) {
JsonPath jp = re.body().jsonPath();
boolean result = true;
String failReason = "";
String json = StringUtils.decodeUnicode(re.asString());
if ((data.get("statusCode") != null)
&& (!data.get("statusCode").toString()
.equals(String.valueOf(re.getStatusCode())))) {
result = result && false;
failReason = failReason + "statusCode is expected "
+ data.get("statusCode").toString() + " but actually "
+ String.valueOf(re.getStatusCode()) + ". ";
}
if (json.length() != 0) {
String msg=jp.getString("message");
String code=jp.getString("retcode");
if ((data.get("code") != null ) && (code != null) && (!code.equals(data.get("code").toString()))) {
result = result && false;
// if(shelf_id =="" && shelf_id.equals("")){
// failReason = "10001";
// }
failReason = failReason + "code is expected "
+ data.get("code").toString() + " but actually "
+ jp.getString("code") + ".";
}
if ((data.get("msg") != null) && (msg != null) && (!msg.equals(data.get("msg").toString()))) {
result = result && false;
// if(shelf_id =="" && shelf_id.equals("")){
// failReason = "参数接收失败!";
// }
failReason = failReason + "msg is expected "
+ data.get("msg").toString() + " but actually "
+ jp.getString("msg") + ".";
}
if(data.get("custom") != null && json!=null){
//如果自定义结果包含多个希望结果,也就是有逗号,那么就切割,包含比较。
if(data.get("custom").toString().contains(",")){
String [] strCustomStrings=data.get("custom").toString().split(",");
for(int i=0;i<strCustomStrings.length;i++){
if(!json.contains(strCustomStrings[i])){
result = result && false;
failReason = failReason + "custom is expected "
+ data.get("custom").toString() + " but actually "
+ strCustomStrings[i] + ".";
break;
}
}
}else{//如果只有一个希望结果,就直接包含比较。
if(!json.contains(data.get("custom").toString())){
result = result && false;
failReason = failReason + "custom is expected "
+ data.get("custom").toString() + " but actually "
+ data.get("custom").toString() + ".";
}
}
}
if("接口响应成功!".equals(msg)){
conn=ConnectionsMap.get("tk");
}
}
if (result)
return "Pass";
else
return "Fail:" + failReason;
}
}
package com.offcn.api.tk.app3;
import io.restassured.path.json.JsonPath;
import io.restassured.response.Response;
import java.util.HashMap;
import java.util.List;
import java.util.Map;
import com.offcn.TestUnti.MapUtil;
import com.offcn.TestUnti.RequestDataUtils;
import com.offcn.TestUnti.StringUtils;
import com.offcn.interfaces.API;
import com.offcn.process.TK;
import com.offcn.system.MyRequest;
import com.offcn.TestUnti.ListUtil;
/**
*
* @Description: 11.真题试卷-申论真题获取试卷模块信息
* @author: wff
* @date: 2019年6月11日 上午11:26:23
* @version V1.0
*/
public class getExpoundingPaperBlocks extends TK implements API {
public String parameter;//参数集合
public String user_id;//用户id
public String paper_id;//试卷id
public String exam_id;//考试id(nwn可传0)
public String channel;//做题平台来源(1:题库;2:NWN),不传默认为1
@Override
public void initialize(HashMap<String, Object> data) {
if (!isProduct && data.get("CleanDB").toString().contains("Y")) {
cleanUser_FromDB();//清除注册用户根据user_id
}
}
@Override
public HashMap<String, Object> handleInput(HashMap<String, Object> data) {
// 获取parameter对应的内容
parameter = MapUtil.getValue("parameter", data);
paper_id = MapUtil.getParameter(parameter, "paper_id").trim();
if ((!paper_id.equals("")) && paper_id.equals("code")) {
paper_id = paper_id_L;
parameter = parameter.replace("\"paper_id\":code", "\"paper_id\":\""+ paper_id + "\"");
}
data.put("parameter", parameter);
return data;
}
@Override
public Response SendRequest(HashMap<String, Object> data, String Url,
String Request) {
Map<String, String> headers=new HashMap<String, String>();
headers.put("Authorization", tk_token);
Map<String, String> jsonAsMap=new HashMap<String, String>();
parameter = MapUtil.getValue("parameter", data);
String tikuString= MapUtil.getParameter(parameter, "appid").trim();
tikuString = MapUtil.killQuotes(tikuString, "\"");
jsonAsMap.put("paper_id", paper_id);
jsonAsMap.put("appid", tikuString);
MyRequest myRequest=new MyRequest();
myRequest.setUrl(Url);
myRequest.setHeaders(headers);
myRequest.setFormParameter(jsonAsMap);
myRequest.setRequest(Request);
Response re = RequestDataUtils.RestAssuredApi(data, myRequest);
return re;
}
@Override
public String handleOutput(Response re, HashMap<String, Object> data) {
JsonPath jp = re.body().jsonPath();
boolean result = true;
String failReason = "";
String json = StringUtils.decodeUnicode(re.asString());
if ((data.get("statusCode") != null)
&& (!data.get("statusCode").toString()
.equals(String.valueOf(re.getStatusCode())))) {
result = result && false;
failReason = failReason + "statusCode is expected "
+ data.get("statusCode").toString() + " but actually "
+ String.valueOf(re.getStatusCode()) + ". ";
}
if (json.length() != 0) {
String msg=jp.getString("message");
String code=jp.getString("retcode");
if ((data.get("code") != null ) && (code != null) && (!code.equals(data.get("code").toString()))) {
result = result && false;
failReason = failReason + "code is expected "
+ data.get("code").toString() + " but actually "
+ jp.getString("code") + ".";
}
if ((data.get("msg") != null) && (msg != null) && (!msg.equals(data.get("msg").toString()))) {
result = result && false;
failReason = failReason + "msg is expected "
+ data.get("msg").toString() + " but actually "
+ jp.getString("msg") + ".";
}
if(data.get("custom") != null && json!=null){
//如果自定义结果包含多个希望结果,也就是有逗号,那么就切割,包含比较。
if(data.get("custom").toString().contains(",")){
String [] strCustomStrings=data.get("custom").toString().split(",");
for(int i=0;i<strCustomStrings.length;i++){
if(!json.contains(strCustomStrings[i])){
result = result && false;
failReason = failReason + "custom is expected "
+ data.get("custom").toString() + " but actually "
+ strCustomStrings[i] + ".";
break;
}
}
}else{//如果只有一个希望结果,就直接包含比较。
if(!json.contains(data.get("custom").toString())){
result = result && false;
failReason = failReason + "custom is expected "
+ data.get("custom").toString() + " but actually "
+ data.get("custom").toString() + ".";
}
}
}
if("接口响应成功!".equals(msg)){
List<String> list=jp.getList("data.children.children");
System.out.println(list);
if (list!=null && list.size()>0 && list.get(0)!=null) {
for(int i=0;i<list.size();i++){
String shelfIds =jp.getString("data.children.children[0].shelf_id");
String[] shelfId = shelfIds.split(",");
for (String string : shelfId) {
L_shelf_id = string.replace("[", "").replace("]", "").trim();
// System.out.println(string.replace("[", "").replace("]", ""));
}
}
//
}
conn=ConnectionsMap.get("tk");
}
}
if (result)
return "Pass";
else
return "Fail:" + failReason;
}
}
package com.offcn.api.tk.app3;
import io.restassured.path.json.JsonPath;
import io.restassured.response.Response;
import java.util.HashMap;
import java.util.Map;
import com.offcn.TestUnti.MapUtil;
import com.offcn.TestUnti.RequestDataUtils;
import com.offcn.TestUnti.StringUtils;
import com.offcn.interfaces.API;
import com.offcn.process.TK;
import com.offcn.system.MyRequest;
import com.offcn.TestUnti.ListUtil;
/**
*
* @Description: 17.智能批改-获取主观题解析
* @author: wff
* @date: 2019年6月12日 下午4:45:27
* @version V1.0
*/
public class getExpoundingStepExplain extends TK implements API {
public String parameter;//参数集合
public String record_id;//record_sub_id
public String user_id;//用户id
public String orgin;//来源 0为来自练习册,1为来自正常做题试卷,2扫描二维码试卷做题,3为来自模考大赛做题试卷
public String exam_id;//考试id
public String channel;//1题库 2nwn
public String origin_id;//试卷或者练习册id
@Override
public void initialize(HashMap<String, Object> data) {
if (!isProduct && data.get("CleanDB").toString().contains("Y")) {
cleanUser_FromDB();//清除注册用户根据user_id
}
}
@Override
public HashMap<String, Object> handleInput(HashMap<String, Object> data) {
// 获取parameter对应的内容
parameter = MapUtil.getValue("parameter", data);
record_id = MapUtil.getParameter(parameter, "record_id").trim();
user_id = MapUtil.getParameter(parameter, "user_id").trim();
orgin = MapUtil.getParameter(parameter, "orgin").trim();
exam_id = MapUtil.getParameter(parameter, "exam_id").trim();
channel = MapUtil.getParameter(parameter, "channel").trim();
origin_id = MapUtil.getParameter(parameter, "origin_id").trim();
if ((!user_id.equals("")) && user_id.equals("code")) {
user_id=ListUtil.getListValue(user_idList,0);
parameter = parameter.replace("\"user_id\":code", "\"user_id\":\""+ user_id + "\"");
}
if ((!record_id.equals("")) && record_id.equals("code")) {
record_id = record_id_L;
parameter = parameter.replace("\"record_id\":code", "\"record_id\":\""+ record_id + "\"");
}
if ((!exam_id.equals("")) && exam_id.equals("code")) {
exam_id = L_exam_id;
parameter = parameter.replace("\"exam_id\":code", "\"exam_id\":\""+ exam_id + "\"");
}
if ((!origin_id.equals("")) && origin_id.equals("code")) {
origin_id = paper_id_L;
parameter = parameter.replace("\"origin_id\":code", "\"origin_id\":\""+ origin_id + "\"");
}
data.put("parameter", parameter);
return data;
}
@Override
public Response SendRequest(HashMap<String, Object> data, String Url,
String Request) {
Map<String, String> headers=new HashMap<String, String>();
headers.put("Authorization", tk_token);
MyRequest myRequest=new MyRequest();
myRequest.setHeaders(headers);
myRequest.setRequest(Request);
myRequest.setUrl(Url);
myRequest.setParameter(parameter);
Response re = RequestDataUtils.RestAssuredApi(data,myRequest);
return re;
}
@Override
public String handleOutput(Response re, HashMap<String, Object> data) {
JsonPath jp = re.body().jsonPath();
boolean result = true;
String failReason = "";
String json = StringUtils.decodeUnicode(re.asString());
if ((data.get("statusCode") != null)
&& (!data.get("statusCode").toString()
.equals(String.valueOf(re.getStatusCode())))) {
result = result && false;
failReason = failReason + "statusCode is expected "
+ data.get("statusCode").toString() + " but actually "
+ String.valueOf(re.getStatusCode()) + ". ";
}
if (json.length() != 0) {
String msg=jp.getString("message");
String code=jp.getString("retcode");
if ((data.get("code") != null ) && (code != null) && (!code.equals(data.get("code").toString()))) {
result = result && false;
failReason = failReason + "code is expected "
+ data.get("code").toString() + " but actually "
+ jp.getString("retcode") + ".";
}
if ((data.get("msg") != null) && (msg != null) && (!msg.equals(data.get("msg").toString()))) {
result = result && false;
failReason = failReason + "msg is expected "
+ data.get("msg").toString() + " but actually "
+ jp.getString("retcode") + ".";
}
if(data.get("custom") != null && json!=null){
//如果自定义结果包含多个希望结果,也就是有逗号,那么就切割,包含比较。
if(data.get("custom").toString().contains(",")){
String [] strCustomStrings=data.get("custom").toString().split(",");
for(int i=0;i<strCustomStrings.length;i++){
if(!json.contains(strCustomStrings[i])){
result = result && false;
failReason = failReason + "custom is expected "
+ data.get("custom").toString() + " but actually "
+ strCustomStrings[i] + ".";
break;
}
}
}else{//如果只有一个希望结果,就直接包含比较。
if(!json.contains(data.get("custom").toString())){
result = result && false;
failReason = failReason + "custom is expected "
+ data.get("custom").toString() + " but actually "
+ data.get("custom").toString() + ".";
}
}
}
if("0".equals(code)){
}
}
if (result)
return "Pass";
else
return "Fail:" + failReason;
}
}
package com.offcn.api.tk.app3;
import io.restassured.path.json.JsonPath;
import io.restassured.response.Response;
import java.sql.ResultSet;
import java.sql.SQLException;
import java.sql.Statement;
import java.text.SimpleDateFormat;
import java.util.Date;
import java.util.HashMap;
import java.util.List;
import java.util.Map;
import java.util.Random;
import org.json.simple.JSONArray;
import com.offcn.TestUnti.Log;
import com.offcn.TestUnti.MapUtil;
import com.offcn.TestUnti.MySqlUtil;
import com.offcn.TestUnti.RequestDataUtils;
import com.offcn.TestUnti.StringUtils;
import com.offcn.TestUnti.VerificationMethod;
import com.offcn.interfaces.API;
import com.offcn.process.TK;
import com.offcn.system.MyRequest;
import com.offcn.TestUnti.ListUtil;
import net.sf.json.JSONObject;
/**
* 29.App推送-获取用户曾添加过的考试信息
*
*/
public class getHistoryExam extends TK implements API {
public String parameter;//参数集合
public String user_id;//用户id
@Override
public void initialize(HashMap<String, Object> data) {
}
@Override
public HashMap<String, Object> handleInput(HashMap<String, Object> data) {
// 获取parameter对应的内容
parameter = MapUtil.getValue("parameter", data);
user_id = MapUtil.getParameter(parameter, "user_id").trim();
if ((!user_id.equals("")) && user_id.equals("code")) {
user_id=ListUtil.getListValue(user_idList,0);
parameter = parameter.replace("\"user_id\":code", "\"user_id\":\""+ user_id + "\"");
}
data.put("parameter", parameter);
return data;
}
@Override
public Response SendRequest(HashMap<String, Object> data, String Url,
String Request) {
Map<String, String> headers=new HashMap<String, String>();
headers.put("Authorization", tk_token);
Map<String, String> jsonAsMap=new HashMap<String, String>();
parameter = MapUtil.getValue("parameter", data);
String tikuString= MapUtil.getParameter(parameter, "appid").trim();
tikuString = MapUtil.killQuotes(tikuString, "\"");
jsonAsMap.put("user_id", user_id);
jsonAsMap.put("appid", tikuString);
MyRequest myRequest=new MyRequest();
myRequest.setUrl(Url);
myRequest.setHeaders(headers);
myRequest.setFormParameter(jsonAsMap);
myRequest.setRequest(Request);
Response re = RequestDataUtils.RestAssuredApi(data, myRequest);
return re;
}
@Override
public String handleOutput(Response re, HashMap<String, Object> data) {
JsonPath jp = re.body().jsonPath();
boolean result = true;
String failReason = "";
String json = StringUtils.decodeUnicode(re.asString());
if ((data.get("statusCode") != null)
&& (!data.get("statusCode").toString()
.equals(String.valueOf(re.getStatusCode())))) {
result = result && false;
failReason = failReason + "statusCode is expected "
+ data.get("statusCode").toString() + " but actually "
+ String.valueOf(re.getStatusCode()) + ". ";
}
if (json.length() != 0) {
String msg=jp.getString("message");
String code=jp.getString("retcode");
if ((data.get("code") != null ) && (code != null) && (!code.equals(data.get("code").toString()))) {
result = result && false;
failReason = failReason + "code is expected "
+ data.get("code").toString() + " but actually "
+ jp.getString("retcode") + ".";
}
if ((data.get("msg") != null) && (msg != null) && (!msg.equals(data.get("msg").toString()))) {
result = result && false;
failReason = failReason + "msg is expected "
+ data.get("msg").toString() + " but actually "
+ jp.getString("retcode") + ".";
}
if(data.get("custom") != null && json!=null){
//如果自定义结果包含多个希望结果,也就是有逗号,那么就切割,包含比较。
if(data.get("custom").toString().contains(",")){
String [] strCustomStrings=data.get("custom").toString().split(",");
for(int i=0;i<strCustomStrings.length;i++){
if(!json.contains(strCustomStrings[i])){
result = result && false;
failReason = failReason + "custom is expected "
+ data.get("custom").toString() + " but actually "
+ strCustomStrings[i] + ".";
break;
}
}
}else{//如果只有一个希望结果,就直接包含比较。
if(!json.contains(data.get("custom").toString())){
result = result && false;
failReason = failReason + "custom is expected "
+ data.get("custom").toString() + " but actually "
+ data.get("custom").toString() + ".";
}
}
}
if("0".equals(code)){
}
}
if (result)
return "Pass";
else
return "Fail:" + failReason;
}
}
package com.offcn.api.tk.app3;
import io.restassured.path.json.JsonPath;
import io.restassured.response.Response;
import java.util.HashMap;
import java.util.Map;
import com.offcn.TestUnti.MapUtil;
import com.offcn.TestUnti.RequestDataUtils;
import com.offcn.TestUnti.StringUtils;
import com.offcn.interfaces.API;
import com.offcn.process.TK;
import com.offcn.system.MyRequest;
import com.offcn.TestUnti.ListUtil;
/**
*
* @Description: 16.真题试卷-获取试卷报告页接口
* @author: wff
* @date: 2019年6月20日 上午11:34:42
* @version V1.0
*/
public class getNormalPaperReport extends TK implements API {
public String parameter;//参数集合
public String record_id;//record_sub_id
public String orgin;//来源 0为来自练习册,1为来自正常做题试卷,2扫描二维码试卷做题,3为来自模考大赛做题试卷
public String channel;//1题库 2nwn
public String orgin_id;//试卷或者练习册id
@Override
public void initialize(HashMap<String, Object> data) {
if (!isProduct && data.get("CleanDB").toString().contains("Y")) {
cleanUser_FromDB();//清除注册用户根据user_id
}
}
@Override
public HashMap<String, Object> handleInput(HashMap<String, Object> data) {
// 获取parameter对应的内容
parameter = MapUtil.getValue("parameter", data);
record_id = MapUtil.getParameter(parameter, "record_id").trim();
orgin = MapUtil.getParameter(parameter, "orgin").trim();
channel = MapUtil.getParameter(parameter, "channel").trim();
orgin_id = MapUtil.getParameter(parameter, "orgin_id").trim();
if ((!record_id.equals("")) && record_id.equals("code")) {
record_id = record_id_L;
parameter = parameter.replace("\"record_id\":code", "\"record_id\":\""+ record_id + "\"");
}
if ((!orgin_id.equals("")) && orgin_id.equals("code")) {
orgin_id = paper_id_L;
parameter = parameter.replace("\"orgin_id\":code", "\"orgin_id\":\""+ orgin_id + "\"");
}
data.put("parameter", parameter);
return data;
}
@Override
public Response SendRequest(HashMap<String, Object> data, String Url,
String Request) {
Map<String, String> headers=new HashMap<String, String>();
headers.put("Authorization", tk_token);
Map<String, String> jsonAsMap=new HashMap<String, String>();
parameter = MapUtil.getValue("parameter", data);
String tikuString= MapUtil.getParameter(parameter, "appid").trim();
tikuString = MapUtil.killQuotes(tikuString, "\"");
jsonAsMap.put("record_id", record_id);
jsonAsMap.put("orgin", orgin);
jsonAsMap.put("channel", channel);
jsonAsMap.put("orgin_id", orgin_id);
jsonAsMap.put("appid", tikuString);
MyRequest myRequest=new MyRequest();
myRequest.setHeaders(headers);
myRequest.setRequest(Request);
myRequest.setFormParameter(jsonAsMap);
myRequest.setUrl(Url);
Response re = RequestDataUtils.RestAssuredApi(data,myRequest);
return re;
}
@Override
public String handleOutput(Response re, HashMap<String, Object> data) {
JsonPath jp = re.body().jsonPath();
boolean result = true;
String failReason = "";
String json = StringUtils.decodeUnicode(re.asString());
if ((data.get("statusCode") != null)
&& (!data.get("statusCode").toString()
.equals(String.valueOf(re.getStatusCode())))) {
result = result && false;
failReason = failReason + "statusCode is expected "
+ data.get("statusCode").toString() + " but actually "
+ String.valueOf(re.getStatusCode()) + ". ";
}
if (json.length() != 0) {
String msg=jp.getString("message");
String code=jp.getString("retcode");
if ((data.get("code") != null ) && (code != null) && (!code.equals(data.get("code").toString()))) {
result = result && false;
failReason = failReason + "code is expected "
+ data.get("code").toString() + " but actually "
+ jp.getString("retcode") + ".";
}
if ((data.get("msg") != null) && (msg != null) && (!msg.equals(data.get("msg").toString()))) {
result = result && false;
failReason = failReason + "msg is expected "
+ data.get("msg").toString() + " but actually "
+ jp.getString("retcode") + ".";
}
if(data.get("custom") != null && json!=null){
//如果自定义结果包含多个希望结果,也就是有逗号,那么就切割,包含比较。
if(data.get("custom").toString().contains(",")){
String [] strCustomStrings=data.get("custom").toString().split(",");
for(int i=0;i<strCustomStrings.length;i++){
if(!json.contains(strCustomStrings[i])){
result = result && false;
failReason = failReason + "custom is expected "
+ data.get("custom").toString() + " but actually "
+ strCustomStrings[i] + ".";
break;
}
}
}else{//如果只有一个希望结果,就直接包含比较。
if(!json.contains(data.get("custom").toString())){
result = result && false;
failReason = failReason + "custom is expected "
+ data.get("custom").toString() + " but actually "
+ data.get("custom").toString() + ".";
}
}
}
if("0".equals(code)){
}
}
if (result)
return "Pass";
else
return "Fail:" + failReason;
}
}
package com.offcn.api.tk.app3;
import io.restassured.path.json.JsonPath;
import io.restassured.response.Response;
import java.sql.ResultSet;
import java.sql.SQLException;
import java.sql.Statement;
import java.text.SimpleDateFormat;
import java.util.Date;
import java.util.HashMap;
import java.util.List;
import java.util.Map;
import java.util.Random;
import org.json.simple.JSONArray;
import com.offcn.TestUnti.Log;
import com.offcn.TestUnti.MapUtil;
import com.offcn.TestUnti.MySqlUtil;
import com.offcn.TestUnti.RequestDataUtils;
import com.offcn.TestUnti.StringUtils;
import com.offcn.TestUnti.VerificationMethod;
import com.offcn.interfaces.API;
import com.offcn.process.TK;
import com.offcn.system.MyRequest;
import com.offcn.TestUnti.ListUtil;
import net.sf.json.JSONObject;
/**
* 85.模考大赛-获取试卷json文件+做题记录+主观题试题的采分结构
*
* @author puhui
*
*/
public class getPaperQuestionsJson extends TK implements API {
public String parameter;//参数集合
public String user_id;//用户id
public String paper_id;//用户id
public String record_sub_id;//考试项目id
public String orgin;//考试项目id
@Override
public void initialize(HashMap<String, Object> data) {
if (!isProduct && data.get("CleanDB").toString().contains("Y")) {
cleanUser_FromDB();//清除注册用户根据user_id
}
}
@Override
public HashMap<String, Object> handleInput(HashMap<String, Object> data) {
// 获取parameter对应的内容
parameter = MapUtil.getValue("parameter", data);
user_id = MapUtil.getParameter(parameter, "user_id").trim();
paper_id = MapUtil.getParameter(parameter, "paper_id").trim();
record_sub_id = MapUtil.getParameter(parameter, "record_sub_id").trim();
orgin = MapUtil.getParameter(parameter, "orgin").trim();
if ((!user_id.equals("")) && user_id.equals("code")) {
user_id=ListUtil.getListValue(user_idList,0);
parameter = parameter.replace("\"user_id\":code", "\"user_id\":\""+ user_id + "\"");
}
if ((!paper_id.equals("")) && paper_id.equals("code")) {
paper_id="2";
parameter = parameter.replace("\"paper_id\":code", "\"paper_id\":\""+ paper_id + "\"");
}
if ((!record_sub_id.equals("")) && record_sub_id.equals("code")) {
record_sub_id="324";
parameter = parameter.replace("\"record_sub_id\":code", "\"record_sub_id\":\""+ record_sub_id + "\"");
}
if ((!orgin.equals("")) && orgin.equals("code")) {
orgin="3";
parameter = parameter.replace("\"orgin\":code", "\"orgin\":\""+ orgin + "\"");
}
data.put("parameter", parameter);
return data;
}
@Override
public Response SendRequest(HashMap<String, Object> data, String Url,
String Request) {
Map<String, String> headers=new HashMap<String, String>();
headers.put("Authorization", tk_token);
MyRequest myRequest=new MyRequest();
myRequest.setHeaders(headers);
myRequest.setRequest(Request);
myRequest.setUrl(Url);
myRequest.setParameter(parameter);
Response re = RequestDataUtils.RestAssuredApi(data,myRequest);
return re;
}
@Override
public String handleOutput(Response re, HashMap<String, Object> data) {
JsonPath jp = re.body().jsonPath();
boolean result = true;
String failReason = "";
String json = StringUtils.decodeUnicode(re.asString());
if ((data.get("statusCode") != null)
&& (!data.get("statusCode").toString()
.equals(String.valueOf(re.getStatusCode())))) {
result = result && false;
failReason = failReason + "statusCode is expected "
+ data.get("statusCode").toString() + " but actually "
+ String.valueOf(re.getStatusCode()) + ". ";
}
if (json.length() != 0) {
String msg=jp.getString("message");
String code=jp.getString("retcode");
if ((data.get("code") != null ) && (code != null) && (!code.equals(data.get("code").toString()))) {
result = result && false;
failReason = failReason + "code is expected "
+ data.get("code").toString() + " but actually "
+ jp.getString("retcode") + ".";
}
if ((data.get("msg") != null) && (msg != null) && (!msg.equals(data.get("msg").toString()))) {
result = result && false;
failReason = failReason + "msg is expected "
+ data.get("msg").toString() + " but actually "
+ jp.getString("retcode") + ".";
}
if(data.get("custom") != null && json!=null){
//如果自定义结果包含多个希望结果,也就是有逗号,那么就切割,包含比较。
if(data.get("custom").toString().contains(",")){
String [] strCustomStrings=data.get("custom").toString().split(",");
for(int i=0;i<strCustomStrings.length;i++){
if(!json.contains(strCustomStrings[i])){
result = result && false;
failReason = failReason + "custom is expected "
+ data.get("custom").toString() + " but actually "
+ strCustomStrings[i] + ".";
break;
}
}
}else{//如果只有一个希望结果,就直接包含比较。
if(!json.contains(data.get("custom").toString())){
result = result && false;
failReason = failReason + "custom is expected "
+ data.get("custom").toString() + " but actually "
+ data.get("custom").toString() + ".";
}
}
}
if("0".equals(code)){
}
}
if (result)
return "Pass";
else
return "Fail:" + failReason;
}
}
package com.offcn.api.tk.app3;
import io.restassured.path.json.JsonPath;
import io.restassured.response.Response;
import java.sql.ResultSet;
import java.sql.SQLException;
import java.sql.Statement;
import java.text.SimpleDateFormat;
import java.util.Date;
import java.util.HashMap;
import java.util.List;
import java.util.Map;
import java.util.Random;
import org.json.simple.JSONArray;
import com.offcn.TestUnti.Log;
import com.offcn.TestUnti.MapUtil;
import com.offcn.TestUnti.MySqlUtil;
import com.offcn.TestUnti.RequestDataUtils;
import com.offcn.TestUnti.StringUtils;
import com.offcn.TestUnti.VerificationMethod;
import com.offcn.interfaces.API;
import com.offcn.process.TK;
import com.offcn.system.MyRequest;
import com.offcn.TestUnti.ListUtil;
import net.sf.json.JSONObject;
/**
* 2. 最近练习的练习册列表
*
*/
public class getPracticeDetail extends TK implements API {
public String parameter;//参数集合
public String user_id;//用户id
public String exam_id;//考试id
public String practice_id;//练习册id
public String channel;//做题平台来源
public String package_id;//学习包id
//public String appid;//标识
@Override
public void initialize(HashMap<String, Object> data) {
if (!isProduct && data.get("CleanDB").toString().contains("Y")) {
cleanUser_FromDB();//清除注册用户根据user_id
}
}
@Override
public HashMap<String, Object> handleInput(HashMap<String, Object> data) {
// 获取parameter对应的内容
parameter = MapUtil.getValue("parameter", data);
exam_id = MapUtil.getParameter(parameter, "exam_id").trim();
practice_id = MapUtil.getParameter(parameter, "practice_id").trim();
user_id = MapUtil.getParameter(parameter, "user_id").trim();
channel = MapUtil.getParameter(parameter, "channel").trim();
package_id = MapUtil.getParameter(parameter, "package_id").trim();
//appid = MapUtil.getParameter_get(parameter, "appid").trim();
if ((!exam_id.equals("")) && exam_id.equals("code")) {
exam_id=L_exam_id;
parameter = parameter.replace("\"exam_id\":code", "\"exam_id\":\""+ exam_id + "\"");
}
if ((!user_id.equals("")) && user_id.equals("code")) {
user_id=ListUtil.getListValue(user_idList,0);
parameter = parameter.replace("\"user_id\":code", "\"user_id\":\""+ user_id + "\"");
}
if ((!package_id.equals("")) && package_id.equals("code")) {
package_id="";
parameter = parameter.replace("\"package_id\":code", "\"package_id\":\""+ package_id + "\"");
}
if ((!channel.equals("")) && channel.equals("code")) {
channel="";
parameter = parameter.replace("\"channel\":code", "\"channel\":\""+ channel + "\"");
}
data.put("parameter", parameter);
return data;
}
@Override
public Response SendRequest(HashMap<String, Object> data, String Url,
String Request) {
Map<String, String> headers=new HashMap<String, String>();
headers.put("Authorization", tk_token);
Map<String, String> jsonAsMap=new HashMap<String, String>();
parameter = MapUtil.getValue("parameter", data);
String tikuString= MapUtil.getParameter(parameter, "appid").trim();
tikuString = MapUtil.killQuotes(tikuString, "\"");
jsonAsMap.put("exam_id", exam_id);
jsonAsMap.put("user_id", user_id);
jsonAsMap.put("channel", channel);
jsonAsMap.put("practice_id", practice_id);
jsonAsMap.put("package_id", package_id);
jsonAsMap.put("appid", tikuString);
MyRequest myRequest=new MyRequest();
myRequest.setUrl(Url);
myRequest.setHeaders(headers);
myRequest.setFormParameter(jsonAsMap);
myRequest.setRequest(Request);
Response re = RequestDataUtils.RestAssuredApi(data, myRequest);
return re;
}
@Override
public String handleOutput(Response re, HashMap<String, Object> data) {
JsonPath jp = re.body().jsonPath();
boolean result = true;
String failReason = "";
String json = StringUtils.decodeUnicode(re.asString());
if ((data.get("statusCode") != null)
&& (!data.get("statusCode").toString()
.equals(String.valueOf(re.getStatusCode())))) {
result = result && false;
failReason = failReason + "statusCode is expected "
+ data.get("statusCode").toString() + " but actually "
+ String.valueOf(re.getStatusCode()) + ". ";
}
if (json.length() != 0) {
String msg=jp.getString("message");
String code=jp.getString("retcode");
if ((data.get("code") != null ) && (code != null) && (!code.equals(data.get("code").toString()))) {
result = result && false;
// if(shelf_id =="" && shelf_id.equals("")){
// failReason = "10001";
// }
failReason = failReason + "code is expected "
+ data.get("code").toString() + " but actually "
+ jp.getString("code") + ".";
}
if ((data.get("msg") != null) && (msg != null) && (!msg.equals(data.get("msg").toString()))) {
result = result && false;
// if(shelf_id =="" && shelf_id.equals("")){
// failReason = "参数接收失败!";
// }
failReason = failReason + "msg is expected "
+ data.get("msg").toString() + " but actually "
+ jp.getString("msg") + ".";
}
if(data.get("custom") != null && json!=null){
//如果自定义结果包含多个希望结果,也就是有逗号,那么就切割,包含比较。
if(data.get("custom").toString().contains(",")){
String [] strCustomStrings=data.get("custom").toString().split(",");
for(int i=0;i<strCustomStrings.length;i++){
if(!json.contains(strCustomStrings[i])){
result = result && false;
failReason = failReason + "custom is expected "
+ data.get("custom").toString() + " but actually "
+ strCustomStrings[i] + ".";
break;
}
}
}else{//如果只有一个希望结果,就直接包含比较。
if(!json.contains(data.get("custom").toString())){
result = result && false;
failReason = failReason + "custom is expected "
+ data.get("custom").toString() + " but actually "
+ data.get("custom").toString() + ".";
}
}
}
if("接口响应成功!".equals(msg)){
conn=ConnectionsMap.get("tk");
}
}
if (result)
return "Pass";
else
return "Fail:" + failReason;
}
}
...@@ -70,7 +70,7 @@ public class getPracticeListByShelf extends TK implements API { ...@@ -70,7 +70,7 @@ public class getPracticeListByShelf extends TK implements API {
} }
if ((!shelf_id.equals("")) && shelf_id.equals("code")) { if ((!shelf_id.equals("")) && shelf_id.equals("code")) {
shelf_id=L_shelf_id; shelf_id=L_shelf_id;
parameter = parameter.replace("\"shelf_id\":code", "\"shelf_id\":\""+ shelf_id + "\""); parameter = parameter.replace("\"shelf_id\":code", "\"shelf_id\":\""+ "" + "\"");
} }
data.put("parameter", parameter); data.put("parameter", parameter);
...@@ -129,6 +129,9 @@ public class getPracticeListByShelf extends TK implements API { ...@@ -129,6 +129,9 @@ public class getPracticeListByShelf extends TK implements API {
if ((data.get("code") != null ) && (code != null) && (!code.equals(data.get("code").toString()))) { if ((data.get("code") != null ) && (code != null) && (!code.equals(data.get("code").toString()))) {
result = result && false; result = result && false;
// if(shelf_id =="" && shelf_id.equals("")){
// failReason = "10001";
// }
failReason = failReason + "code is expected " failReason = failReason + "code is expected "
+ data.get("code").toString() + " but actually " + data.get("code").toString() + " but actually "
+ jp.getString("code") + "."; + jp.getString("code") + ".";
...@@ -136,6 +139,9 @@ public class getPracticeListByShelf extends TK implements API { ...@@ -136,6 +139,9 @@ public class getPracticeListByShelf extends TK implements API {
if ((data.get("msg") != null) && (msg != null) && (!msg.equals(data.get("msg").toString()))) { if ((data.get("msg") != null) && (msg != null) && (!msg.equals(data.get("msg").toString()))) {
result = result && false; result = result && false;
// if(shelf_id =="" && shelf_id.equals("")){
// failReason = "参数接收失败!";
// }
failReason = failReason + "msg is expected " failReason = failReason + "msg is expected "
+ data.get("msg").toString() + " but actually " + data.get("msg").toString() + " but actually "
+ jp.getString("msg") + "."; + jp.getString("msg") + ".";
......
package com.offcn.api.tk.app3;
import io.restassured.path.json.JsonPath;
import io.restassured.response.Response;
import java.sql.ResultSet;
import java.sql.SQLException;
import java.sql.Statement;
import java.text.SimpleDateFormat;
import java.util.Date;
import java.util.HashMap;
import java.util.List;
import java.util.Map;
import java.util.Random;
import org.json.simple.JSONArray;
import com.offcn.TestUnti.Log;
import com.offcn.TestUnti.MapUtil;
import com.offcn.TestUnti.MySqlUtil;
import com.offcn.TestUnti.RequestDataUtils;
import com.offcn.TestUnti.StringUtils;
import com.offcn.TestUnti.VerificationMethod;
import com.offcn.interfaces.API;
import com.offcn.process.TK;
import com.offcn.system.MyRequest;
import com.offcn.TestUnti.ListUtil;
import net.sf.json.JSONObject;
/**
* 22. NWN练习册子节点答题卡获取试题
*
*/
public class getPracticeNQL extends TK implements API {
public String parameter;//参数集合
public String user_id;//用户id
public String practice_id;//练习册id
public String record_id;//练习册使用记录id
public String node_id;//该子节点id
public String channel;//平台id
//public String appid;//标识
@Override
public void initialize(HashMap<String, Object> data) {
if (!isProduct && data.get("CleanDB").toString().contains("Y")) {
cleanUser_FromDB();//清除注册用户根据user_id
}
}
@Override
public HashMap<String, Object> handleInput(HashMap<String, Object> data) {
// 获取parameter对应的内容
parameter = MapUtil.getValue("parameter", data);
practice_id = MapUtil.getParameter(parameter, "practice_id").trim();
user_id = MapUtil.getParameter(parameter, "user_id").trim();
record_id = MapUtil.getParameter(parameter, "record_id").trim();
node_id = MapUtil.getParameter(parameter, "node_id").trim();
channel = MapUtil.getParameter(parameter, "channel").trim();
//appid = MapUtil.getParameter_get(parameter, "appid").trim();
if ((!user_id.equals("")) && user_id.equals("code")) {
user_id=ListUtil.getListValue(user_idList,0);
parameter = parameter.replace("\"user_id\":code", "\"user_id\":\""+ user_id + "\"");
}
if ((!record_id.equals("")) && record_id.equals("code")) {
record_id="7972";
parameter = parameter.replace("\"record_id\":code", "\"record_id\":\""+ record_id + "\"");
}
if ((!node_id.equals("")) && node_id.equals("code")) {
node_id="98142";
parameter = parameter.replace("\"node_id\":code", "\"node_id\":\""+ node_id + "\"");
}
data.put("parameter", parameter);
return data;
}
@Override
public Response SendRequest(HashMap<String, Object> data, String Url,
String Request) {
Map<String, String> headers=new HashMap<String, String>();
headers.put("Authorization", tk_token);
Map<String, String> jsonAsMap=new HashMap<String, String>();
parameter = MapUtil.getValue("parameter", data);
String tikuString= MapUtil.getParameter(parameter, "appid").trim();
tikuString = MapUtil.killQuotes(tikuString, "\"");
jsonAsMap.put("user_id", user_id);
jsonAsMap.put("practice_id", practice_id);
jsonAsMap.put("record_id", record_id);
jsonAsMap.put("node_id", node_id);
jsonAsMap.put("channel", channel);
jsonAsMap.put("appid", tikuString);
MyRequest myRequest=new MyRequest();
myRequest.setUrl(Url);
myRequest.setHeaders(headers);
myRequest.setFormParameter(jsonAsMap);
myRequest.setRequest(Request);
Response re = RequestDataUtils.RestAssuredApi(data, myRequest);
return re;
}
@Override
public String handleOutput(Response re, HashMap<String, Object> data) {
JsonPath jp = re.body().jsonPath();
boolean result = true;
String failReason = "";
String json = StringUtils.decodeUnicode(re.asString());
if ((data.get("statusCode") != null)
&& (!data.get("statusCode").toString()
.equals(String.valueOf(re.getStatusCode())))) {
result = result && false;
failReason = failReason + "statusCode is expected "
+ data.get("statusCode").toString() + " but actually "
+ String.valueOf(re.getStatusCode()) + ". ";
}
if (json.length() != 0) {
String msg=jp.getString("message");
String code=jp.getString("retcode");
if ((data.get("code") != null ) && (code != null) && (!code.equals(data.get("code").toString()))) {
result = result && false;
// if(shelf_id =="" && shelf_id.equals("")){
// failReason = "10001";
// }
failReason = failReason + "code is expected "
+ data.get("code").toString() + " but actually "
+ jp.getString("code") + ".";
}
if ((data.get("msg") != null) && (msg != null) && (!msg.equals(data.get("msg").toString()))) {
result = result && false;
// if(shelf_id =="" && shelf_id.equals("")){
// failReason = "参数接收失败!";
// }
failReason = failReason + "msg is expected "
+ data.get("msg").toString() + " but actually "
+ jp.getString("msg") + ".";
}
if(data.get("custom") != null && json!=null){
//如果自定义结果包含多个希望结果,也就是有逗号,那么就切割,包含比较。
if(data.get("custom").toString().contains(",")){
String [] strCustomStrings=data.get("custom").toString().split(",");
for(int i=0;i<strCustomStrings.length;i++){
if(!json.contains(strCustomStrings[i])){
result = result && false;
failReason = failReason + "custom is expected "
+ data.get("custom").toString() + " but actually "
+ strCustomStrings[i] + ".";
break;
}
}
}else{//如果只有一个希望结果,就直接包含比较。
if(!json.contains(data.get("custom").toString())){
result = result && false;
failReason = failReason + "custom is expected "
+ data.get("custom").toString() + " but actually "
+ data.get("custom").toString() + ".";
}
}
}
if("接口响应成功!".equals(msg)){
conn=ConnectionsMap.get("tk");
}
}
if (result)
return "Pass";
else
return "Fail:" + failReason;
}
}
package com.offcn.api.tk.app3;
import io.restassured.path.json.JsonPath;
import io.restassured.response.Response;
import java.sql.ResultSet;
import java.sql.SQLException;
import java.sql.Statement;
import java.text.SimpleDateFormat;
import java.util.Date;
import java.util.HashMap;
import java.util.List;
import java.util.Map;
import java.util.Random;
import org.json.simple.JSONArray;
import com.offcn.TestUnti.Log;
import com.offcn.TestUnti.MapUtil;
import com.offcn.TestUnti.MySqlUtil;
import com.offcn.TestUnti.RequestDataUtils;
import com.offcn.TestUnti.StringUtils;
import com.offcn.TestUnti.VerificationMethod;
import com.offcn.interfaces.API;
import com.offcn.process.TK;
import com.offcn.system.MyRequest;
import com.offcn.TestUnti.ListUtil;
import net.sf.json.JSONObject;
/**
* 练习册试题获取接口
*
*/
public class getPracticequestion extends TK implements API {
public String parameter;//参数集合
public String user_id;//用户id
public String practice_id;//考试id
public String cate_id;//产品线id
public String type;//页码
public String exam_id;//页码
public String is_return;//页码
public String channel;//页码
//public String appid;//标识
@Override
public void initialize(HashMap<String, Object> data) {
if (!isProduct && data.get("CleanDB").toString().contains("Y")) {
cleanUser_FromDB();//清除注册用户根据user_id
}
}
@Override
public HashMap<String, Object> handleInput(HashMap<String, Object> data) {
// 获取parameter对应的内容
parameter = MapUtil.getValue("parameter", data);
user_id = MapUtil.getParameter(parameter, "user_id").trim();
exam_id = MapUtil.getParameter(parameter, "exam_id").trim();
practice_id = MapUtil.getParameter(parameter, "practice_id").trim();
cate_id = MapUtil.getParameter(parameter, "cate_id").trim();
type = MapUtil.getParameter(parameter, "type").trim();
exam_id = MapUtil.getParameter(parameter, "exam_id").trim();
is_return = MapUtil.getParameter(parameter, "is_return").trim();
channel = MapUtil.getParameter(parameter, "channel").trim();
//appid = MapUtil.getParameter_get(parameter, "appid").trim();
if ((!user_id.equals("")) && user_id.equals("code")) {
user_id=ListUtil.getListValue(user_idList,0);
parameter = parameter.replace("\"user_id\":code", "\"user_id\":\""+ user_id + "\"");
}
if ((!cate_id.equals("")) && cate_id.equals("code")) {
cate_id="";
parameter = parameter.replace("\"cate_id\":code", "\"cate_id\":\""+ cate_id + "\"");
}
if ((!type.equals("")) && type.equals("code")) {
type="";
parameter = parameter.replace("\"type\":code", "\"type\":\""+ type + "\"");
}
if ((!is_return.equals("")) && is_return.equals("code")) {
is_return="";
parameter = parameter.replace("\"is_return\":code", "\"is_return\":\""+ is_return + "\"");
}
if ((!channel.equals("")) && channel.equals("code")) {
channel="";
parameter = parameter.replace("\"channel\":code", "\"channel\":\""+ channel + "\"");
}
data.put("parameter", parameter);
return data;
}
@Override
public Response SendRequest(HashMap<String, Object> data, String Url,
String Request) {
Map<String, String> headers=new HashMap<String, String>();
headers.put("Authorization", tk_token);
Map<String, String> jsonAsMap=new HashMap<String, String>();
parameter = MapUtil.getValue("parameter", data);
String tikuString= MapUtil.getParameter(parameter, "appid").trim();
tikuString = MapUtil.killQuotes(tikuString, "\"");
jsonAsMap.put("user_id", user_id);
jsonAsMap.put("exam_id", exam_id);
jsonAsMap.put("practice_id", practice_id);
jsonAsMap.put("cate_id", cate_id);
jsonAsMap.put("type", type);
jsonAsMap.put("exam_id", exam_id);
jsonAsMap.put("is_return", is_return);
jsonAsMap.put("channel", channel);
jsonAsMap.put("appid", tikuString);
MyRequest myRequest=new MyRequest();
myRequest.setUrl(Url);
myRequest.setHeaders(headers);
myRequest.setFormParameter(jsonAsMap);
myRequest.setRequest(Request);
Response re = RequestDataUtils.RestAssuredApi(data, myRequest);
return re;
}
@Override
public String handleOutput(Response re, HashMap<String, Object> data) {
JsonPath jp = re.body().jsonPath();
boolean result = true;
String failReason = "";
String json = StringUtils.decodeUnicode(re.asString());
if ((data.get("statusCode") != null)
&& (!data.get("statusCode").toString()
.equals(String.valueOf(re.getStatusCode())))) {
result = result && false;
failReason = failReason + "statusCode is expected "
+ data.get("statusCode").toString() + " but actually "
+ String.valueOf(re.getStatusCode()) + ". ";
}
if (json.length() != 0) {
String msg=jp.getString("message");
String code=jp.getString("retcode");
if ((data.get("code") != null ) && (code != null) && (!code.equals(data.get("code").toString()))) {
result = result && false;
// if(shelf_id =="" && shelf_id.equals("")){
// failReason = "10001";
// }
failReason = failReason + "code is expected "
+ data.get("code").toString() + " but actually "
+ jp.getString("code") + ".";
}
if ((data.get("msg") != null) && (msg != null) && (!msg.equals(data.get("msg").toString()))) {
result = result && false;
// if(shelf_id =="" && shelf_id.equals("")){
// failReason = "参数接收失败!";
// }
failReason = failReason + "msg is expected "
+ data.get("msg").toString() + " but actually "
+ jp.getString("msg") + ".";
}
if(data.get("custom") != null && json!=null){
//如果自定义结果包含多个希望结果,也就是有逗号,那么就切割,包含比较。
if(data.get("custom").toString().contains(",")){
String [] strCustomStrings=data.get("custom").toString().split(",");
for(int i=0;i<strCustomStrings.length;i++){
if(!json.contains(strCustomStrings[i])){
result = result && false;
failReason = failReason + "custom is expected "
+ data.get("custom").toString() + " but actually "
+ strCustomStrings[i] + ".";
break;
}
}
}else{//如果只有一个希望结果,就直接包含比较。
if(!json.contains(data.get("custom").toString())){
result = result && false;
failReason = failReason + "custom is expected "
+ data.get("custom").toString() + " but actually "
+ data.get("custom").toString() + ".";
}
}
}
if("接口响应成功!".equals(msg)){
conn=ConnectionsMap.get("tk");
}
}
if (result)
return "Pass";
else
return "Fail:" + failReason;
}
}
package com.offcn.api.tk.app3;
import io.restassured.path.json.JsonPath;
import io.restassured.response.Response;
import java.sql.ResultSet;
import java.sql.SQLException;
import java.sql.Statement;
import java.text.SimpleDateFormat;
import java.util.Date;
import java.util.HashMap;
import java.util.List;
import java.util.Map;
import java.util.Random;
import org.json.simple.JSONArray;
import com.offcn.TestUnti.Log;
import com.offcn.TestUnti.MapUtil;
import com.offcn.TestUnti.MySqlUtil;
import com.offcn.TestUnti.RequestDataUtils;
import com.offcn.TestUnti.StringUtils;
import com.offcn.TestUnti.VerificationMethod;
import com.offcn.interfaces.API;
import com.offcn.process.TK;
import com.offcn.system.MyRequest;
import com.offcn.TestUnti.ListUtil;
import net.sf.json.JSONObject;
/**
* 2. 最近练习的练习册列表
*
*/
public class getRecentPracticeList extends TK implements API {
public String parameter;//参数集合
public String user_id;//用户id
public String exam_id;//考试id
public String channel;//产品线id
public String page;//页码
//public String appid;//标识
@Override
public void initialize(HashMap<String, Object> data) {
if (!isProduct && data.get("CleanDB").toString().contains("Y")) {
cleanUser_FromDB();//清除注册用户根据user_id
}
}
@Override
public HashMap<String, Object> handleInput(HashMap<String, Object> data) {
// 获取parameter对应的内容
parameter = MapUtil.getValue("parameter", data);
exam_id = MapUtil.getParameter(parameter, "exam_id").trim();
user_id = MapUtil.getParameter(parameter, "user_id").trim();
channel = MapUtil.getParameter(parameter, "channel").trim();
page = MapUtil.getParameter(parameter, "page").trim();
//appid = MapUtil.getParameter_get(parameter, "appid").trim();
if ((!exam_id.equals("")) && exam_id.equals("code")) {
exam_id=L_exam_id;
parameter = parameter.replace("\"exam_id\":code", "\"exam_id\":\""+ exam_id + "\"");
}
if ((!user_id.equals("")) && user_id.equals("code")) {
user_id=ListUtil.getListValue(user_idList,0);
parameter = parameter.replace("\"user_id\":code", "\"user_id\":\""+ user_id + "\"");
}
data.put("parameter", parameter);
return data;
}
@Override
public Response SendRequest(HashMap<String, Object> data, String Url,
String Request) {
Map<String, String> headers=new HashMap<String, String>();
headers.put("Authorization", tk_token);
Map<String, String> jsonAsMap=new HashMap<String, String>();
parameter = MapUtil.getValue("parameter", data);
String tikuString= MapUtil.getParameter(parameter, "appid").trim();
tikuString = MapUtil.killQuotes(tikuString, "\"");
jsonAsMap.put("exam_id", exam_id);
jsonAsMap.put("user_id", user_id);
jsonAsMap.put("channel", channel);
jsonAsMap.put("page", page);
jsonAsMap.put("appid", tikuString);
MyRequest myRequest=new MyRequest();
myRequest.setUrl(Url);
myRequest.setHeaders(headers);
myRequest.setFormParameter(jsonAsMap);
myRequest.setRequest(Request);
Response re = RequestDataUtils.RestAssuredApi(data, myRequest);
return re;
}
@Override
public String handleOutput(Response re, HashMap<String, Object> data) {
JsonPath jp = re.body().jsonPath();
boolean result = true;
String failReason = "";
String json = StringUtils.decodeUnicode(re.asString());
if ((data.get("statusCode") != null)
&& (!data.get("statusCode").toString()
.equals(String.valueOf(re.getStatusCode())))) {
result = result && false;
failReason = failReason + "statusCode is expected "
+ data.get("statusCode").toString() + " but actually "
+ String.valueOf(re.getStatusCode()) + ". ";
}
if (json.length() != 0) {
String msg=jp.getString("message");
String code=jp.getString("retcode");
if ((data.get("code") != null ) && (code != null) && (!code.equals(data.get("code").toString()))) {
result = result && false;
// if(shelf_id =="" && shelf_id.equals("")){
// failReason = "10001";
// }
failReason = failReason + "code is expected "
+ data.get("code").toString() + " but actually "
+ jp.getString("code") + ".";
}
if ((data.get("msg") != null) && (msg != null) && (!msg.equals(data.get("msg").toString()))) {
result = result && false;
// if(shelf_id =="" && shelf_id.equals("")){
// failReason = "参数接收失败!";
// }
failReason = failReason + "msg is expected "
+ data.get("msg").toString() + " but actually "
+ jp.getString("msg") + ".";
}
if(data.get("custom") != null && json!=null){
//如果自定义结果包含多个希望结果,也就是有逗号,那么就切割,包含比较。
if(data.get("custom").toString().contains(",")){
String [] strCustomStrings=data.get("custom").toString().split(",");
for(int i=0;i<strCustomStrings.length;i++){
if(!json.contains(strCustomStrings[i])){
result = result && false;
failReason = failReason + "custom is expected "
+ data.get("custom").toString() + " but actually "
+ strCustomStrings[i] + ".";
break;
}
}
}else{//如果只有一个希望结果,就直接包含比较。
if(!json.contains(data.get("custom").toString())){
result = result && false;
failReason = failReason + "custom is expected "
+ data.get("custom").toString() + " but actually "
+ data.get("custom").toString() + ".";
}
}
}
if("接口响应成功!".equals(msg)){
conn=ConnectionsMap.get("tk");
}
}
if (result)
return "Pass";
else
return "Fail:" + failReason;
}
}
package com.offcn.api.tk.app3;
import io.restassured.path.json.JsonPath;
import io.restassured.response.Response;
import java.sql.ResultSet;
import java.sql.SQLException;
import java.sql.Statement;
import java.text.SimpleDateFormat;
import java.util.Date;
import java.util.HashMap;
import java.util.List;
import java.util.Map;
import java.util.Random;
import org.json.simple.JSONArray;
import com.offcn.TestUnti.Log;
import com.offcn.TestUnti.MapUtil;
import com.offcn.TestUnti.MySqlUtil;
import com.offcn.TestUnti.RequestDataUtils;
import com.offcn.TestUnti.StringUtils;
import com.offcn.TestUnti.VerificationMethod;
import com.offcn.interfaces.API;
import com.offcn.process.TK;
import com.offcn.TestUnti.ListUtil;
import net.sf.json.JSONObject;
/**
* 77. 获取模考科目的状态=======
*
* @author puhui
*
*/
public class getSubjectStatus extends TK implements API {
public String parameter;//参数集合
public String user_id;//用户id
public String record_id;//考试项目id
@Override
public void initialize(HashMap<String, Object> data) {
if (!isProduct && data.get("CleanDB").toString().contains("Y")) {
cleanUser_FromDB();//清除注册用户根据user_id
}
}
@Override
public HashMap<String, Object> handleInput(HashMap<String, Object> data) {
// 获取parameter对应的内容
parameter = MapUtil.getValue("parameter", data);
user_id = MapUtil.getParameter(parameter, "user_id").trim();
record_id = MapUtil.getParameter(parameter, "record_id").trim();
if ((!user_id.equals("")) && user_id.equals("code")) {
user_id=ListUtil.getListValue(user_idList,0);
parameter = parameter.replace("\"user_id\":code", "\"user_id\":\""+ user_id + "\"");
}
if ((!record_id.equals("")) && record_id.equals("code")) {
record_id="43";
parameter = parameter.replace("\"record_id\":code", "\"record_id\":\""+ record_id + "\"");
}
data.put("parameter", parameter);
return data;
}
@Override
public Response SendRequest(HashMap<String, Object> data, String Url,
String Request) {
Response re = RequestDataUtils.Post_token(data, Url, tk_token);
return re;
}
@Override
public String handleOutput(Response re, HashMap<String, Object> data) {
JsonPath jp = re.body().jsonPath();
boolean result = true;
String failReason = "";
String json = StringUtils.decodeUnicode(re.asString());
if ((data.get("statusCode") != null)
&& (!data.get("statusCode").toString()
.equals(String.valueOf(re.getStatusCode())))) {
result = result && false;
failReason = failReason + "statusCode is expected "
+ data.get("statusCode").toString() + " but actually "
+ String.valueOf(re.getStatusCode()) + ". ";
}
if (json.length() != 0) {
String msg=jp.getString("message");
String code=jp.getString("retcode");
if ((data.get("code") != null ) && (code != null) && (!code.equals(data.get("code").toString()))) {
result = result && false;
failReason = failReason + "code is expected "
+ data.get("code").toString() + " but actually "
+ jp.getString("retcode") + ".";
}
if ((data.get("msg") != null) && (msg != null) && (!msg.equals(data.get("msg").toString()))) {
result = result && false;
failReason = failReason + "msg is expected "
+ data.get("msg").toString() + " but actually "
+ jp.getString("retcode") + ".";
}
if(data.get("custom") != null && json!=null){
//如果自定义结果包含多个希望结果,也就是有逗号,那么就切割,包含比较。
if(data.get("custom").toString().contains(",")){
String [] strCustomStrings=data.get("custom").toString().split(",");
for(int i=0;i<strCustomStrings.length;i++){
if(!json.contains(strCustomStrings[i])){
result = result && false;
failReason = failReason + "custom is expected "
+ data.get("custom").toString() + " but actually "
+ strCustomStrings[i] + ".";
break;
}
}
}else{//如果只有一个希望结果,就直接包含比较。
if(!json.contains(data.get("custom").toString())){
result = result && false;
failReason = failReason + "custom is expected "
+ data.get("custom").toString() + " but actually "
+ data.get("custom").toString() + ".";
}
}
}
if("0".equals(code)){
}
}
if (result)
return "Pass";
else
return "Fail:" + failReason;
}
}
package com.offcn.api.tk.app3;
import io.restassured.path.json.JsonPath;
import io.restassured.response.Response;
import java.sql.ResultSet;
import java.sql.SQLException;
import java.sql.Statement;
import java.text.SimpleDateFormat;
import java.util.Date;
import java.util.HashMap;
import java.util.List;
import java.util.Map;
import java.util.Random;
import org.json.simple.JSONArray;
import com.offcn.TestUnti.Log;
import com.offcn.TestUnti.MapUtil;
import com.offcn.TestUnti.MySqlUtil;
import com.offcn.TestUnti.RequestDataUtils;
import com.offcn.TestUnti.StringUtils;
import com.offcn.TestUnti.VerificationMethod;
import com.offcn.interfaces.API;
import com.offcn.process.TK;
import com.offcn.system.MyRequest;
import com.offcn.TestUnti.ListUtil;
import net.sf.json.JSONObject;
/**
*
* @Description: 33.真题试卷-获取纯主观题试卷报告接口
* @author: wff
* @date: 2019年6月11日 上午11:26:23
* @version V1.0
*/
public class getSubjectivePaperReport extends TK implements API {
public String parameter;//参数集合
public String record_id;//当前试卷所属使用记录id
public String orgin;//来源id(试题来源 1为来自正常做题试卷,2为来自扫描二维码试卷做题)
public String orgin_id;//试卷id
public String channel;//做题平台来源(1:题库;2:NWN)
@Override
public void initialize(HashMap<String, Object> data) {
if (!isProduct && data.get("CleanDB").toString().contains("Y")) {
cleanUser_FromDB();//清除注册用户根据user_id
}
}
@Override
public HashMap<String, Object> handleInput(HashMap<String, Object> data) {
// 获取parameter对应的内容
parameter = MapUtil.getValue("parameter", data);
record_id = MapUtil.getParameter(parameter, "record_id").trim();
orgin = MapUtil.getParameter(parameter, "orgin").trim();
orgin_id = MapUtil.getParameter(parameter, "orgin_id").trim();
channel = MapUtil.getParameter(parameter, "channel").trim();
if ((!record_id.equals("")) && record_id.equals("code")) {
record_id = record_id_L;
parameter = parameter.replace("\"record_id\":code", "\"record_id\":\""+ record_id + "\"");
}
if ((!orgin_id.equals("")) && orgin_id.equals("code")) {
orgin_id = paper_id_L;
parameter = parameter.replace("\"orgin_id\":code", "\"orgin_id\":\""+ orgin_id + "\"");
}
data.put("parameter", parameter);
return data;
}
@Override
public Response SendRequest(HashMap<String, Object> data, String Url,
String Request) {
Map<String, String> headers=new HashMap<String, String>();
headers.put("Authorization", tk_token);
Map<String, String> jsonAsMap=new HashMap<String, String>();
parameter = MapUtil.getValue("parameter", data);
String tikuString= MapUtil.getParameter(parameter, "appid").trim();
tikuString = MapUtil.killQuotes(tikuString, "\"");
jsonAsMap.put("record_id", record_id);
jsonAsMap.put("orgin", orgin);
jsonAsMap.put("orgin_id", orgin_id);
jsonAsMap.put("channel", channel);
jsonAsMap.put("appid", tikuString);
MyRequest myRequest=new MyRequest();
myRequest.setUrl(Url);
myRequest.setHeaders(headers);
myRequest.setFormParameter(jsonAsMap);
myRequest.setRequest(Request);
Response re = RequestDataUtils.RestAssuredApi(data, myRequest);
return re;
}
@Override
public String handleOutput(Response re, HashMap<String, Object> data) {
JsonPath jp = re.body().jsonPath();
boolean result = true;
String failReason = "";
String json = StringUtils.decodeUnicode(re.asString());
if ((data.get("statusCode") != null)
&& (!data.get("statusCode").toString()
.equals(String.valueOf(re.getStatusCode())))) {
result = result && false;
failReason = failReason + "statusCode is expected "
+ data.get("statusCode").toString() + " but actually "
+ String.valueOf(re.getStatusCode()) + ". ";
}
if (json.length() != 0) {
String msg=jp.getString("message");
String code=jp.getString("retcode");
if ((data.get("code") != null ) && (code != null) && (!code.equals(data.get("code").toString()))) {
result = result && false;
failReason = failReason + "code is expected "
+ data.get("code").toString() + " but actually "
+ jp.getString("code") + ".";
}
if ((data.get("msg") != null) && (msg != null) && (!msg.equals(data.get("msg").toString()))) {
result = result && false;
failReason = failReason + "msg is expected "
+ data.get("msg").toString() + " but actually "
+ jp.getString("msg") + ".";
}
if(data.get("custom") != null && json!=null){
//如果自定义结果包含多个希望结果,也就是有逗号,那么就切割,包含比较。
if(data.get("custom").toString().contains(",")){
String [] strCustomStrings=data.get("custom").toString().split(",");
for(int i=0;i<strCustomStrings.length;i++){
if(!json.contains(strCustomStrings[i])){
result = result && false;
failReason = failReason + "custom is expected "
+ data.get("custom").toString() + " but actually "
+ strCustomStrings[i] + ".";
break;
}
}
}else{//如果只有一个希望结果,就直接包含比较。
if(!json.contains(data.get("custom").toString())){
result = result && false;
failReason = failReason + "custom is expected "
+ data.get("custom").toString() + " but actually "
+ data.get("custom").toString() + ".";
}
}
}
if("接口响应成功!".equals(msg)){
List<String> list=jp.getList("data.children.children");
System.out.println(list);
if (list!=null && list.size()>0 && list.get(0)!=null) {
for(int i=0;i<list.size();i++){
String shelfIds =jp.getString("data.children.children[0].shelf_id");
String[] shelfId = shelfIds.split(",");
for (String string : shelfId) {
L_shelf_id = string.replace("[", "").replace("]", "").trim();
// System.out.println(string.replace("[", "").replace("]", ""));
}
}
//
}
conn=ConnectionsMap.get("tk");
}
}
if (result)
return "Pass";
else
return "Fail:" + failReason;
}
}
package com.offcn.api.tk.app3;
import io.restassured.path.json.JsonPath;
import io.restassured.response.Response;
import java.sql.ResultSet;
import java.sql.SQLException;
import java.sql.Statement;
import java.text.SimpleDateFormat;
import java.util.Date;
import java.util.HashMap;
import java.util.List;
import java.util.Map;
import java.util.Random;
import org.json.simple.JSONArray;
import com.offcn.TestUnti.Log;
import com.offcn.TestUnti.MapUtil;
import com.offcn.TestUnti.MySqlUtil;
import com.offcn.TestUnti.RequestDataUtils;
import com.offcn.TestUnti.StringUtils;
import com.offcn.TestUnti.VerificationMethod;
import com.offcn.interfaces.API;
import com.offcn.process.TK;
import com.offcn.system.MyRequest;
import com.offcn.TestUnti.ListUtil;
import net.sf.json.JSONObject;
/**
* 2. 最近练习的练习册列表
*
*/
public class reStudyPracticeV3 extends TK implements API {
public String parameter;//参数集合
public String user_id;//用户id
public String practice_id;//练习册id
//public String appid;//标识
@Override
public void initialize(HashMap<String, Object> data) {
if (!isProduct && data.get("CleanDB").toString().contains("Y")) {
cleanUser_FromDB();//清除注册用户根据user_id
}
}
@Override
public HashMap<String, Object> handleInput(HashMap<String, Object> data) {
// 获取parameter对应的内容
parameter = MapUtil.getValue("parameter", data);
practice_id = MapUtil.getParameter(parameter, "practice_id").trim();
user_id = MapUtil.getParameter(parameter, "user_id").trim();
//appid = MapUtil.getParameter_get(parameter, "appid").trim();
if ((!user_id.equals("")) && user_id.equals("code")) {
user_id=ListUtil.getListValue(user_idList,0);
parameter = parameter.replace("\"user_id\":code", "\"user_id\":\""+ user_id + "\"");
}
data.put("parameter", parameter);
return data;
}
@Override
public Response SendRequest(HashMap<String, Object> data, String Url,
String Request) {
Map<String, String> headers=new HashMap<String, String>();
headers.put("Authorization", tk_token);
Map<String, String> jsonAsMap=new HashMap<String, String>();
parameter = MapUtil.getValue("parameter", data);
String tikuString= MapUtil.getParameter(parameter, "appid").trim();
tikuString = MapUtil.killQuotes(tikuString, "\"");
jsonAsMap.put("user_id", user_id);
jsonAsMap.put("practice_id", practice_id);
jsonAsMap.put("appid", tikuString);
MyRequest myRequest=new MyRequest();
myRequest.setUrl(Url);
myRequest.setHeaders(headers);
myRequest.setFormParameter(jsonAsMap);
myRequest.setRequest(Request);
Response re = RequestDataUtils.RestAssuredApi(data, myRequest);
return re;
}
@Override
public String handleOutput(Response re, HashMap<String, Object> data) {
JsonPath jp = re.body().jsonPath();
boolean result = true;
String failReason = "";
String json = StringUtils.decodeUnicode(re.asString());
if ((data.get("statusCode") != null)
&& (!data.get("statusCode").toString()
.equals(String.valueOf(re.getStatusCode())))) {
result = result && false;
failReason = failReason + "statusCode is expected "
+ data.get("statusCode").toString() + " but actually "
+ String.valueOf(re.getStatusCode()) + ". ";
}
if (json.length() != 0) {
String msg=jp.getString("message");
String code=jp.getString("retcode");
if ((data.get("code") != null ) && (code != null) && (!code.equals(data.get("code").toString()))) {
result = result && false;
// if(shelf_id =="" && shelf_id.equals("")){
// failReason = "10001";
// }
failReason = failReason + "code is expected "
+ data.get("code").toString() + " but actually "
+ jp.getString("code") + ".";
}
if ((data.get("msg") != null) && (msg != null) && (!msg.equals(data.get("msg").toString()))) {
result = result && false;
// if(shelf_id =="" && shelf_id.equals("")){
// failReason = "参数接收失败!";
// }
failReason = failReason + "msg is expected "
+ data.get("msg").toString() + " but actually "
+ jp.getString("msg") + ".";
}
if(data.get("custom") != null && json!=null){
//如果自定义结果包含多个希望结果,也就是有逗号,那么就切割,包含比较。
if(data.get("custom").toString().contains(",")){
String [] strCustomStrings=data.get("custom").toString().split(",");
for(int i=0;i<strCustomStrings.length;i++){
if(!json.contains(strCustomStrings[i])){
result = result && false;
failReason = failReason + "custom is expected "
+ data.get("custom").toString() + " but actually "
+ strCustomStrings[i] + ".";
break;
}
}
}else{//如果只有一个希望结果,就直接包含比较。
if(!json.contains(data.get("custom").toString())){
result = result && false;
failReason = failReason + "custom is expected "
+ data.get("custom").toString() + " but actually "
+ data.get("custom").toString() + ".";
}
}
}
if("接口响应成功!".equals(msg)){
conn=ConnectionsMap.get("tk");
}
}
if (result)
return "Pass";
else
return "Fail:" + failReason;
}
}
package com.offcn.api.tk.app3;
import io.restassured.path.json.JsonPath;
import io.restassured.response.Response;
import java.sql.ResultSet;
import java.sql.SQLException;
import java.sql.Statement;
import java.text.SimpleDateFormat;
import java.util.Date;
import java.util.HashMap;
import java.util.List;
import java.util.Map;
import java.util.Random;
import org.json.simple.JSONArray;
import com.offcn.TestUnti.Log;
import com.offcn.TestUnti.MapUtil;
import com.offcn.TestUnti.MySqlUtil;
import com.offcn.TestUnti.RequestDataUtils;
import com.offcn.TestUnti.StringUtils;
import com.offcn.TestUnti.VerificationMethod;
import com.offcn.interfaces.API;
import com.offcn.process.TK;
import com.offcn.TestUnti.ListUtil;
import net.sf.json.JSONObject;
/**
* 79. 智能批改-提交申论做题记录,(85.模考大赛-获取试卷json文件+做题记录+主观题试题的采分结构,调完85接口后才能调用79接口)
*
* @author puhui
*
*/
public class submitMockExpounding extends TK implements API {
public String parameter;//参数集合
public String parameterData;//用户id
public String user_id;//用户id
@Override
public void initialize(HashMap<String, Object> data) {
if (!isProduct && data.get("CleanDB").toString().contains("Y")) {
cleanUser_FromDB();//清除注册用户根据user_id
}
}
@Override
public HashMap<String, Object> handleInput(HashMap<String, Object> data) {
// 获取parameter对应的内容
parameter = MapUtil.getValue("parameter", data);
user_id = MapUtil.getParameter(parameter, "user_id").trim();
parameterData = MapUtil.getParameter(parameter, "parameterData").trim();
if ((!user_id.equals("")) && user_id.equals("code")) {
user_id=ListUtil.getListValue(user_idList,0);
parameter = parameter.replace("\"user_id\":code", "\"user_id\":\""+ user_id + "\"");
}
if ((!parameterData.equals("")) && parameterData.equals("code")) {
parameterData="{\\\"channel\\\":\\\"1\\\",\\\"orgin\\\":\\\"3\\\",\\\"orgin_id\\\":\\\"4362\\\",\\\"record_id\\\":\\\"458\\\",\\\"is_final\\\":\\\"1\\\",\\\"user_id\\\":\\\"11292\\\",\\\"questions\\\":[{\\\"question_number\\\":\\\"1\\\",\\\"user_answer\\\":[{\\\"score_section_id\\\":\\\"0\\\",\\\"content\\\":\\\"作为中国城镇化推进过程中的一个实验性物种,特色小镇外溢出了不小的经济价值。\\\",\\\"content_section_id\\\":\\\"0\\\"}],\\\"is_hf\\\":\\\"1\\\",\\\"duration\\\":\\\"31\\\",\\\"question_id\\\":\\\"109015\\\",\\\"is_signed\\\":\\\"0\\\",\\\"type\\\":\\\"1\\\"},{\\\"question_number\\\":\\\"2\\\",\\\"user_answer\\\":[{\\\"score_section_id\\\":\\\"0\\\",\\\"content\\\":\\\"南有周庄,北有周窝\\\",\\\"content_section_id\\\":\\\"0\\\"}],\\\"is_hf\\\":\\\"1\\\",\\\"duration\\\":\\\"71\\\",\\\"question_id\\\":\\\"109016\\\",\\\"is_signed\\\":\\\"0\\\",\\\"type\\\":\\\"1\\\"},{\\\"question_number\\\":\\\"3\\\",\\\"user_answer\\\":[],\\\"is_hf\\\":\\\"1\\\",\\\"duration\\\":\\\"999\\\",\\\"question_id\\\":\\\"109017\\\",\\\"is_signed\\\":\\\"0\\\",\\\"type\\\":\\\"1\\\"},{\\\"question_number\\\":\\\"4\\\",\\\"user_answer\\\":[{\\\"score_section_id\\\":\\\"0\\\",\\\"content\\\":\\\"呵呵就不给机会\\\",\\\"content_section_id\\\":\\\"0\\\"}],\\\"is_hf\\\":\\\"1\\\",\\\"duration\\\":\\\"23\\\",\\\"question_id\\\":\\\"109018\\\",\\\"is_signed\\\":\\\"0\\\",\\\"type\\\":\\\"1\\\"}],\\\"exam_id\\\":\\\"51\\\"}";
parameter = parameter.replace("\"parameterData\":code", "\"data\":\""+ parameterData+"\"" );
}
data.put("parameter", parameter);
return data;
}
@Override
public Response SendRequest(HashMap<String, Object> data, String Url,
String Request) {
Response re = RequestDataUtils.Post_token(data, Url, tk_token);
return re;
}
@Override
public String handleOutput(Response re, HashMap<String, Object> data) {
JsonPath jp = re.body().jsonPath();
boolean result = true;
String failReason = "";
String json = StringUtils.decodeUnicode(re.asString());
if ((data.get("statusCode") != null)
&& (!data.get("statusCode").toString()
.equals(String.valueOf(re.getStatusCode())))) {
result = result && false;
failReason = failReason + "statusCode is expected "
+ data.get("statusCode").toString() + " but actually "
+ String.valueOf(re.getStatusCode()) + ". ";
}
if (json.length() != 0) {
String msg=jp.getString("message");
String code=jp.getString("retcode");
if ((data.get("code") != null ) && (code != null) && (!code.equals(data.get("code").toString()))) {
result = result && false;
failReason = failReason + "code is expected "
+ data.get("code").toString() + " but actually "
+ jp.getString("retcode") + ".";
}
if ((data.get("msg") != null) && (msg != null) && (!msg.equals(data.get("msg").toString()))) {
result = result && false;
failReason = failReason + "msg is expected "
+ data.get("msg").toString() + " but actually "
+ jp.getString("retcode") + ".";
}
if(data.get("custom") != null && json!=null){
//如果自定义结果包含多个希望结果,也就是有逗号,那么就切割,包含比较。
if(data.get("custom").toString().contains(",")){
String [] strCustomStrings=data.get("custom").toString().split(",");
for(int i=0;i<strCustomStrings.length;i++){
if(!json.contains(strCustomStrings[i])){
result = result && false;
failReason = failReason + "custom is expected "
+ data.get("custom").toString() + " but actually "
+ strCustomStrings[i] + ".";
break;
}
}
}else{//如果只有一个希望结果,就直接包含比较。
if(!json.contains(data.get("custom").toString())){
result = result && false;
failReason = failReason + "custom is expected "
+ data.get("custom").toString() + " but actually "
+ data.get("custom").toString() + ".";
}
}
}
if("0".equals(code)){
}
}
if (result)
return "Pass";
else
return "Fail:" + failReason;
}
}
package com.offcn.api.tk.app3;
import io.restassured.path.json.JsonPath;
import io.restassured.response.Response;
import java.util.HashMap;
import java.util.List;
import java.util.Map;
import com.offcn.TestUnti.MapUtil;
import com.offcn.TestUnti.RequestDataUtils;
import com.offcn.TestUnti.StringUtils;
import com.offcn.interfaces.API;
import com.offcn.process.TK;
import com.offcn.system.MyRequest;
import com.offcn.TestUnti.ListUtil;
/**
*
* @Description: 15.真题试卷-试卷交卷接口
* @author: wff
* @date: 2019年6月11日 上午11:26:23
* @version V1.0
*/
public class submitPaper extends TK implements API {
public String parameter;//参数集合
public String type;//来源:1为来自正常做题试卷,2为来自扫描二维码试卷做题,3为来自模考大赛做题试卷
public String paper_id;//试卷id
public String record_id;//记录id
public String user_id;//用户id
public String duration;//真题试卷需要传递做题时长(s)(二维码扫描不需要)
public String channel;//做题平台来源(1:题库;2:NWN)
@Override
public void initialize(HashMap<String, Object> data) {
if (!isProduct && data.get("CleanDB").toString().contains("Y")) {
cleanUser_FromDB();//清除注册用户根据user_id
}
}
@Override
public HashMap<String, Object> handleInput(HashMap<String, Object> data) {
// 获取parameter对应的内容
parameter = MapUtil.getValue("parameter", data);
type = MapUtil.getParameter(parameter, "type").trim();
paper_id = MapUtil.getParameter(parameter, "paper_id").trim();
record_id = MapUtil.getParameter(parameter, "record_id").trim();
user_id = MapUtil.getParameter(parameter, "user_id").trim();
duration = MapUtil.getParameter(parameter, "duration").trim();
channel = MapUtil.getParameter(parameter, "channel").trim();
if ((!paper_id.equals("")) && paper_id.equals("code")) {
paper_id = paper_id_L;
parameter = parameter.replace("\"paper_id\":code", "\"paper_id\":\""+ paper_id + "\"");
}
if ((!record_id.equals("")) && record_id.equals("code")) {
record_id = record_id_L;
parameter = parameter.replace("\"record_id\":code", "\"record_id\":\""+ record_id_L + "\"");
}
if ((!user_id.equals("")) && user_id.equals("code")) {
user_id=ListUtil.getListValue(user_idList,0);
parameter = parameter.replace("\"user_id\":code", "\"user_id\":\""+ user_id + "\"");
}
data.put("parameter", parameter);
return data;
}
@Override
public Response SendRequest(HashMap<String, Object> data, String Url,
String Request) {
Map<String, String> headers=new HashMap<String, String>();
headers.put("Authorization", tk_token);
Map<String, String> jsonAsMap=new HashMap<String, String>();
parameter = MapUtil.getValue("parameter", data);
String tikuString= MapUtil.getParameter(parameter, "appid").trim();
tikuString = MapUtil.killQuotes(tikuString, "\"");
jsonAsMap.put("type", type);
jsonAsMap.put("paper_id", paper_id);
jsonAsMap.put("record_id", record_id);
jsonAsMap.put("user_id", user_id);
jsonAsMap.put("duration", duration);
jsonAsMap.put("channel", channel);
jsonAsMap.put("appid", tikuString);
MyRequest myRequest=new MyRequest();
myRequest.setUrl(Url);
myRequest.setHeaders(headers);
myRequest.setFormParameter(jsonAsMap);
myRequest.setRequest(Request);
Response re = RequestDataUtils.RestAssuredApi(data, myRequest);
return re;
}
@Override
public String handleOutput(Response re, HashMap<String, Object> data) {
JsonPath jp = re.body().jsonPath();
boolean result = true;
String failReason = "";
String json = StringUtils.decodeUnicode(re.asString());
if ((data.get("statusCode") != null)
&& (!data.get("statusCode").toString()
.equals(String.valueOf(re.getStatusCode())))) {
result = result && false;
failReason = failReason + "statusCode is expected "
+ data.get("statusCode").toString() + " but actually "
+ String.valueOf(re.getStatusCode()) + ". ";
}
if (json.length() != 0) {
String msg=jp.getString("message");
String code=jp.getString("retcode");
if ((data.get("code") != null ) && (code != null) && (!code.equals(data.get("code").toString()))) {
result = result && false;
failReason = failReason + "code is expected "
+ data.get("code").toString() + " but actually "
+ jp.getString("code") + ".";
}
if ((data.get("msg") != null) && (msg != null) && (!msg.equals(data.get("msg").toString()))) {
result = result && false;
failReason = failReason + "msg is expected "
+ data.get("msg").toString() + " but actually "
+ jp.getString("msg") + ".";
}
if(data.get("custom") != null && json!=null){
//如果自定义结果包含多个希望结果,也就是有逗号,那么就切割,包含比较。
if(data.get("custom").toString().contains(",")){
String [] strCustomStrings=data.get("custom").toString().split(",");
for(int i=0;i<strCustomStrings.length;i++){
if(!json.contains(strCustomStrings[i])){
result = result && false;
failReason = failReason + "custom is expected "
+ data.get("custom").toString() + " but actually "
+ strCustomStrings[i] + ".";
break;
}
}
}else{//如果只有一个希望结果,就直接包含比较。
if(!json.contains(data.get("custom").toString())){
result = result && false;
failReason = failReason + "custom is expected "
+ data.get("custom").toString() + " but actually "
+ data.get("custom").toString() + ".";
}
}
}
if("接口响应成功!".equals(msg)){
List<String> list=jp.getList("data.children.children");
System.out.println(list);
if (list!=null && list.size()>0 && list.get(0)!=null) {
for(int i=0;i<list.size();i++){
String shelfIds =jp.getString("data.children.children[0].shelf_id");
String[] shelfId = shelfIds.split(",");
for (String string : shelfId) {
L_shelf_id = string.replace("[", "").replace("]", "").trim();
// System.out.println(string.replace("[", "").replace("]", ""));
}
}
//
}
conn=ConnectionsMap.get("tk");
}
}
if (result)
return "Pass";
else
return "Fail:" + failReason;
}
}
...@@ -35,7 +35,7 @@ public class MakeTestCases { ...@@ -35,7 +35,7 @@ public class MakeTestCases {
public static void main(String[] args) { public static void main(String[] args) {
make("TestData/CaseMake.xls","Sheet1","get","tk_3"); make("TestData/CaseMake.xls","Sheet1","post","tk_3");
} }
......
pict C:\Users\ibm\git\tiku_app\tiku_App\src\resources\case.txt>C:\Users\ibm\git\tiku_app\tiku_App\src\resources\caseOut.txt
\ No newline at end of file
package test; package test;
import java.lang.reflect.Method; import java.lang.reflect.Method;
import java.util.HashMap;
import java.util.Iterator;
import java.util.Map;
import org.testng.annotations.DataProvider; import org.testng.annotations.DataProvider;
import org.testng.annotations.Test; import org.testng.annotations.Test;
...@@ -18,4 +21,27 @@ public class testng1 { ...@@ -18,4 +21,27 @@ public class testng1 {
System.out.println("Verify User : " + username + ":" + password); System.out.println("Verify User : " + username + ":" + password);
assert username.equals(password); assert username.equals(password);
} }
public static void main(String[] args) {
Map<String, String> hashMap = new HashMap<String, String>();
hashMap.put("cn","中国");
hashMap.put("us","米国");
hashMap.put("en","英国");
System.out.println(hashMap);
/**
* Map 集合没有方法转成字符串,
* 可以按照自己的方法将其拼接成字符串
* 1、遍历map集合
*/
String str = "";//用于存放遍历出来的字符串
Iterator iterator = hashMap.keySet().iterator();
while (iterator.hasNext()) {
//2、拼接字符串
str += hashMap.get(iterator.next()).toString()+",";
}
System.out.println(str);
}
} }
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment