Commit 653e07bb by shuai

2018-10-24稳定版

parent f29edd6a
......@@ -6,7 +6,7 @@
<classes>
<class name="com.puhui.test.RenMai_APITest">
<methods>
<include name="f" invocation-numbers=""/>
<include name="f" invocation-numbers="0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 "/>
</methods>
</class>
</classes>
......
......@@ -99,6 +99,10 @@ public class RequestDataUtils {
int state = 0;
Response re = null;
RequestDataUtils rdu = new RequestDataUtils();
// System.out.println("laravel_session:"+XYZB.laravel_session);
// System.out.println("XSRF_token:"+XYZB.XSRF_token);
// System.out.println("请求参数:"+Parameter);
while (state < 5) {
try {
state++;
......@@ -106,13 +110,13 @@ public class RequestDataUtils {
// Cookie cookie1 = Cookie.Builder("username", "John").setComment("comment 1").build();
// Cookie cookie2 = Cookie.Builder("token", 1234).setComment("comment 2").build();
// Cookies cookies = new Cookies(cookie1, cookie2);
System.out.println(XYZB.laravel_session);
System.out.println(XYZB.XSRF_token);
re = rdu.getRMEnv(tem).given()
// .header("laravel_session", XYZB.laravel_session)
// .header("XSRF-TOKEN", XYZB.XSRF_token)
.cookie("laravel_session", XYZB.laravel_session)
.cookie("XSRF-TOKEN", XYZB.XSRF_token)
// .cookie("domain", ".live.offcncloud.com")
.contentType(JSON).body("{"+Parameter+"}").when()
.post(serviceURL).thenReturn();
// System.out.println(re.getStatusCode()+"............................");
......@@ -392,10 +396,13 @@ public class RequestDataUtils {
int state=0;
Response re=null;
RequestDataUtils rdu=new RequestDataUtils();
while(state<5){
try {
state++;
re = rdu.getRMEnv(tem).given().cookie("laravel_session",XYZB.laravel_session).get(serviceURL).andReturn();
re = rdu.getRMEnv(tem).given()
.cookie("laravel_session",XYZB.laravel_session)
.get(serviceURL).andReturn();
// System.out.println(re.asString());
if(!"200".equals(re.statusCode()+"")){
......@@ -430,7 +437,7 @@ public class RequestDataUtils {
while(state<5){
try {
state++;
re = rdu.getRMEnv(tem).given().get(serviceURL).andReturn();
re = rdu.getRMEnv(tem).given().header("Host", "live.offcncloud.com").get(serviceURL).andReturn();
// System.out.println(re.asString());
if(!"200".equals(re.statusCode()+"")){
......
......@@ -5,7 +5,7 @@ import java.util.ArrayList;
public class StringUtils {
public static void main(String[] args) {
String str="\\u623f\\u95f4\\u53e3\\u4ee4\\u751f\\u6210\\u5931\\u8d25";
String str="\\u90ae\\u7bb1\\u5df2\\u5b58\\u5728";
System.out.println(decodeUnicode(str));
}
//字符串按符号分隔
......
......@@ -78,11 +78,11 @@ public class admin extends XYZB implements API {
int Alength="csrf-token\" content=\"".length();
int start=json.indexOf("csrf-token\" content=\"");
int end=Alength+start+41;
Page_token=json.substring(start+Alength, end-1);
if(Page_token.length()<=0){
csrf_token=json.substring(start+Alength, end-1);
if(csrf_token.length()<=0){
result = result && false;
}
// System.out.println(Page_token);
System.out.println("Page_token:"+csrf_token);
}
if (result)
......
......@@ -59,7 +59,9 @@ public class logout extends XYZB implements API {
// System.out.println(XSRF_token);
XSRF_token="";
laravel_session="";
Page_token="";
csrf_token="";
// Salesman_token="";
// Client_token="";
if ((data.get("statusCode") != null)
&& (!data.get("statusCode").toString()
......@@ -82,7 +84,7 @@ public class logout extends XYZB implements API {
int Alength="csrf-token\" content=\"".length();
int start=json.indexOf("csrf-token\" content=\"");
int end=Alength+start+41;
Page_token=json.substring(start+Alength, end-1);
csrf_token=json.substring(start+Alength, end-1);
// System.out.println(Page_token);
}
......
......@@ -64,7 +64,7 @@ public class member extends XYZB implements API {
repass = MapUtil.getParameter(parameter, "repass").trim();
if ((!_token.equals("")) && _token.equals("code")) {
parameter = parameter.replace("\"_token\":code", "\"_token\":\""+ Page_token + "\"");
parameter = parameter.replace("\"_token\":code", "\"_token\":\""+ csrf_token + "\"");
}
......@@ -113,6 +113,8 @@ public class member extends XYZB implements API {
String failReason = "";
String json = re.asString();
// System.out.println(json);
if ((data.get("statusCode") != null)
&& (!data.get("statusCode").toString()
......
package com.offcn.api.xyzb.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.text.SimpleDateFormat;
import java.util.ArrayList;
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.Log;
import com.offcn.TestUnti.MapUtil;
import com.offcn.TestUnti.MyDateUtil;
import com.offcn.TestUnti.ReadProperties;
import com.offcn.TestUnti.RequestDataUtils;
import com.offcn.TestUnti.StringUtils;
import com.offcn.interfaces.API;
import com.offcn.process.XYZB;
import net.sf.json.JSONObject;
/**
* 删除文件信息
*
* @author puhui
*
*/
public class room_files_del extends XYZB implements API {
public String parameter;//参数集合
public String Description;//参数集合
public String id;//文件id
@Override
public void initialize(HashMap<String, Object> data) {
}
@Override
public HashMap<String, Object> handleInput(HashMap<String, Object> data) {
parameter = MapUtil.getValue("parameter", data);
id = MapUtil.getParameter(parameter, "id").trim();
if ((!id.equals("")) && id.equals("code")) {
parameter = Current_id;
parameter = MapUtil.killQuotes(parameter, "\"");//去掉双引号的Othercode
data.put("parameter", parameter);
return data;
}
if ((!id.equals("")) && id.equals("Othercode")) {
parameter = Integer.valueOf(Current_id)-2+"";
parameter = MapUtil.killQuotes(parameter, "\"");//去掉双引号的Othercode
data.put("parameter", parameter);
return data;
}
data.put("parameter", id);
return data;
}
@Override
public Response SendRequest(HashMap<String, Object> data, String Url,
String Request) {
Map<String, Object> jsonAsMap = new HashMap<>();
parameter = MapUtil.getValue("parameter", data);
Response re = RequestDataUtils.Del_Token(data,Client_token, "api/v1/room_files/"+parameter);
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=StringUtils.decodeUnicode(jp.getString("msg"));
if ((data.get("code") != null )
&& ((jp.getString("code") == null) || (!jp.getString(
"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 && jp.getString("data")!=null){
String custom=data.get("custom").toString();
String[] ArrayString=StringUtils.getArrayString(custom,",");
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("操作成功".equals(jp.getString("msg"))){
//是否是线上环境
if (!isProduct) {
try {
ResultSet rs_bankcard = this.selectFromDB(
" xyu_room_files f ",
" f.id = '" + Current_id + "' ");
rs_bankcard.last();
if (rs_bankcard.getRow()!=0){
result = result && false;
failReason = failReason + "xyu_room_files info in DB is wrong;";
} else {
Log.logInfo("xyu_room_files info in DB is correct;");
}
} catch (Exception e) {
result = result && false;
failReason = failReason + "cannot verify xyu_room_files info in DB;";
e.printStackTrace();
}
}
}
}
if (result)
return "Pass";
else
return "Fail:" + failReason;
}
}
......@@ -53,12 +53,15 @@ public class webAdmin extends XYZB implements API {
String json = re.asString();
Headers headers=re.getHeaders();
// System.out.println(headers.toString());
// System.out.println(re.getSessionId());
// System.out.println(MapUtil.showMap_String(re.getCookies()));
XSRF_token=re.getCookie("XSRF-TOKEN");
laravel_session=re.getCookie("laravel_session");
// System.out.println(XSRF_token);
// System.out.println("laravel_session:"+laravel_session);
// System.out.println("XSRF_token:"+XSRF_token);
//
// System.out.println(json);
if ((data.get("statusCode") != null)
&& (!data.get("statusCode").toString()
......@@ -77,6 +80,18 @@ public class webAdmin extends XYZB implements API {
+ String.valueOf(json) + ". ";
}
if (json.length() != 0) {
int Alength="csrf-token\" content=\"".length();
int start=json.indexOf("csrf-token\" content=\"");
int end=Alength+start+41;
csrf_token=json.substring(start+Alength, end-1);
if(csrf_token.length()<=0){
result = result && false;
}
// System.out.println("csrf_token:"+csrf_token);
}
if (result)
return "Pass";
else
......
......@@ -32,7 +32,7 @@ public class weblogin extends XYZB implements API {
public String name;//姓名
public String password;//密码
// public String _token;//token
public String _token;//token
@Override
public void initialize(HashMap<String, Object> data) {
......@@ -42,12 +42,10 @@ public class weblogin extends XYZB implements API {
public HashMap<String, Object> handleInput(HashMap<String, Object> data) {
// 获取parameter对应的内容
parameter = MapUtil.getValue("parameter", data);
// _token = MapUtil.getParameter(parameter, "_token").trim();
name = MapUtil.getParameter(parameter, "name").trim();
password = MapUtil.getParameter(parameter, "password").trim();
// if ((!_token.equals("")) && _token.equals("code")) {
// parameter = parameter.replace("\"_token\":code", "\"_token\":\""+ Page_token + "\"");
// }
_token = MapUtil.getParameter(parameter, "_token").trim();
if ((!name.equals("")) && name.equals("Enterprise_users")) {
parameter = parameter.replace("\"name\":Enterprise_users", "\"name\":\""+ Enterprise_users.get("name") + "\"");
}
......@@ -62,6 +60,9 @@ public class weblogin extends XYZB implements API {
if ((!password.equals("")) && password.equals("Business_Administrator")) {
parameter = parameter.replace("\"password\":Business_Administrator", "\"password\":\""+ Business_Administrator.get("pwd") + "\"");
}
if ((!_token.equals("")) && _token.equals("code")) {
parameter = parameter.replace("\"_token\":code", "\"_token\":\""+ csrf_token + "\"");
}
// 替换原来的parameter
data.put("parameter", parameter);
......@@ -71,7 +72,13 @@ public class weblogin extends XYZB implements API {
@Override
public Response SendRequest(HashMap<String, Object> data, String Url,
String Request) {
Response re = RequestDataUtils.Post_NOToken(data, "/web/login");
Response re = null;
String RequestGet = MapUtil.getValue("Request", data);
if("get".equals(RequestGet)){
re = RequestDataUtils.Get_Notoken_NoCookie(data, "/web/login");
}else{
re = RequestDataUtils.Post_NOToken(data, "/web/login");
}
return re;
}
......@@ -82,11 +89,6 @@ public class weblogin extends XYZB implements API {
String failReason = "";
String json = re.asString();
Headers headers=re.getHeaders();
// System.out.println(headers.toString());
// System.out.println(re.getSessionId());
//
// System.out.println(MapUtil.showMap_String(re.getCookies()));
//保存cookie
laravel_session=re.getCookie("laravel_session");
......@@ -133,6 +135,19 @@ public class weblogin extends XYZB implements API {
}
}
// if (json.length() != 0) {
// int Alength="csrf-token\" content=\"".length();
// int start=json.indexOf("csrf-token\" content=\"");
// int end=Alength+start+41;
// csrf_token=json.substring(start+Alength, end-1);
// if(csrf_token.length()<=0){
// result = result && false;
// }
// System.out.println(csrf_token);
// System.out.println(laravel_session);
// }
if (result)
return "Pass";
else
......
......@@ -23,7 +23,9 @@ import com.offcn.system.system;
public class XYZB extends BasicsGM{
public static String Page_token="";//登录页面token
// public static String Page_token="";//登录页面token,即将删除
public static String csrf_token="";//登录页面token
public static HashMap<String, Object> Enterprise_users=new HashMap<String, Object>();//企业用户
......@@ -34,7 +36,7 @@ public class XYZB extends BasicsGM{
public static String Client_token="";//客户端登录token
public static String laravel_session="";//cookie
public static String domain="";//cookie
public static String XSRF_token="";// XSRF-token
public static String Current_mails_id="";// 当前用户通讯录表主键
......@@ -178,10 +180,12 @@ public class XYZB extends BasicsGM{
//清除map集合Business_Administrator(业务管理员),表名"xyu_users",列名name,
public void cleanBusiness_AdministratorFromDB() {
try {
deleteFromDB("xyu_users", "name", Business_Administrator.get("name").toString());
} catch (Exception e) {
e.printStackTrace();
if(Business_Administrator.size()>0){
try {
deleteFromDB("xyu_users", "name", Business_Administrator.get("name").toString());
} catch (Exception e) {
e.printStackTrace();
}
}
}
}
......@@ -72,25 +72,25 @@ public class APITest extends XYZB{
codeORerrcode=getCodeOrErrcode(re);
msgORerrmsy=getMsgOrErrmsg(re);
System.out.println();
Log.logInfo("返回结果="+StringUtils.decodeUnicode(body));
System.out.println();
//数据回写
// HashMap<String, Object> ExpectResult=MapUtil.Expect(data);
// SheetUtils sheet = new SheetUtils("DataAll.xls", "Output");
// sheet.writeExcel(
// data.get("NO").toString(),
// data.get("TCNO").toString() + "_Step" + data.get("Step").toString(),
// data.get("Description").toString(),
// parameter,
// JSONObject.fromObject(ExpectResult).toString(),
// StringUtils.decodeUnicode(re.asString()),
// codeORerrcode,
// msgORerrmsy,
// result,
// time
// );
HashMap<String, Object> ExpectResult=MapUtil.Expect(data);
SheetUtils sheet = new SheetUtils("DataAll.xls", "Output");
sheet.writeExcel(
data.get("NO").toString(),
data.get("TCNO").toString() + "_Step" + data.get("Step").toString(),
data.get("Description").toString(),
parameter,
JSONObject.fromObject(ExpectResult).toString(),
StringUtils.decodeUnicode(re.asString()),
codeORerrcode,
msgORerrmsy,
result,
time
);
if(result.indexOf("Fail")!=-1){
String Expect1=data.get("code")==null?"":data.get("code").toString();
String Expect2=data.get("msg")==null?"":data.get("msg").toString();
......
......@@ -12,9 +12,9 @@
<RM_basePath></RM_basePath>
<redis_URI>10.10.229.48</redis_URI>
<redis_db_index>5</redis_db_index>
<sqlurl>jdbc:mysql://192.168.10.222:3306/xyu?useUnicode=true&amp;characterEncoding=UTF-8&amp;zeroDateTimeBehavior=convertToNull</sqlurl>
<sqlname>root</sqlname>
<sqlpwd>offcn.com</sqlpwd>
<sqlurl>jdbc:mysql://rm-2ze364spvypz122fw8o.mysql.rds.aliyuncs.com:3306/xyu?useUnicode=true&amp;characterEncoding=UTF-8&amp;zeroDateTimeBehavior=convertToNull</sqlurl>
<sqlname>master</sqlname>
<sqlpwd>EDCdd22LLZBCADF123</sqlpwd>
</system>
<system name="xyzbxs"><!-- 小雨直播 -->
......
xls=DataAll.xls
sheet=TestCase2
mysql_local_Online=Online
\ No newline at end of file
mysql_local_Online=local
\ 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