Commit 749a7281 by Li Yongyu

shop login

parent 12b531c9
<?xml version="1.0" encoding="UTF-8"?>
<fileset-config file-format-version="1.2.0" simple-config="true" sync-formatter="false">
<fileset name="all" enabled="true" check-config-name="Google Checks" local="false">
<file-match-pattern match-pattern="." include-pattern="true"/>
</fileset>
</fileset-config>
...@@ -254,9 +254,9 @@ public class Mail { ...@@ -254,9 +254,9 @@ public class Mail {
public static InternetAddress[] parseAddress(String personnel){ public static InternetAddress[] parseAddress(String personnel){
String addr=""; String addr="";
if("all".equals(personnel)){ if("all".equals(personnel)){
addr="wufeifei66504@offcn.com;wenshuang@offcn.com;liyongyu@offcn.com;" addr="liyongyu@offcn.com;"
+ "zhanghua54164@offcn.com;liwendong@offcn.com;cuimengzhen@offcn.com;" + "zhanghua54164@offcn.com;liwendong@offcn.com;cuimengzhen@offcn.com;"
+ "zhangshijie62302@offcn.com;baimanbin@offcn.com"; ;
}else{ }else{
addr="wufeifei66504@offcn.com;wenshuang@offcn.com;liyongyu@offcn.com"; addr="wufeifei66504@offcn.com;wenshuang@offcn.com;liyongyu@offcn.com";
} }
......
...@@ -69,7 +69,7 @@ public class ReadExcels { ...@@ -69,7 +69,7 @@ public class ReadExcels {
offcn_api_testData.Testcount=arrmap.length;//保存总体的用例数量 offcn_api_testData.Testcount=arrmap.length;//保存总体的用例数量
Log.logInfo("数据源读取记录:共有几列数据="+list.size()); //Log.logInfo("数据源读取记录:共有几列数据="+list.size());
Log.logInfo("数据源读取记录:共有几行数据="+arrmap.length); Log.logInfo("数据源读取记录:共有几行数据="+arrmap.length);
for(int i = 1 ; i < sheet.getPhysicalNumberOfRows() ; i++){ for(int i = 1 ; i < sheet.getPhysicalNumberOfRows() ; i++){
Row r = sheet.getRow(i); Row r = sheet.getRow(i);
......
package com.offcn.TestUnti; package com.offcn.TestUnti;
import static io.restassured.http.ContentType.JSON;
import io.restassured.RestAssured; import io.restassured.RestAssured;
import io.restassured.config.EncoderConfig; import io.restassured.config.EncoderConfig;
import io.restassured.config.RedirectConfig; import io.restassured.config.RedirectConfig;
import io.restassured.config.RestAssuredConfig; import io.restassured.config.RestAssuredConfig;
import io.restassured.config.SSLConfig; import io.restassured.config.SSLConfig;
import io.restassured.http.ContentType; import io.restassured.http.ContentType;
import io.restassured.http.Cookies;
import io.restassured.http.Headers;
import io.restassured.path.json.JsonPath; import io.restassured.path.json.JsonPath;
import io.restassured.response.Response; import io.restassured.response.Response;
import io.restassured.specification.RequestSpecification; import io.restassured.specification.RequestSpecification;
import java.io.BufferedReader;
import java.io.File; import java.io.File;
import java.util.Date; import java.io.InputStream;
import java.io.InputStreamReader;
import java.net.HttpURLConnection;
import java.net.URL;
import java.util.HashMap; import java.util.HashMap;
import java.util.Map; import java.util.Map;
import com.offcn.process.BasicsGM; import com.offcn.process.BasicsGM;
import com.offcn.process.NWN;
import com.offcn.system.MyRequest; import com.offcn.system.MyRequest;
import com.offcn.system.system; import com.offcn.system.system;
import static io.restassured.http.ContentType.JSON;
public class RequestDataUtils { public class RequestDataUtils extends NWN{
//发送请求前的准备 //发送请求前的准备
private RestAssured getRMEnv(system tem) { private RestAssured getRMEnv(system tem) {
...@@ -47,8 +49,8 @@ public class RequestDataUtils { ...@@ -47,8 +49,8 @@ public class RequestDataUtils {
} }
// RestAssured.config = ra.config().connectionConfig(RestAssured.config().getConnectionConfig().closeIdleConnectionsAfterEachResponse()); // RestAssured.config = ra.config().connectionConfig(RestAssured.config().getConnectionConfig().closeIdleConnectionsAfterEachResponse());
} }
// RestAssured.config = RestAssured.config().redirect(RedirectConfig.redirectConfig().followRedirects(false)); ra.config = RestAssured.config().redirect(RedirectConfig.redirectConfig().followRedirects(false));
//RestAssured.config = RestAssured.config().encoderConfig(EncoderConfig.encoderConfig().encodeContentTypeAs("x-www-form-urlencoded", ContentType.ANY).defaultContentCharset("utf-8")); ra.config = RestAssured.config().encoderConfig(EncoderConfig.encoderConfig().encodeContentTypeAs("x-www-form-urlencoded", ContentType.ANY).defaultContentCharset("utf-8"));
return ra; return ra;
} }
...@@ -88,13 +90,14 @@ public class RequestDataUtils { ...@@ -88,13 +90,14 @@ public class RequestDataUtils {
com.offcn.system.system tem = (com.offcn.system.system) (BasicsGM.map.get(system)); com.offcn.system.system tem = (com.offcn.system.system) (BasicsGM.map.get(system));
String path=""; String path="";
RequestDataUtils rdu = new RequestDataUtils(); RequestDataUtils rdu = new RequestDataUtils();
if(myRequest.getUrl().startsWith("http://")){ if(myRequest.getUrl().startsWith("http://")||myRequest.getUrl().startsWith("https://")){
tem=null; tem=null;
}else { }else {
path=tem.getRM_URI()+(tem.getRM_port().equals("")?"":":"+tem.getRM_port())+tem.getRM_basePath()+myRequest.getUrl(); path=tem.getRM_URI()+(tem.getRM_port().equals("")?"":":"+tem.getRM_port())+tem.getRM_basePath()+myRequest.getUrl();
} }
@SuppressWarnings("static-access") @SuppressWarnings("static-access")
//RequestSpecification rsf=rdu.getRMEnv(tem).given();
RequestSpecification rsf=rdu.getRMEnv(tem).given().contentType("application/x-www-form-urlencoded; charset=UTF-8"); RequestSpecification rsf=rdu.getRMEnv(tem).given().contentType("application/x-www-form-urlencoded; charset=UTF-8");
if(myRequest.getFormParameter()!=null){ if(myRequest.getFormParameter()!=null){
...@@ -273,8 +276,10 @@ public class RequestDataUtils { ...@@ -273,8 +276,10 @@ public class RequestDataUtils {
try { try {
state++; state++;
if(parameter != null && !"".equals(parameter)) { if(parameter != null && !"".equals(parameter)) {
re = jobApi(data,myRequest) re = jobApi(data,myRequest)
.get(myRequest.getUrl() + "?" + parameter).thenReturn(); .get(myRequest.getUrl() + "?" + parameter).thenReturn();
System.out.println("url="+myRequest.getUrl() + "?" + parameter);
}else { }else {
re = jobApi(data,myRequest) re = jobApi(data,myRequest)
.get(myRequest.getUrl()).thenReturn(); .get(myRequest.getUrl()).thenReturn();
...@@ -693,7 +698,37 @@ public class RequestDataUtils { ...@@ -693,7 +698,37 @@ public class RequestDataUtils {
} }
return re; return re;
} }
//发送get请求返回整个响应结果
@SuppressWarnings("static-access")
public static Response Get_Noparameterdata(HashMap<String, Object> data,
String serviceURL,String token) {
String system= MapUtil.getValue("system", data);system = replaceString(system);
com.offcn.system.system tem=(com.offcn.system.system)(BasicsGM.map.get(system));
int state=0;
Response re=null;
RequestDataUtils rdu=new RequestDataUtils();
while(state<3){
try {
state++;
re = rdu.getRMEnv(tem).given().header("Authorization","Bearer "+ token).get(serviceURL).andReturn();
if(!"200".equals(re.statusCode()+"")){
Log.logError("请求返回"+re.statusCode()+"次。");
}else{
return re;
}
} catch (Exception e) {
Log.logError("请求超时,"+state+"次。");
}
}
return re;
}
//发送get请求返回整个响应结果 //发送get请求返回整个响应结果
@SuppressWarnings("static-access") @SuppressWarnings("static-access")
public static Response Get_token_all(HashMap<String, Object> data, public static Response Get_token_all(HashMap<String, Object> data,
...@@ -975,35 +1010,258 @@ public class RequestDataUtils { ...@@ -975,35 +1010,258 @@ public class RequestDataUtils {
int state=0; int state=0;
Response re=null; Response re=null;
Response resp2=null;
RequestDataUtils rdu=new RequestDataUtils(); RequestDataUtils rdu=new RequestDataUtils();
String path=""; String path="";
if(serviceURL.startsWith("http://")){ if(serviceURL.startsWith("http://")||serviceURL.startsWith("https://")){
tem=null; tem=null;
path=serviceURL; path=serviceURL;
}else{ }else{
path=tem.getRM_URI()+(tem.getRM_port().equals("")?"":":"+tem.getRM_port())+tem.getRM_basePath()+serviceURL; path=tem.getRM_URI()+(tem.getRM_port().equals("")?"":":"+tem.getRM_port())+tem.getRM_basePath()+serviceURL;
} }
Log.logInfo(path); Log.logInfo(path);
while(state<5){ while(state<5){
try { try {
state++; state++;
re = rdu.getRMEnv(tem).given() re = rdu.getRMEnv(tem).given()
.cookie(cookie1Name,cookie1value) .cookie(cookie1Name,cookie1value)
.cookie(cookie2Name, cookie2value) .cookie(cookie2Name, cookie2value)
.get(serviceURL).andReturn(); .get(serviceURL).andReturn();
System.out.println(re.asString());
if(!"200".equals(re.statusCode()+"")){
Log.logError("请求返回,"+re.statusCode()+"。"); if(!"200".equals(re.statusCode()+"")){
}else{ Log.logError("请求返回,"+re.statusCode()+"。");
return re; }else{
} return re;
}
// String headerLocationValue = re.getHeader("Location");
// System.out.println("重定向地址:"+headerLocationValue);
// System.out.println("返回结果:"+re.asString());
// resp2 =
// rdu.getRMEnv(tem).given()
// .cookie(cookie2Name, cookie2value)
// .expect()
// . statusCode(200)
// . when().get(headerLocationValue);
// System.out.println("返回结果:"+resp2.asString());
} catch (Exception e) { } catch (Exception e) {
System.out.println("错误原因:"+e.getMessage());
Log.logError("请求超时,"+state+"次。"); Log.logError("请求超时,"+state+"次。");
} }
} }
return re; return re;
} }
@SuppressWarnings("static-access")
public static String Get_two_cookie2(HashMap<String, Object> data,
String serviceURL,
String cookie1Name,
String cookie1value,
String cookie2Name,
String cookie2value
) {
String re="";
try {
StringBuffer buffer = new StringBuffer();
System.out.println("访问地址:" + serviceURL);
String Cookies=cookie1Name+"="+cookie1value+";"+cookie2Name+"="+cookie2value;
//发送get请求
URL serverUrl = new URL(serviceURL);
HttpURLConnection conn = (HttpURLConnection) serverUrl.openConnection();
conn.setRequestMethod("GET");
//必须设置false,否则会自动redirect到重定向后的地址
conn.setInstanceFollowRedirects(false);
conn.addRequestProperty("Accept-Charset", "UTF-8;");
conn.addRequestProperty("User-Agent", "Mozilla/5.0 (Windows; U; Windows NT 5.1; zh-CN; rv:1.9.2.8) Firefox/3.6.8");
conn.addRequestProperty("Referer", "http://matols.com/");
conn.addRequestProperty("Cookie", cookie1Name+"="+cookie1value+";"+cookie2Name+"="+cookie2value);
conn.connect();
//判定是否会进行302重定向
if (conn.getResponseCode() == 307) {
//如果会重定向,保存302重定向地址,以及Cookies,然后重新发送请求(模拟请求)
String location = conn.getHeaderField("Location");
String cookies = conn.getHeaderField("Set-Cookie");
serverUrl = new URL(location);
conn = (HttpURLConnection) serverUrl.openConnection();
conn.setRequestMethod("GET");
conn.setRequestProperty("Cookie", cookies);
conn.addRequestProperty("Accept-Charset", "UTF-8;");
conn.addRequestProperty("User-Agent","Mozilla/5.0 (Windows; U; Windows NT 5.1; zh-CN; rv:1.9.2.8) Firefox/3.6.8");
conn.addRequestProperty("Referer", "http://iip.t.eoffcn.com");
conn.connect();
System.out.println("跳转地址:" + location);
}
//判定是否会进行302重定向
if (conn.getResponseCode() == 302) {
//如果会重定向,保存302重定向地址,以及Cookies,然后重新发送请求(模拟请求)
String location = conn.getHeaderField("Location");
String cookies = conn.getHeaderField("Set-Cookie");
serverUrl = new URL(location);
conn = (HttpURLConnection) serverUrl.openConnection();
conn.setRequestMethod("GET");
conn.setRequestProperty("Cookie", cookies);
conn.addRequestProperty("Accept-Charset", "UTF-8;");
conn.addRequestProperty("User-Agent","Mozilla/5.0 (Windows; U; Windows NT 5.1; zh-CN; rv:1.9.2.8) Firefox/3.6.8");
conn.addRequestProperty("Referer", "http://iip.t.eoffcn.com");
conn.connect();
System.out.println("跳转地址:" + location);
}
//将返回的输入流转换成字符串
InputStream inputStream = conn.getInputStream();
InputStreamReader inputStreamReader = new InputStreamReader(inputStream,"utf-8");
BufferedReader bufferedReader = new BufferedReader(inputStreamReader);
String str = null;
while ((str = bufferedReader.readLine()) != null) {
buffer.append(str);
}
bufferedReader.close();
inputStreamReader.close();
// 释放资源
inputStream.close();
inputStream = null;
re=buffer.toString();
System.out.println("内容输出"+buffer.toString());
} catch (Exception e) {
e.printStackTrace();
}
return re;
}
@SuppressWarnings("static-access")
public static String Get_two_cookie_shop(HashMap<String, Object> data,
String serviceURL,
String cookie1Name,
String cookie1value,
String cookie2Name,
String cookie2value
) {
String re="";
try {
StringBuffer buffer = new StringBuffer();
System.out.println("访问地址:" + serviceURL);
String Cookies=cookie1Name+"="+cookie1value;
//发送get请求
URL serverUrl = new URL(serviceURL);
HttpURLConnection conn = (HttpURLConnection) serverUrl.openConnection();
conn.setRequestMethod("GET");
//必须设置false,否则会自动redirect到重定向后的地址
conn.setInstanceFollowRedirects(false);
conn.addRequestProperty("Accept-Charset", "UTF-8;");
conn.addRequestProperty("User-Agent", "Mozilla/5.0 (Windows; U; Windows NT 5.1; zh-CN; rv:1.9.2.8) Firefox/3.6.8");
// conn.addRequestProperty("Referer", "http://matols.com/");
conn.addRequestProperty("Cookie", Cookies );
// conn.addRequestProperty("Cookie", cookie1Name+"="+cookie1value+";"+cookie2Name+"="+cookie2value);
conn.connect();
//判定是否会进行307重定向
if (conn.getResponseCode() == 307) {
//如果会重定向,保存302重定向地址,以及Cookies,然后重新发送请求(模拟请求)
String location = conn.getHeaderField("Location");
go_session_id = conn.getHeaderField("Set-Cookie");
// System.out.println("go_session_id==" + go_session_id);
// go_session_id = go_session_id.substring(16);
go_session_id = splitData(go_session_id,"=",";");
System.out.println("go_session_id==" + go_session_id);
serverUrl = new URL(location);
conn = (HttpURLConnection) serverUrl.openConnection();
conn.setRequestMethod("GET");
conn.setRequestProperty("Cookie", Cookies+";"+"go_session_id"+"="+go_session_id+";");
// conn.addRequestProperty("Accept-Charset", "UTF-8;");
// conn.addRequestProperty("User-Agent","Mozilla/5.0 (Windows; U; Windows NT 5.1; zh-CN; rv:1.9.2.8) Firefox/3.6.8");
// conn.addRequestProperty("Referer", "http://iip.t.eoffcn.com");
conn.addRequestProperty("Referer", "http://dianshang.t.eoffcn.com/");
conn.connect();
System.out.println("跳转地址1:" + location);
admin_32_encode = conn.getHeaderField("Set-Cookie");
System.out.println("admin_32_encode==" + admin_32_encode);
admin_32_encode = splitData(admin_32_encode,"=",";");
System.out.println("admin_32_encode===" + admin_32_encode);
System.out.println("conn.getResponseCode()==" +conn.getResponseCode());
}
//判定是否会进行302重定向
if (conn.getResponseCode() == 307) {
//如果会重定向,保存302重定向地址,以及Cookies,然后重新发送请求(模拟请求)
String location = conn.getHeaderField("Location");
String cookies = conn.getHeaderField("Set-Cookie");
serverUrl = new URL(location);
conn = (HttpURLConnection) serverUrl.openConnection();
conn.setRequestMethod("GET");
String Cookiess=cookie1Name+"="+cookie1value+";"+"admin_32_encode"+"="+admin_32_encode+";"+"go_session_id"+"="+go_session_id+";";
System.out.println("Cookiess==" + Cookiess);
conn.setRequestProperty("Cookie", Cookiess);
conn.addRequestProperty("Accept-Charset", "UTF-8;");
conn.addRequestProperty("User-Agent","Mozilla/5.0 (Windows; U; Windows NT 5.1; zh-CN; rv:1.9.2.8) Firefox/3.6.8");
conn.addRequestProperty("Referer", "http://dianshang.t.eoffcn.com/");
conn.connect();
System.out.println("跳转地址2:" + location);
/* go_session_id = conn.getHeaderField("Set-Cookie");
System.out.println("go_session_id2==" + go_session_id);
/// go_session_id = splitData(go_session_id,"=",";");
System.out.println("go_session_id2===" + go_session_id);*/
System.out.println("conn.getResponseCode()==" +conn.getResponseCode());
}
if (conn.getResponseCode() == 404) {
//如果会重定向,保存302重定向地址,以及Cookies,然后重新发送请求(模拟请求)
return re;
}
//判定是否会进行302重定向
if (conn.getResponseCode() == 302) {
//如果会重定向,保存302重定向地址,以及Cookies,然后重新发送请求(模拟请求)
String location = conn.getHeaderField("Location");
String cookies = conn.getHeaderField("Set-Cookie");
serverUrl = new URL(location);
conn = (HttpURLConnection) serverUrl.openConnection();
conn.setRequestMethod("GET");
conn.setRequestProperty("Cookie", Cookies);
conn.addRequestProperty("Accept-Charset", "UTF-8;");
conn.addRequestProperty("User-Agent","Mozilla/5.0 (Windows; U; Windows NT 5.1; zh-CN; rv:1.9.2.8) Firefox/3.6.8");
conn.addRequestProperty("Referer", "http://iip.t.eoffcn.com");
conn.connect();
}
}catch (Exception e) {
e.printStackTrace();
}
/*
//将返回的输入流转换成字符串
InputStream inputStream = conn.getInputStream();
InputStreamReader inputStreamReader = new InputStreamReader(inputStream,"utf-8");
BufferedReader bufferedReader = new BufferedReader(inputStreamReader);
String str = null;
while ((str = bufferedReader.readLine()) != null) {
buffer.append(str);
}
bufferedReader.close();
inputStreamReader.close();
// 释放资源
inputStream.close();
inputStream = null;
re=buffer.toString();
System.out.println("内容输出"+buffer.toString());
} */
return re;
}
@SuppressWarnings("static-access") @SuppressWarnings("static-access")
public static Response Get_one_cookie(HashMap<String, Object> data, public static Response Get_one_cookie(HashMap<String, Object> data,
......
...@@ -32,7 +32,7 @@ public class nwngetsign { ...@@ -32,7 +32,7 @@ public class nwngetsign {
str = str + "bf2h3%^j?ljkj3706kji88697"; //教务的加密,规则固定需要加 str = str + "bf2h3%^j?ljkj3706kji88697"; //教务的加密,规则固定需要加
System.out.println("getStr===" + str); //System.out.println("getStr===" + str);
NWN.suprise_str = str; NWN.suprise_str = str;
//String str1 = "appid=tiku&avatar=http://thirdqq.qlogo.cn/qqapp/1106773681/5B50BBF83A00DC46B16B708F720A5D46/100&device_id=861837034477409&login_type=qq&nickname=hobo&open_id=1&platform=Android&version=1"+"&123456"; //String str1 = "appid=tiku&avatar=http://thirdqq.qlogo.cn/qqapp/1106773681/5B50BBF83A00DC46B16B708F720A5D46/100&device_id=861837034477409&login_type=qq&nickname=hobo&open_id=1&platform=Android&version=1"+"&123456";
String res = new LMFMD5().MD5(str); String res = new LMFMD5().MD5(str);
......
...@@ -4,6 +4,7 @@ import io.restassured.path.json.JsonPath; ...@@ -4,6 +4,7 @@ import io.restassured.path.json.JsonPath;
import io.restassured.response.Response; import io.restassured.response.Response;
import java.io.FileInputStream; import java.io.FileInputStream;
import java.io.IOException;
import java.io.InputStream; import java.io.InputStream;
import java.io.UnsupportedEncodingException; import java.io.UnsupportedEncodingException;
import java.sql.ResultSet; import java.sql.ResultSet;
...@@ -22,7 +23,6 @@ import com.offcn.TestUnti.RequestDataUtils; ...@@ -22,7 +23,6 @@ import com.offcn.TestUnti.RequestDataUtils;
import com.offcn.TestUnti.StringUtils; import com.offcn.TestUnti.StringUtils;
import com.offcn.interfaces.API; import com.offcn.interfaces.API;
import com.offcn.process.NWN; import com.offcn.process.NWN;
import net.sf.json.JSONObject; import net.sf.json.JSONObject;
...@@ -47,49 +47,55 @@ public class code extends NWN implements API { ...@@ -47,49 +47,55 @@ public class code extends NWN implements API {
@Override @Override
public Response SendRequest(HashMap<String, Object> data, String Url, public Response SendRequest(HashMap<String, Object> data, String Url,
String Request) { String Request) {
Response re = RequestDataUtils.Get_two_cookie(data, nwn_url,"admin_login_ssid",admin_login_ssid,"PHPSESSID",PHPSESSID); // postGet.HttpPostWithJson(nwn_url, "", "{\"admin_login_ssid\":"+admin_login_ssid+"}");
return re; String re = RequestDataUtils.Get_two_cookie2(data,nwn_url,"admin_login_ssid",admin_login_ssid, "PHPSESSID",PHPSESSID);
// try {
// Process p = Runtime.getRuntime().exec("python src/main/java/testTools/tools/python/login.py "+admin_login_ssid+" "+PHPSESSID+" "+nwn_url);
// } catch (IOException e) {
// // TODO Auto-generated catch block
// e.printStackTrace();
// }
System.out.println(re);
return null;
} }
@Override @Override
public String handleOutput(Response re, HashMap<String, Object> data) { public String handleOutput(Response re, HashMap<String, Object> data) {
String body=re.asString(); // String body=re.asString();
// InputStream input = new FileInputStream(file); //// InputStream input = new FileInputStream(file);
StringBuffer buffer = new StringBuffer(); // StringBuffer buffer = new StringBuffer();
//
boolean result = true; // boolean result = true;
String failReason = ""; // String failReason = "";
//
if(body.contains("<title>")){ // if(body.contains("<title>")){
int Alength="<title>".length(); // int Alength="<title>".length();
int start=body.indexOf("<title>"); // int start=body.indexOf("<title>");
int end=body.indexOf("</title>")+1; // int end=body.indexOf("</title>")+1;
body=body.substring(start+Alength, end-1); // body=body.substring(start+Alength, end-1);
} // }
// http://zgadmin.test.eoffcn.com/sso/login.html?action=check_login&encode=f086da4a32899a75e07a83476de9035f%3AiYF9fPjJbhmmEDswMBNi3KO3%2FsPCu1JSYyet723Xays%2FrXdnPRskyrutMZvbMlG0yiAjI1ibhfZtTotQsZf6VA%3D%3D&app_id=31&ref=http://nwn.t.eoffcn.com/admin/package/packagelist //// http://zgadmin.test.eoffcn.com/sso/login.html?action=check_login&encode=f086da4a32899a75e07a83476de9035f%3AiYF9fPjJbhmmEDswMBNi3KO3%2FsPCu1JSYyet723Xays%2FrXdnPRskyrutMZvbMlG0yiAjI1ibhfZtTotQsZf6VA%3D%3D&app_id=31&ref=http://nwn.t.eoffcn.com/admin/package/packagelist
// http://nwn.t.eoffcn.comhttp://zgadmin.test.eoffcn.com/sso/login.html?action=check_login&encode=f086da4a32899a75e07a83476de9035f%3AiYF9fPjJbhmmEDswMBNi3KO3%2FsPCu1JSYyet723Xays%2FrXdnPRskyrutMZvbMlG0yiAjI1ibhfZtTotQsZf6VA%3D%3D&app_id=31&ref=http://nwn.t.eoffcn.com/admin/package/packagelist //// http://nwn.t.eoffcn.comhttp://zgadmin.test.eoffcn.com/sso/login.html?action=check_login&encode=f086da4a32899a75e07a83476de9035f%3AiYF9fPjJbhmmEDswMBNi3KO3%2FsPCu1JSYyet723Xays%2FrXdnPRskyrutMZvbMlG0yiAjI1ibhfZtTotQsZf6VA%3D%3D&app_id=31&ref=http://nwn.t.eoffcn.com/admin/package/packagelist
//
if(data.get("custom") != null && body!=null){ // if(data.get("custom") != null && body!=null){
if(!(body.equals(data.get("custom")))){ // if(!(body.equals(data.get("custom")))){
result = result && false; // result = result && false;
failReason = failReason + "custom is expected " // failReason = failReason + "custom is expected "
+ data.get("custom").toString() + " but actually " // + data.get("custom").toString() + " but actually "
+ body + "."; // + body + ".";
// admin_login_ssid=re.getCookie("admin_login_ssid"); //// admin_login_ssid=re.getCookie("admin_login_ssid");
admin_31_encode=re.getCookie("admin_31_encode"); // admin_31_encode=re.getCookie("admin_31_encode");
}else{ // }else{
//
System.out.println(re.asString()); // System.out.println(re.asString());
//
} // }
} // }
//
if (result)
return "Pass"; return "Pass";
else
return "Fail:" + failReason;
}
} }}
package com.offcn.api.nwn.process;
import io.restassured.http.Headers;
import io.restassured.path.json.JsonPath;
import io.restassured.response.Response;
import java.io.FileInputStream;
import java.io.InputStream;
import java.io.UnsupportedEncodingException;
import java.sql.ResultSet;
import java.sql.SQLException;
import java.sql.Statement;
import java.util.Arrays;
import java.util.HashMap;
import java.util.Random;
import org.json.simple.JSONArray;
import com.offcn.TestUnti.Log;
import com.offcn.TestUnti.MapUtil;
import com.offcn.TestUnti.ReadProperties;
import com.offcn.TestUnti.RequestDataUtils;
import com.offcn.TestUnti.StringUtils;
import com.offcn.interfaces.API;
import com.offcn.process.NWN;
import net.sf.json.JSONObject;
/**
*获取PHPSESSID
*
* @author puhui
*
*/
public class codeold extends NWN implements API {
@Override
public void initialize(HashMap<String, Object> data) {
}
@Override
public HashMap<String, Object> handleInput(HashMap<String, Object> data) {
return data;
}
@Override
public Response SendRequest(HashMap<String, Object> data, String Url,
String Request) {
Response re = RequestDataUtils.Get_two_cookie(data,url,
"admin_login_ssid",admin_login_ssid,"PHPSESSID",PHPSESSID);
// Response re = RequestDataUtils.Get_two_cookie(data,nwn_url,
// "admin_login_ssid",admin_login_ssid,"PHPSESSID",PHPSESSID);
// Response re = RequestDataUtils.Get_houtai(data, Request,"admin_login_ssid",admin_login_ssid,"PHPSESSID",PHPSESSID);
return re;
}
@Override
public String handleOutput(Response re, HashMap<String, Object> data) {
String body=re.asString();
// InputStream input = new FileInputStream(file);
StringBuffer buffer = new StringBuffer();
boolean result = true;
String failReason = "";
if(body.contains("<title>")){
int Alength="<title>".length();
int start=body.indexOf("<title>");
int end=body.indexOf("</title>")+1;
body=body.substring(start+Alength, end-1);
}
// http://zgadmin.test.eoffcn.com/sso/login.html?action=check_login&encode=f086da4a32899a75e07a83476de9035f%3AiYF9fPjJbhmmEDswMBNi3KO3%2FsPCu1JSYyet723Xays%2FrXdnPRskyrutMZvbMlG0yiAjI1ibhfZtTotQsZf6VA%3D%3D&app_id=31&ref=http://nwn.t.eoffcn.com/admin/package/packagelist
// http://nwn.t.eoffcn.comhttp://zgadmin.test.eoffcn.com/sso/login.html?action=check_login&encode=f086da4a32899a75e07a83476de9035f%3AiYF9fPjJbhmmEDswMBNi3KO3%2FsPCu1JSYyet723Xays%2FrXdnPRskyrutMZvbMlG0yiAjI1ibhfZtTotQsZf6VA%3D%3D&app_id=31&ref=http://nwn.t.eoffcn.com/admin/package/packagelist
if(data.get("custom") != null && body!=null){
if(!(body.equals(data.get("custom")))){
result = result && false;
failReason = failReason + "custom is expected "
+ data.get("custom").toString() + " but actually "
+ body + ".";
// admin_login_ssid=re.getCookie("admin_login_ssid");
admin_31_encode=re.getCookie("admin_31_encode");
}else{
System.out.println(re.asString());
}
}
if (result)
return "Pass";
else
return "Fail:" + failReason;
}
}
...@@ -3,25 +3,14 @@ package com.offcn.api.nwn.process; ...@@ -3,25 +3,14 @@ package com.offcn.api.nwn.process;
import io.restassured.path.json.JsonPath; import io.restassured.path.json.JsonPath;
import io.restassured.response.Response; 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.HashMap;
import java.util.Map; import java.util.Map;
import org.json.simple.JSONArray;
import com.offcn.TestUnti.Log;
import com.offcn.TestUnti.MapUtil; import com.offcn.TestUnti.MapUtil;
import com.offcn.TestUnti.RequestDataUtils; import com.offcn.TestUnti.RequestDataUtils;
import com.offcn.TestUnti.StringUtils; import com.offcn.TestUnti.StringUtils;
import com.offcn.interfaces.API; import com.offcn.interfaces.API;
import com.offcn.process.NWN; import com.offcn.process.NWN;
import com.offcn.TestUnti.ListUtil;
import net.sf.json.JSONObject;
...@@ -114,7 +103,7 @@ public class login extends NWN implements API { ...@@ -114,7 +103,7 @@ public class login extends NWN implements API {
+ jp.getString("msg") + "."; + jp.getString("msg") + ".";
} }
String url=jp.getString("url");
if(data.get("custom") != null && url!=null){ if(data.get("custom") != null && url!=null){
if(!(json.contains(data.get("custom").toString()))){ if(!(json.contains(data.get("custom").toString()))){
result = result && false; result = result && false;
...@@ -124,9 +113,11 @@ public class login extends NWN implements API { ...@@ -124,9 +113,11 @@ public class login extends NWN implements API {
} }
} }
if("登录成功".equals(msg)){ if("0".equals(code)){
admin_login_ssid=re.getCookie("admin_login_ssid"); admin_login_ssid=re.getCookie("admin_login_ssid");
System.out.println("admin_login_ssid=="+ admin_login_ssid);
url = jp.getString("url");
} }
......
package com.offcn.api.nwn.process;
import io.restassured.response.Response;
import java.util.HashMap;
import com.offcn.TestUnti.RequestDataUtils;
import com.offcn.interfaces.API;
import com.offcn.process.NWN;
/**
*获取encode
*
* @author Lyy
*
*/
public class logon extends NWN implements API {
@Override
public void initialize(HashMap<String, Object> data) {
}
@Override
public HashMap<String, Object> handleInput(HashMap<String, Object> data) {
return data;
}
@Override
public Response SendRequest(HashMap<String, Object> data, String Url,
String Request) {
// postGet.HttpPostWithJson(nwn_url, "", "{\"admin_login_ssid\":"+admin_login_ssid+"}");
String re = RequestDataUtils.Get_two_cookie_shop(data,"http://dianshang.t.eoffcn.com/p/user/logon","admin_login_ssid",admin_login_ssid,"go_session_id",go_session_id);
// try {
// Process p = Runtime.getRuntime().exec("python src/main/java/testTools/tools/python/login.py "+admin_login_ssid+" "+PHPSESSID+" "+nwn_url);
// } catch (IOException e) {
// // TODO Auto-generated catch block
// e.printStackTrace();
// }
System.out.println(re);
return null;
}
@Override
public String handleOutput(Response re, HashMap<String, Object> data) {
// String body=re.asString();
//// InputStream input = new FileInputStream(file);
// StringBuffer buffer = new StringBuffer();
//
// boolean result = true;
// String failReason = "";
//
// if(body.contains("<title>")){
// int Alength="<title>".length();
// int start=body.indexOf("<title>");
// int end=body.indexOf("</title>")+1;
// body=body.substring(start+Alength, end-1);
// }
//// http://zgadmin.test.eoffcn.com/sso/login.html?action=check_login&encode=f086da4a32899a75e07a83476de9035f%3AiYF9fPjJbhmmEDswMBNi3KO3%2FsPCu1JSYyet723Xays%2FrXdnPRskyrutMZvbMlG0yiAjI1ibhfZtTotQsZf6VA%3D%3D&app_id=31&ref=http://nwn.t.eoffcn.com/admin/package/packagelist
//// http://nwn.t.eoffcn.comhttp://zgadmin.test.eoffcn.com/sso/login.html?action=check_login&encode=f086da4a32899a75e07a83476de9035f%3AiYF9fPjJbhmmEDswMBNi3KO3%2FsPCu1JSYyet723Xays%2FrXdnPRskyrutMZvbMlG0yiAjI1ibhfZtTotQsZf6VA%3D%3D&app_id=31&ref=http://nwn.t.eoffcn.com/admin/package/packagelist
//
// if(data.get("custom") != null && body!=null){
// if(!(body.equals(data.get("custom")))){
// result = result && false;
// failReason = failReason + "custom is expected "
// + data.get("custom").toString() + " but actually "
// + body + ".";
//// admin_login_ssid=re.getCookie("admin_login_ssid");
// admin_31_encode=re.getCookie("admin_31_encode");
// }else{
//
// System.out.println(re.asString());
//
// }
// }
//
return "Pass";
}}
...@@ -47,7 +47,11 @@ public class packagelist extends NWN implements API { ...@@ -47,7 +47,11 @@ public class packagelist extends NWN implements API {
@Override @Override
public Response SendRequest(HashMap<String, Object> data, String Url, public Response SendRequest(HashMap<String, Object> data, String Url,
String Request) { String Request) {
//System.out.println("url==" + Url );
//System.out.println("PHPSESSID==" + PHPSESSID );
Response re = RequestDataUtils.Get_one_cookie(data, Url, "PHPSESSID",PHPSESSID); Response re = RequestDataUtils.Get_one_cookie(data, Url, "PHPSESSID",PHPSESSID);
//Response re = RequestDataUtils.Get_Notoken_NoCookie(data, Url);
return re; return re;
} }
...@@ -71,7 +75,7 @@ public class packagelist extends NWN implements API { ...@@ -71,7 +75,7 @@ public class packagelist extends NWN implements API {
if (json.length() != 0) { if (json.length() != 0) {
String msg=jp.getString("message"); String msg=jp.getString("msg");
String code=jp.getString("retcode"); String code=jp.getString("retcode");
...@@ -101,6 +105,7 @@ public class packagelist extends NWN implements API { ...@@ -101,6 +105,7 @@ public class packagelist extends NWN implements API {
// System.out.println(MapUtil.showMap_String(re.getCookies())); // System.out.println(MapUtil.showMap_String(re.getCookies()));
// System.out.println(re.getHeaders().toString()); // System.out.println(re.getHeaders().toString());
nwn_url=url; nwn_url=url;
PHPSESSID=re.getCookie("PHPSESSID"); PHPSESSID=re.getCookie("PHPSESSID");
} }
} }
......
package com.offcn.api.nwn.process;
import io.restassured.path.json.JsonPath;
import io.restassured.response.Response;
import java.io.UnsupportedEncodingException;
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.Map;
import java.util.Random;
import org.json.simple.JSONArray;
import com.offcn.TestUnti.HttpRequest;
import com.offcn.TestUnti.Log;
import com.offcn.TestUnti.MapUtil;
import com.offcn.TestUnti.RequestDataUtils;
import com.offcn.TestUnti.StringUtils;
import com.offcn.api.nwn.md5.nwngetsign;
import com.offcn.interfaces.API;
import com.offcn.process.NWN;
import com.offcn.system.MyRequest;
import com.offcn.TestUnti.ListUtil;
/**
* 获取直播列表
*
* @author liyy
*
*/
public class programLevel extends NWN implements API {
public String parameter;// 参数集合
public String t_id;//
public String t_id_getdatabase;
@Override
public void initialize(HashMap<String, Object> data) {
// try {
// Thread.sleep(20000);
// } catch (InterruptedException e) {
// // TODO Auto-generated catch block
// e.printStackTrace();
// }
}
@Override
public HashMap<String, Object> handleInput(HashMap<String, Object> data) {
// 获取parameter对应的内容
//data.put("parameter", parameter);
return data;
}
@Override
public Response SendRequest(HashMap<String, Object> data, String Url,
String Request) {
Map<String,String> cookies=new HashMap<String,String>();
cookies.put("PHPSESSID", PHPSESSID);
cookies.put("admin_login_ssid", admin_login_ssid);
cookies.put("admin_31_encode", admin_31_encode);
MyRequest myRequest=new MyRequest();
myRequest.setUrl(Url);
myRequest.setRequest(Request);
myRequest.setCookies(cookies);
Response re = RequestDataUtils.RestAssuredApi(data, myRequest);
return re;
}
@Override
public String handleOutput(Response re, HashMap<String, Object> data) {
JsonPath jp = new JsonPath(re.asString());
System.out.println("jp====" + jp);
boolean result = true;
String failReason = "";
String json = re.asString();
json = StringUtils.decodeUnicode(json);
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) {
if (!json.contains(data.get("msg").toString())) {
result = result && false;
failReason = failReason + "msg is expected "
+ data.get("msg").toString() + " but actually "
+ jp.getString("message") + ".";
}
String url=jp.getString("url");
if (data.get("custom") != null && json != null) {
// 如果自定义结果包含多个希望结果,也就是有逗号,那么就切割,包含比较。
if (data.get("custom").toString().contains(",")) {
String[] strCustomStrings = data.get("custom").toString()
.split(",");
// System.out.println(strCustomStrings.length);
for (int i = 0; i < strCustomStrings.length; i++) {
if (!json.contains(strCustomStrings[i])) {
result = result && false;
nwn_url=url;
PHPSESSID=re.getCookie("PHPSESSID");
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() + ".";
}else {
nwn_url=url;
PHPSESSID=re.getCookie("PHPSESSID");
}
}
}
if("0".equals(jp.getString("retcode"))){
//是否验证数据库
}
}
if (result)
return "Pass";
else
return "Fail:" + failReason;
}
}
package com.offcn.api.nwn.process;
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.util.Arrays;
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.ReadProperties;
import com.offcn.TestUnti.RequestDataUtils;
import com.offcn.TestUnti.StringUtils;
import com.offcn.interfaces.API;
import com.offcn.process.NWN;
import net.sf.json.JSONObject;
/**
*获取登录地址,和获取学习包列表
*
* @author puhui
*
*/
public class returnUserInfo extends NWN implements API {
@Override
public void initialize(HashMap<String, Object> data) {
}
@Override
public HashMap<String, Object> handleInput(HashMap<String, Object> data) {
return data;
}
@Override
public Response SendRequest(HashMap<String, Object> data, String Url,
String Request) {
//System.out.println("url==" + Url );
//System.out.println("PHPSESSID==" + PHPSESSID );
Response re = RequestDataUtils.Get_one_cookie(data, Url, "PHPSESSID",PHPSESSID);
//Response re = RequestDataUtils.Get_Notoken_NoCookie(data, Url);
return re;
}
@Override
public String handleOutput(Response re, HashMap<String, Object> data) {
JsonPath jp = re.body().jsonPath();
boolean result = true;
String failReason = "";
String json = 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("msg");
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(code.equals("1002")){
nwn_url=jp.getString("url");
PHPSESSID=re.getCookie("PHPSESSID");
}
}
if (result)
return "Pass";
else
return "Fail:" + failReason;
}
}
...@@ -102,7 +102,7 @@ public class addStudent extends NWN implements API { ...@@ -102,7 +102,7 @@ public class addStudent extends NWN implements API {
String Request) { String Request) {
// System.out.println("url ===" + Url); // System.out.println("url ===" + Url);
// System.out.println("parameter ===" + parameter); // System.out.println("parameter ===" + parameter);
Response re = HttpRequest.sendGet("http://nwn.t.eoffcn.com" Response re = HttpRequest.sendGet("http://iip.t.eoffcn.com"
+ Url, parameter); + Url, parameter);
/* /*
......
package com.offcn.api.nwn.service;
import io.restassured.path.json.JsonPath;
import io.restassured.response.Response;
import java.io.UnsupportedEncodingException;
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.Map;
import java.util.Random;
import org.json.simple.JSONArray;
import com.offcn.TestUnti.HttpRequest;
import com.offcn.TestUnti.Log;
import com.offcn.TestUnti.MapUtil;
import com.offcn.TestUnti.RequestDataUtils;
import com.offcn.TestUnti.StringUtils;
import com.offcn.api.nwn.md5.nwngetsign;
import com.offcn.interfaces.API;
import com.offcn.process.NWN;
import com.offcn.system.MyRequest;
import com.offcn.TestUnti.ListUtil;
/**
* 添加作业
*
* @author liyy
*
*/
public class addTask extends NWN implements API {
public String parameter;// 参数集合
public String t_id;//
public String t_id_getdatabase;
@Override
public void initialize(HashMap<String, Object> data) {
// try {
// Thread.sleep(20000);
// } catch (InterruptedException e) {
// // TODO Auto-generated catch block
// e.printStackTrace();
// }
}
@Override
public HashMap<String, Object> handleInput(HashMap<String, Object> data) {
// 获取parameter对应的内容
parameter = MapUtil.getValue("parameter", data);
t_id = MapUtil.getParameter(parameter, "t_id").trim();
if ((!t_id.equals("")) && t_id.contains("t_id")) {
parameter = parameter.replace("\"t_id\":t_id", "\"t_id\":"
+ t_id_getdatabase);
}
data.put("parameter", parameter);
return data;
}
@Override
public Response SendRequest(HashMap<String, Object> data, String Url,
String Request) {
Map<String,String> cookies=new HashMap<String,String>();
cookies.put("PHPSESSID", PHPSESSID);
MyRequest myRequest=new MyRequest();
myRequest.setParameter(parameter);
myRequest.setUrl(Url);
myRequest.setRequest(Request);
myRequest.setCookies(cookies);
Response re = RequestDataUtils.RestAssuredApi(data, myRequest);
return re;
}
@Override
public String handleOutput(Response re, HashMap<String, Object> data) {
JsonPath jp = new JsonPath(re.asString());
System.out.println("jp====" + jp);
boolean result = true;
String failReason = "";
String json = re.asString();
json = StringUtils.decodeUnicode(json);
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) {
if (!json.contains(data.get("msg").toString())) {
result = result && false;
failReason = failReason + "msg is expected "
+ data.get("msg").toString() + " but actually "
+ jp.getString("message") + ".";
}
if (data.get("custom") != null && json != null) {
// 如果自定义结果包含多个希望结果,也就是有逗号,那么就切割,包含比较。
if (data.get("custom").toString().contains(",")) {
String[] strCustomStrings = data.get("custom").toString()
.split(",");
// System.out.println(strCustomStrings.length);
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(jp.getString("retcode"))){
//是否验证数据库
}
}
if (result)
return "Pass";
else
return "Fail:" + failReason;
}
}
...@@ -69,12 +69,7 @@ public class delStuFromPackage extends NWN implements API { ...@@ -69,12 +69,7 @@ public class delStuFromPackage extends NWN implements API {
@Override @Override
public Response SendRequest(HashMap<String, Object> data, String Url, public Response SendRequest(HashMap<String, Object> data, String Url,
String Request) { String Request) {
// Map<String,String> m=new HashMap<String,String>();
// m.put("user_info", parameter);
//Response re = RequestDataUtils.Post_cooike_form_data(data, Url,"PHPSESSID",PHPSESSID,m);
// Response re = RequestDataUtils.Get_one_cookie_pre(data, Url, "PHPSESSID",PHPSESSID);
//Response re = RequestDataUtils.Get_one_cookie(data, serviceURL, cookie1Name, cookie1value) //只能无参
// Response re = RequestDataUtils.Get_token(data, Url, "");
Map<String,String> cookies=new HashMap<String,String>(); Map<String,String> cookies=new HashMap<String,String>();
cookies.put("PHPSESSID", PHPSESSID); cookies.put("PHPSESSID", PHPSESSID);
/*Map<String,String> token=new HashMap<String,String>(); /*Map<String,String> token=new HashMap<String,String>();
......
...@@ -44,7 +44,7 @@ public class findEdupack extends NWN implements API { ...@@ -44,7 +44,7 @@ public class findEdupack extends NWN implements API {
public void initialize(HashMap<String, Object> data) { public void initialize(HashMap<String, Object> data) {
} }
@Override @Override
public HashMap<String, Object> handleInput(HashMap<String, Object> data) { public HashMap<String, Object> handleInput(HashMap<String, Object> data) {
// 获取parameter对应的内容 // 获取parameter对应的内容
...@@ -79,7 +79,7 @@ public class findEdupack extends NWN implements API { ...@@ -79,7 +79,7 @@ public class findEdupack extends NWN implements API {
// Response re = RequestDataUtils.Get_token(data, Url, ""); // Response re = RequestDataUtils.Get_token(data, Url, "");
return re; return re;
} }
@Override @Override
public String handleOutput(Response re, HashMap<String, Object> data) { public String handleOutput(Response re, HashMap<String, Object> data) {
JsonPath jp = re.body().jsonPath(); JsonPath jp = re.body().jsonPath();
......
...@@ -95,7 +95,7 @@ public class getTemplateInfo extends NWN implements API { ...@@ -95,7 +95,7 @@ public class getTemplateInfo extends NWN implements API {
String json = re.asString(); String json = re.asString();
System.out.println("response=========="+StringUtils.decodeUnicode(json)); System.out.println("response=========="+StringUtils.decodeUnicode(json));
if ((data.get("statusCode") != null) if ((data.get("statusCode") != null)
&& (!data.get("statusCode").toString() && (!data.get("statusCode").toString()
.equals(String.valueOf(re.getStatusCode())))) { .equals(String.valueOf(re.getStatusCode())))) {
...@@ -104,7 +104,7 @@ public class getTemplateInfo extends NWN implements API { ...@@ -104,7 +104,7 @@ public class getTemplateInfo extends NWN implements API {
+ data.get("statusCode").toString() + " but actually " + data.get("statusCode").toString() + " but actually "
+ String.valueOf(re.getStatusCode()) + ". "; + String.valueOf(re.getStatusCode()) + ". ";
} }
if (json.length() != 0) { if (json.length() != 0) {
String msg=StringUtils.decodeUnicode(getMsg(re)); String msg=StringUtils.decodeUnicode(getMsg(re));
......
package com.offcn.api.nwn.service;
import io.restassured.path.json.JsonPath;
import io.restassured.response.Response;
import java.io.UnsupportedEncodingException;
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.Map;
import java.util.Random;
import org.json.simple.JSONArray;
import com.offcn.TestUnti.HttpRequest;
import com.offcn.TestUnti.Log;
import com.offcn.TestUnti.MapUtil;
import com.offcn.TestUnti.RequestDataUtils;
import com.offcn.TestUnti.StringUtils;
import com.offcn.api.nwn.md5.nwngetsign;
import com.offcn.interfaces.API;
import com.offcn.process.NWN;
import com.offcn.system.MyRequest;
import com.offcn.TestUnti.ListUtil;
/**
* 获取直播列表
*
* @author liyy
*
*/
public class programLevel extends NWN implements API {
public String parameter;// 参数集合
public String t_id;//
public String t_id_getdatabase;
@Override
public void initialize(HashMap<String, Object> data) {
// try {
// Thread.sleep(20000);
// } catch (InterruptedException e) {
// // TODO Auto-generated catch block
// e.printStackTrace();
// }
}
@Override
public HashMap<String, Object> handleInput(HashMap<String, Object> data) {
// 获取parameter对应的内容
return data;
}
@Override
public Response SendRequest(HashMap<String, Object> data, String Url,
String Request) {
Map<String,String> cookies=new HashMap<String,String>();
cookies.put("PHPSESSID", PHPSESSID);
cookies.put("admin_login_ssid", admin_login_ssid);
cookies.put("admin_31_encode", admin_31_encode);
MyRequest myRequest=new MyRequest();
myRequest.setParameter(parameter);
myRequest.setUrl(Url);
myRequest.setRequest(Request);
myRequest.setCookies(cookies);
Response re = RequestDataUtils.RestAssuredApi(data, myRequest);
return re;
}
@Override
public String handleOutput(Response re, HashMap<String, Object> data) {
JsonPath jp = new JsonPath(re.asString());
System.out.println("jp====" + jp);
boolean result = true;
String failReason = "";
String json = re.asString();
json = StringUtils.decodeUnicode(json);
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) {
if (!json.contains(data.get("msg").toString())) {
result = result && false;
failReason = failReason + "msg is expected "
+ data.get("msg").toString() + " but actually "
+ jp.getString("message") + ".";
}
if (data.get("custom") != null && json != null) {
// 如果自定义结果包含多个希望结果,也就是有逗号,那么就切割,包含比较。
if (data.get("custom").toString().contains(",")) {
String[] strCustomStrings = data.get("custom").toString()
.split(",");
// System.out.println(strCustomStrings.length);
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(jp.getString("retcode"))){
//是否验证数据库
}
}
if (result)
return "Pass";
else
return "Fail:" + failReason;
}
}
package com.offcn.api.nwn.shop;
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.NWN;
import com.offcn.system.MyRequest;
/**
*
* @Description: 36.3保存是否回放
* @author: liyy
* @date: 2021年3月18日 上午9:55:38
* @version V1.0
*/
public class add extends NWN implements API {
public String parameter;//参数集合
public String record_id;//标识id
// public String phone;//层级包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);
record_id = MapUtil.getParameter(parameter, "record_id").trim();
if ((!record_id.equals("")) && record_id.equals("code")) {
record_id = "1";
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) {
Map<String,String> cookies=new HashMap<String,String>();
System.out.println("admin_32_encode 脚本用的时候=" + admin_32_encode);
cookies.put("admin_32_encode", admin_32_encode);
System.out.println("go_session_id 脚本用的时候=" + go_session_id);
cookies.put("go_session_id", go_session_id);
cookies.put("admin_login_ssid", admin_login_ssid);
//System.out.println("admin_login_ssid 脚本用的时候=" + admin_login_ssid);
Map<String,String> headers=new HashMap<String,String>();
headers.put("Cookie", "go_session_id=" + go_session_id);
headers.put("Content-Type", "application/json");
MyRequest myRequest=new MyRequest();
myRequest.setUrl(Url);
myRequest.setCookies(cookies);
myRequest.setHeaders(headers);
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 = re.asString();
// System.out.println("response=========="+StringUtils.decodeUnicode(json));
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=StringUtils.decodeUnicode(getMsg(re));
String code=getCode(re);
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") + ".";
}
/*System.out.println((data.get("msg") != null));
System.out.println((msg != null));
System.out.println(data.get("msg").toString().length());
System.out.println(msg.length());
*/
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 && jp.getString("data")!=null){
String custom=data.get("custom").toString();
String[] ArrayString=StringUtils.getArrayString(custom,",");
// System.out.println(jp.getString("custom"));
// System.out.println(Arrays.toString(ArrayString));
if(!StringUtils.VerificationString(jp.getString("data"),ArrayString)){
result = result && false;
failReason = failReason + "custom is expected "
+ data.get("custom").toString() + " but actually "
+ jp.getString("data") + ".";
}
}
/*if (code.equals("5020")) {
go_session_id = re.getCookie("go_session_id");
System.out.println("5020时候go_session_id==" + go_session_id);
}*/
}
if (result)
return "Pass";
else
return "Fail:" + failReason;
}
}
...@@ -4,29 +4,22 @@ import io.restassured.response.Response; ...@@ -4,29 +4,22 @@ import io.restassured.response.Response;
import java.lang.reflect.Method; import java.lang.reflect.Method;
import java.sql.Connection; import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.ResultSet; import java.sql.ResultSet;
import java.sql.SQLException; import java.sql.SQLException;
import java.sql.Statement; import java.sql.Statement;
import java.text.SimpleDateFormat;
import java.util.ArrayList;
import java.util.Date;
import java.util.HashMap; import java.util.HashMap;
import java.util.HashSet; import java.util.HashSet;
import java.util.Iterator; import java.util.Iterator;
import java.util.List;
import java.util.Map; import java.util.Map;
import java.util.Map.Entry;
import java.util.Set; import java.util.Set;
import net.sf.json.JSONObject;
import com.offcn.TestUnti.Log; import com.offcn.TestUnti.Log;
import com.offcn.TestUnti.MYSQLConnection; import com.offcn.TestUnti.MYSQLConnection;
import com.offcn.TestUnti.XMLread; import com.offcn.TestUnti.XMLread;
import com.offcn.system.sql; import com.offcn.system.sql;
import net.sf.json.JSONArray;
import net.sf.json.JSONObject;
public abstract class BasicsGM { public abstract class BasicsGM {
// //数据提取 // //数据提取
...@@ -211,7 +204,11 @@ public abstract class BasicsGM { ...@@ -211,7 +204,11 @@ public abstract class BasicsGM {
} }
public static String splitData(String str, String strStart, String strEnd) {
String tempStr;
tempStr = str.substring(str.indexOf(strStart) + 1, str.indexOf(strEnd,1));
return tempStr;
}
//判断字符串是否是空或者是“” //判断字符串是否是空或者是“”
public boolean StringIsNull(String str){ public boolean StringIsNull(String str){
...@@ -233,6 +230,14 @@ public abstract class BasicsGM { ...@@ -233,6 +230,14 @@ public abstract class BasicsGM {
} }
try { try {
String status=JSONObject.fromObject(re.body().asString()).getString("status");
if(StringIsNull(status)){
return status;
}
} catch (Exception e) {
}
try {
String retcode=JSONObject.fromObject(re.body().asString()).getString("retcode"); String retcode=JSONObject.fromObject(re.body().asString()).getString("retcode");
if(StringIsNull(retcode)){ if(StringIsNull(retcode)){
return retcode; return retcode;
......
package com.offcn.process; package com.offcn.process;
import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.ResultSet;
import java.sql.SQLException;
import java.sql.Statement;
import java.text.SimpleDateFormat; import java.text.SimpleDateFormat;
import java.util.ArrayList; import java.util.ArrayList;
import java.util.Date; import java.util.Date;
...@@ -12,15 +7,10 @@ import java.util.HashMap; ...@@ -12,15 +7,10 @@ import java.util.HashMap;
import java.util.Iterator; import java.util.Iterator;
import java.util.List; import java.util.List;
import java.util.Map; import java.util.Map;
import java.util.Map.Entry;
import java.util.Set; import java.util.Set;
import sun.util.logging.resources.logging;
import com.offcn.TestUnti.Log; import com.offcn.TestUnti.Log;
import com.offcn.TestUnti.MapUtil; import com.offcn.TestUnti.MapUtil;
import com.offcn.TestUnti.ReadProperties;
import com.offcn.TestUnti.cmdUtil;
import com.offcn.system.system; import com.offcn.system.system;
...@@ -32,10 +22,14 @@ public class NWN extends BasicsGM{ ...@@ -32,10 +22,14 @@ public class NWN extends BasicsGM{
//public static boolean isProduct_server=Boolean.valueOf(((system)map.get("nwn_server")).getIsProduct()); //public static boolean isProduct_server=Boolean.valueOf(((system)map.get("nwn_server")).getIsProduct());
public static String nwn_sign = "";//mis口令 public static String nwn_sign = "";//mis口令
public static String admin_login_ssid = "";//nwn登录得到的口令 public static String admin_login_ssid = "";//nwn登录得到的口令
public static String url = "";//后台登录得到的nwn登录地址
public static String nwn_url = "";//后台登录得到的nwn登录地址 public static String nwn_url = "";//后台登录得到的nwn登录地址
public static String PHPSESSID = "";//后台登录nwn,最终得到的PHPSESSID public static String PHPSESSID = "";//后台登录nwn,最终得到的PHPSESSID
public static String go_session_id = "";//后台登录电商,最终得到的go_session_id
public static String Content_Length = "";//后台登录电商,最终得到的go_session_id
public static String admin_32_encode = "";//后台登录nwn,最终得到的admin_32_encode
public static String admin_31_encode = "";//后台登录nwn,最终得到的PHPSESSID public static String admin_31_encode = "";//后台登录nwn,最终得到的PHPSESSID
public static String location = "";//后台登录nwn,最终得到的PHPSESSID
public static List<String> n_package_idList = new ArrayList<String>();//n_package的id public static List<String> n_package_idList = new ArrayList<String>();//n_package的id
public static List<String> n_admin_card_no_List = new ArrayList<String>();//n_admin的card_no public static List<String> n_admin_card_no_List = new ArrayList<String>();//n_admin的card_no
...@@ -73,7 +67,7 @@ public class NWN extends BasicsGM{ ...@@ -73,7 +67,7 @@ public class NWN extends BasicsGM{
public void Connectionsa(){ public void Connectionsa(){
//================设置数据库连接池===================== //================设置数据库连接池=====================
ConnectionsMap=getConnections(new String[]{"zxkt","nwn","iip"}); ConnectionsMap=getConnections(new String[]{"iip","zxkt"});
StatementsMap=getStatements(ConnectionsMap); StatementsMap=getStatements(ConnectionsMap);
conn=ConnectionsMap.get("iip");//设置默认的连接对象 conn=ConnectionsMap.get("iip");//设置默认的连接对象
stmt=StatementsMap.get("iip");//设置默认的连接对象 stmt=StatementsMap.get("iip");//设置默认的连接对象
......
...@@ -47,7 +47,7 @@ public class APITest_nwn extends NWN{ ...@@ -47,7 +47,7 @@ public class APITest_nwn extends NWN{
public void beforeClass() { public void beforeClass() {
//测试开始删除测试所用的数据 //测试开始删除测试所用的数据
if (!isClearMysql) { if (!isClearMysql) {
System.out.println("start del **************"); //System.out.println("start del **************");
this.cleann_n_admin_card_no_List_FromDB_beforeTest(); this.cleann_n_admin_card_no_List_FromDB_beforeTest();
System.out.println("end del **************"); System.out.println("end del **************");
...@@ -67,7 +67,8 @@ public class APITest_nwn extends NWN{ ...@@ -67,7 +67,8 @@ public class APITest_nwn extends NWN{
API obj = (API)object; API obj = (API)object;
setDelSystemSql(c, object);//保存曾经操作过的系统 setDelSystemSql(c, object);//保存曾经操作过的系统
BasicsGM.map=new XMLread().getSystem(); BasicsGM.map=new XMLread().getSystem();
System.out.println(BasicsGM.map);
obj.initialize(data); obj.initialize(data);
...@@ -75,8 +76,9 @@ public class APITest_nwn extends NWN{ ...@@ -75,8 +76,9 @@ public class APITest_nwn extends NWN{
String parameter = MapUtil.getValue("parameter", data); String parameter = MapUtil.getValue("parameter", data);
// System.out.println(!data.get("Request").toString().contains("get")); // System.out.println(!data.get("Request").toString().contains("get"));
// System.out.println(data.get("system").toString().equals("nwn_service")); // System.out.println(data.get("system").toString().equals("nwn_service"));
if(data.get("system").toString().equals("nwn_service") ){ if(data.get("system").toString().equals("nwn_service") ){
//静态和动态参数自动添加 //静态和动态参数自动添加
...@@ -84,7 +86,7 @@ public class APITest_nwn extends NWN{ ...@@ -84,7 +86,7 @@ public class APITest_nwn extends NWN{
data=setDynamicParameter(c,object,data);//动态公共参数 data=setDynamicParameter(c,object,data);//动态公共参数
parameter = MapUtil.getValue("parameter", data); parameter = MapUtil.getValue("parameter", data);
System.out.println("parameter=====" + parameter); // System.out.println("parameter=====" + parameter);
String serviceUrl = MapUtil.getValue("serviceUrl", data); String serviceUrl = MapUtil.getValue("serviceUrl", data);
String request = MapUtil.getValue("Request", data); String request = MapUtil.getValue("Request", data);
if (request.equals("get")) { if (request.equals("get")) {
...@@ -138,26 +140,26 @@ public class APITest_nwn extends NWN{ ...@@ -138,26 +140,26 @@ public class APITest_nwn extends NWN{
msgORerrmsy=getMsg(re); msgORerrmsy=getMsg(re);
Log.logInfo("返回结果="+StringUtils.decodeUnicode(body)); Log.logInfo("返回结果="+StringUtils.decodeUnicode(body));
System.out.println();
//数据回写 /* //数据回写
// HashMap<String, Object> ExpectResult=MapUtil.Expect(data); HashMap<String, Object> ExpectResult=MapUtil.Expect(data);
// SheetUtils sheet = new SheetUtils("DataAll.xls", "Output"); SheetUtils sheet = new SheetUtils("DataAllWff.xls", "Output");
// sheet.writeExcel( sheet.writeExcel(
// data.get("NO").toString(), data.get("NO").toString(),
// data.get("TCNO").toString() + "_Step" + data.get("Step").toString(), data.get("TCNO").toString() + "_Step" + data.get("Step").toString(),
// data.get("Description").toString(), data.get("Description").toString(),
// parameter, parameter,
//// JSONObject.fromObject(ExpectResult).toString(), // JSONObject.fromObject(ExpectResult).toString(),
// re.getStatusCode()+"", re.getStatusCode()+"",
//// StringUtils.decodeUnicode(re==null?"":re.asString()), // StringUtils.decodeUnicode(re==null?"":re.asString()),
// StringUtils.decodeUnicode(body), StringUtils.decodeUnicode(body),
// codeORerrcode, codeORerrcode,
// msgORerrmsy, msgORerrmsy,
// result, result,
// time time
// ); );*/
if(result.indexOf("Fail")!=-1){ if(result.indexOf("Fail")!=-1){
String Expect1=data.get("code")==null?"":data.get("code").toString(); String Expect1=data.get("code")==null?"":data.get("code").toString();
......
...@@ -38,7 +38,7 @@ public class NewMakeTestCases { ...@@ -38,7 +38,7 @@ public class NewMakeTestCases {
public static void main(String[] args) { public static void main(String[] args) {
make("TestData/CaseMake.xls","Sheet1","post","tk"); make("TestData/CaseMake.xls","Sheet1","post","nwn_service");
} }
......
package_id:package_id tags:"作业标签"
id:menu_id work_name:"作业名称"
t_id:"4321"
type:"1","2"
allow_appendix:"1","2"
allow_repeat:"1","2"
allow_download:"1","2"
package_id id tags work_name t_id type allow_appendix allow_repeat allow_download
package_id menu_id "作业标签" "作业名称" "4321" "2" "1" "1" "1"
"作业标签" "作业名称" "4321" "2" "2" "2" "2"
"作业标签" "作业名称" "4321" "1" "2" "1" "2"
"作业标签" "作业名称" "4321" "1" "1" "2" "2"
"作业标签" "作业名称" "4321" "1" "2" "2" "1"
xyzb=com.offcn.api.xyzb. xyzb=com.offcn.api.xyzb.
tk=com.offcn.api.tk. tk=com.offcn.api.tk.
nwn=com.offcn.api.nwn. nwn=com.offcn.api.nwn.
nwnht=com.offcn.api.nwn.
nwn_service=com.offcn.api.nwn.service. nwn_service=com.offcn.api.nwn.service.
nwn_ht=com.offcn.api.nwn.ht. nwn_ht=com.offcn.api.nwn.ht.
nwnht=com.offcn.api.nwn. shop=com.offcn.api.nwn.shop.
nwngg=com.offcn.api.nwn. nwngg=com.offcn.api.nwn.
tkapp=com.offcn.api.tk.app tkapp=com.offcn.api.tk.app
tkht=com.offcn.api.tk.ht tkht=com.offcn.api.tk.ht
\ No newline at end of file
...@@ -16,13 +16,27 @@ ...@@ -16,13 +16,27 @@
</system> </system>
<system name="shop"><!-- shop -->
<access_token_uri>http://106.75.5.205:8082/uaa/oauth/token</access_token_uri>
<client_id>bestbuy-acceptance</client_id>
<client_secret>bestbuy-acceptance</client_secret>
<grant_type>client_credentials</grant_type>
<isProduct>false</isProduct>
<RM_URI>http://dianshang.t.eoffcn.com</RM_URI>
<RM_port></RM_port>
<RM_basePath></RM_basePath>
<redis_URI>10.10.229.48</redis_URI>
<redis_db_index>5</redis_db_index>
</system>
<system name="nwnht"><!-- nwn后台 --> <system name="nwnht"><!-- nwn后台 -->
<access_token_uri>http://106.75.5.205:8082/uaa/oauth/token</access_token_uri> <access_token_uri>http://106.75.5.205:8082/uaa/oauth/token</access_token_uri>
<client_id>bestbuy-acceptance</client_id> <client_id>bestbuy-acceptance</client_id>
<client_secret>bestbuy-acceptance</client_secret> <client_secret>bestbuy-acceptance</client_secret>
<grant_type>client_credentials</grant_type> <grant_type>client_credentials</grant_type>
<isProduct>false</isProduct> <isProduct>false</isProduct>
<RM_URI>http://zgadmin.test.eoffcn.com</RM_URI> <RM_URI>http://zgadmin.t.eoffcn.com</RM_URI>
<RM_port></RM_port> <RM_port></RM_port>
<RM_basePath></RM_basePath> <RM_basePath></RM_basePath>
<redis_URI>10.10.229.48</redis_URI> <redis_URI>10.10.229.48</redis_URI>
......
xls=DataAllWff.xls xls=DataAll.xls
sheet=TestCase2 sheet=TestCase2
mysql_local_Online=local mysql_local_Online=local
Percentage=0 Percentage=0
\ No newline at end of file
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