Skip to content
Projects
Groups
Snippets
Help
This project
Loading...
Sign in / Register
Toggle navigation
S
study
Overview
Overview
Details
Activity
Cycle Analytics
Repository
Repository
Files
Commits
Branches
Tags
Contributors
Graph
Compare
Charts
Issues
0
Issues
0
List
Board
Labels
Milestones
Merge Requests
0
Merge Requests
0
CI / CD
CI / CD
Pipelines
Jobs
Schedules
Charts
Wiki
Wiki
Snippets
Snippets
Members
Members
Collapse sidebar
Close sidebar
Activity
Graph
Charts
Create a new issue
Jobs
Commits
Issue Boards
Open sidebar
Li Yongyu
study
Commits
6c2735f3
Commit
6c2735f3
authored
Dec 16, 2020
by
IBM
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
add im
parent
b070bff6
Hide whitespace changes
Inline
Side-by-side
Showing
13 changed files
with
635 additions
and
13 deletions
+635
-13
DataAll.xls
studycenter_Api_auto_test/TestData/DataAll.xls
+0
-0
SHA.java
studycenter_Api_auto_test/src/com/offcn/TestUnti/SHA.java
+156
-0
XMLread.java
...ycenter_Api_auto_test/src/com/offcn/TestUnti/XMLread.java
+4
-4
sendMsg.java
...ter_Api_auto_test/src/com/offcn/api/study/im/sendMsg.java
+225
-0
user.java
...center_Api_auto_test/src/com/offcn/api/study/im/user.java
+225
-0
courseoutline.java
...to_test/src/com/offcn/api/study/studyl/courseoutline.java
+1
-1
daylesson.java
...i_auto_test/src/com/offcn/api/study/studyl/daylesson.java
+1
-1
lesson.java
..._Api_auto_test/src/com/offcn/api/study/studyl/lesson.java
+1
-1
STUDY.java
studycenter_Api_auto_test/src/com/offcn/process/STUDY.java
+1
-1
APITest_study.java
...enter_Api_auto_test/src/com/offcn/test/APITest_study.java
+2
-2
class.properties
studycenter_Api_auto_test/src/resources/class.properties
+3
-2
system.xml
studycenter_Api_auto_test/src/resources/system.xml
+14
-0
test.properties
studycenter_Api_auto_test/src/resources/test.properties
+2
-1
No files found.
studycenter_Api_auto_test/TestData/DataAll.xls
View file @
6c2735f3
No preview for this file type
studycenter_Api_auto_test/src/com/offcn/TestUnti/SHA.java
0 → 100644
View file @
6c2735f3
package
com
.
offcn
.
TestUnti
;
import
java.io.ByteArrayInputStream
;
import
java.io.File
;
import
java.io.FileInputStream
;
import
java.io.FileOutputStream
;
import
java.security.DigestInputStream
;
import
java.security.DigestOutputStream
;
import
java.security.MessageDigest
;
import
java.util.Arrays
;
import
javax.crypto.Mac
;
import
javax.crypto.SecretKey
;
import
javax.crypto.SecretKeyFactory
;
import
javax.crypto.spec.PBEKeySpec
;
public
class
SHA
{
public
static
void
main
(
String
[]
args
)
throws
Exception
{
sendmsg
();
adduser
();
/*//encodeByMAC("中国oP……&*()…&802134…");
Long timeString= System.currentTimeMillis();
String timestamp = timeString.toString().substring(0, 10);
System.out.println("timestamp=" + timestamp);
encodeBySHA("offcn_imcdacadscadscdsa" + timestamp);
//encodeBySHA("offcn_imb20ddff95f8278f203caacaf48fa9cfe1600833478");
*/
//shaFile();
}
public
static
void
sendmsg
()
throws
Exception
{
//encodeByMAC("中国oP……&*()…&802134…");
Long
timeString
=
System
.
currentTimeMillis
();
String
timestamp
=
timeString
.
toString
().
substring
(
0
,
10
);
System
.
out
.
println
(
"timestamp="
+
timestamp
);
encodeBySHA
(
"303843fe1b79"
+
"cdacadscadscdsa"
+
timestamp
);
//encodeBySHA("offcn_imb20ddff95f8278f203caacaf48fa9cfe1600833478");
}
public
static
void
adduser
()
throws
Exception
{
//encodeByMAC("中国oP……&*()…&802134…");
Long
timeString
=
System
.
currentTimeMillis
();
String
timestamp
=
timeString
.
toString
().
substring
(
0
,
10
);
System
.
out
.
println
(
"timestamp="
+
timestamp
);
encodeBySHA
(
"303843fe1b79cdacadscadscdsa"
+
timestamp
);
//encodeBySHA("offcn_imb20ddff95f8278f203caacaf48fa9cfe1600833478");
}
/**
* 使用MAC 算法的 消息摘要
* @param data
* @throws Exception
*/
public
static
void
encodeByMAC
(
String
data
)
throws
Exception
{
// KeyGenerator keyGen = KeyGenerator.getInstance("HmacSHA1");
// SecretKey key = keyGen.generateKey(); //这个每次生成的key不一样, 此处不能使用
PBEKeySpec
keySpec
=
new
PBEKeySpec
(
"randomkey^(^&*^%$"
.
toCharArray
());
SecretKeyFactory
keyFactory
=
SecretKeyFactory
.
getInstance
(
"PBEWithMD5AndDES"
);
SecretKey
key
=
keyFactory
.
generateSecret
(
keySpec
);
/*
* 此类提供“消息验证码”(Message Authentication Code,MAC)算法的功能。
* MAC 基于秘密密钥提供一种方式来检查在不可靠介质上进行传输或存储的信息的完整性。
* 通常,消息验证码在共享秘密密钥的两个参与者之间使用,以验证这两者之间传输的信息。
* 基于加密哈希函数的 MAC 机制也叫作 HMAC。结合秘密共享密钥,
* HMAC 可以用于任何加密哈希函数(如 MD5 或 SHA-1)
*/
Mac
mac
=
Mac
.
getInstance
(
"HmacSHA1"
);
//以下三种都可用
// Mac mac = Mac.getInstance("HmacSHA256");
// Mac mac = Mac.getInstance("HmacSHA384");
// Mac mac = Mac.getInstance("HmacSHA512");
mac
.
init
(
key
);
byte
[]
dest
=
mac
.
doFinal
(
data
.
getBytes
());
System
.
out
.
println
(
dest
.
length
);
System
.
out
.
println
(
"MAC摘要:"
+
Arrays
.
toString
(
dest
));
}
/**
* SHA1加密 使用消息摘要MessageDigest 处理
* @throws Exception
*/
public
static
String
encodeBySHA
(
String
str
)
throws
Exception
{
MessageDigest
sha1
;
sha1
=
MessageDigest
.
getInstance
(
"SHA1"
);
//以下三种不可用
// sha1 = MessageDigest.getInstance("SHA256");
// sha1 = MessageDigest.getInstance("SHA384");
// sha1 = MessageDigest.getInstance("SHA512");
// System.out.println(str.getBytes());
sha1
.
update
(
str
.
getBytes
());
//先更新摘要
byte
[]
digest
=
sha1
.
digest
();
//再通过执行诸如填充之类的最终操作完成哈希计算。在调用此方法之后,摘要被重置。
/*
* 使用指定的 byte 数组对摘要进行最后更新,然后完成摘要计算。
* 也就是说,此方法首先调用 update(input),
* 向 update 方法传递 input 数组,然后调用 digest()。
*/
// byte[] digest = sha1.digest(str.getBytes());
String
hex
=
toHex
(
digest
);
System
.
out
.
println
(
"SHA1 哈西算法值:"
+
hex
);
return
hex
;
}
/**
* 文件数据摘要
* @throws Exception
*/
public
static
void
shaFile
()
throws
Exception
{
MessageDigest
messageDigest
=
MessageDigest
.
getInstance
(
"SHA1"
);
DigestOutputStream
dos
=
new
DigestOutputStream
(
new
FileOutputStream
(
new
File
(
"abc.txt"
)),
messageDigest
);
dos
.
write
(
"中华人民……&())f*(214)admin*"
.
getBytes
());
dos
.
close
();
byte
[]
digest
=
messageDigest
.
digest
();
System
.
out
.
println
(
"使用流写文件,该文件的摘要为:"
+
toHex
(
digest
));
DigestInputStream
dis
=
new
DigestInputStream
(
new
FileInputStream
(
new
File
(
"abc.txt"
)),
messageDigest
);
byte
[]
buf
=
new
byte
[
100
];
int
len
;
while
((
len
=
dis
.
read
(
buf
))
!=
-
1
)
{
System
.
out
.
println
(
"读取到的数据为:"
+
new
String
(
buf
,
0
,
len
));
}
dis
.
close
();
byte
[]
digest2
=
messageDigest
.
digest
();
//当流读取完毕,即将文件读完了, 这时的摘要 才与 写入时的 一样
System
.
out
.
println
(
"使用流读文件,该文件的摘要为:"
+
toHex
(
digest2
));
}
/**
* sha1 摘要转16进制
* @param digest
* @return
*/
private
static
String
toHex
(
byte
[]
digest
)
{
StringBuilder
sb
=
new
StringBuilder
();
int
len
=
digest
.
length
;
String
out
=
null
;
for
(
int
i
=
0
;
i
<
len
;
i
++)
{
// out = Integer.toHexString(0xFF & digest[i] + 0xABCDEF); //加任意 salt
out
=
Integer
.
toHexString
(
0xFF
&
digest
[
i
]);
//原始方法
if
(
out
.
length
()
==
1
)
{
sb
.
append
(
"0"
);
//如果为1位 前面补个0
}
sb
.
append
(
out
);
}
return
sb
.
toString
();
}
}
studycenter_Api_auto_test/src/com/offcn/TestUnti/XMLread.java
View file @
6c2735f3
...
...
@@ -21,11 +21,11 @@ public class XMLread {
@SuppressWarnings
(
"unchecked"
)
Map
<
String
,
Object
>
map
=(
Map
<
String
,
Object
>)
xml
.
getSystem
();
system
ysx
=(
system
)
map
.
get
(
"Gm_ysx"
);
system
dd
=(
system
)
map
.
get
(
"Gm_dd"
);
system
ysx
=(
system
)
map
.
get
(
"study"
);
System
.
out
.
println
(
ysx
.
getRM_URI
());
System
.
out
.
println
(
ysx
.
getRM_port
());
System
.
out
.
println
(
dd
.
getRM_port
());
}
@SuppressWarnings
({
"rawtypes"
,
"unchecked"
})
...
...
studycenter_Api_auto_test/src/com/offcn/api/study/im/sendMsg.java
0 → 100644
View file @
6c2735f3
package
com
.
offcn
.
api
.
study
.
im
;
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.DateFormat
;
import
java.text.SimpleDateFormat
;
import
java.util.Date
;
import
java.util.HashMap
;
import
java.util.Locale
;
import
java.util.Map
;
import
java.util.Random
;
import
org.json.simple.JSONArray
;
import
sun.security.krb5.internal.Ticket
;
import
com.offcn.TestUnti.Log
;
import
com.offcn.TestUnti.MapUtil
;
import
com.offcn.TestUnti.RequestDataUtils
;
import
com.offcn.TestUnti.StringUtils
;
import
com.offcn.interfaces.API
;
import
com.offcn.process.STUDY
;
import
com.offcn.system.MyRequest
;
import
com.offcn.system.system
;
import
com.offcn.TestUnti.ListUtil
;
import
net.sf.json.JSONObject
;
import
net.sf.json.JSONObject
;
import
com.offcn.TestUnti.SHA
;
/**
* IM 发送消息
*
* @author liyy
*
*/
public
class
sendMsg
extends
STUDY
implements
API
{
public
String
parameter
;
//参数集合
public
String
checksum
;
// 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
);
//data.put("parameter", parameter);
return
data
;
}
@Override
public
Response
SendRequest
(
HashMap
<
String
,
Object
>
data
,
String
Url
,
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);
parameter
=
MapUtil
.
getValue
(
"parameter"
,
data
);
Long
timeString
=
System
.
currentTimeMillis
();
String
timestamp
=
timeString
.
toString
().
substring
(
0
,
10
);
System
.
out
.
println
(
"timestamp="
+
timestamp
);
System
.
out
.
println
(
"parameter="
+
parameter
);
try
{
checksum
=
SHA
.
encodeBySHA
(
"303843fe1b79"
+
"cdacadscadscdsa"
+
timestamp
);
}
catch
(
Exception
e
)
{
// TODO Auto-generated catch block
e
.
printStackTrace
();
}
Map
<
String
,
String
>
header
=
new
HashMap
<
String
,
String
>();
header
.
put
(
"appkey"
,
"b1dfe60a9c1e6394ee8b092139db679d"
);
header
.
put
(
"nonce"
,
"cdacadscadscdsa"
);
header
.
put
(
"curtime"
,
timestamp
);
header
.
put
(
"checksum"
,
checksum
);
header
.
put
(
"Content-Type"
,
"application/json"
);
MyRequest
myRequest
=
new
MyRequest
();
myRequest
.
setParameter
(
parameter
);
//myRequest.setFormParameter(formParameter);
//myRequest.setUrl("http://test-im.offcncloud.com:8080/v1/sendMsg");
myRequest
.
setUrl
(
Url
);
myRequest
.
setRequest
(
Request
);
myRequest
.
setHeaders
(
header
);
//myRequest.setCookies(cookies);
Response
re
=
RequestDataUtils
.
RestAssuredApi
(
data
,
myRequest
);
return
re
;
}
@Override
public
String
handleOutput
(
Response
re
,
HashMap
<
String
,
Object
>
data
)
{
JsonPath
jp
=
re
.
body
().
jsonPath
();
System
.
out
.
println
(
"jp===="
+
jp
);
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
(
"code"
)
+
"."
;
}
/*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
&&
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
(
code
)){
//创建后数据库在哪个表
//是否验证数据库
/*if (!isProduct) {
Token = jp.getString("data.user_info.token");
System.out.println( "Token=========" + Token);
// System.out.println("datavalue=======" + jp.getString("data.moment[0].tag_name"));
try {
stmt=StatementsMap.get("nwn"); //切库
String sql="SELECT username FROM `n_admin` WHERE id = " + 118;
ResultSet rs_bankcard = this.sqlFromDB(sql);
stmt=StatementsMap.get("zxkt"); //切回默认
rs_bankcard.last();
System.out.println(rs_bankcard.getString("username"));
if(rs_bankcard.getString("username").contains("马增礼"))
{
System.out.println("db select successful ");
}else {
result = result && false;
failReason = failReason + "deleted_packate is wrong;";
}
} catch (Exception e) {
result = result && false;
failReason = failReason + "cannot verify template_id info in DB;";
e.printStackTrace();
}
}*/
}
}
if
(
result
)
return
"Pass"
;
else
return
"Fail:"
+
failReason
;
}
public
static
void
main
(
String
[]
args
)
{
System
.
out
.
println
(
DateFormat
.
getDateTimeInstance
(
2
,
2
,
Locale
.
CHINESE
).
format
(
new
java
.
util
.
Date
()));
}
}
studycenter_Api_auto_test/src/com/offcn/api/study/im/user.java
0 → 100644
View file @
6c2735f3
package
com
.
offcn
.
api
.
study
.
im
;
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.DateFormat
;
import
java.text.SimpleDateFormat
;
import
java.util.Date
;
import
java.util.HashMap
;
import
java.util.Locale
;
import
java.util.Map
;
import
java.util.Random
;
import
org.json.simple.JSONArray
;
import
sun.security.krb5.internal.Ticket
;
import
com.offcn.TestUnti.Log
;
import
com.offcn.TestUnti.MapUtil
;
import
com.offcn.TestUnti.RequestDataUtils
;
import
com.offcn.TestUnti.StringUtils
;
import
com.offcn.interfaces.API
;
import
com.offcn.process.STUDY
;
import
com.offcn.system.MyRequest
;
import
com.offcn.system.system
;
import
com.offcn.TestUnti.ListUtil
;
import
net.sf.json.JSONObject
;
import
net.sf.json.JSONObject
;
import
com.offcn.TestUnti.SHA
;
/**
* IM 导入用户
*
* @author liyy
*
*/
public
class
user
extends
STUDY
implements
API
{
public
String
parameter
;
//参数集合
public
String
checksum
;
// 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
);
//data.put("parameter", parameter);
return
data
;
}
@Override
public
Response
SendRequest
(
HashMap
<
String
,
Object
>
data
,
String
Url
,
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);
parameter
=
MapUtil
.
getValue
(
"parameter"
,
data
);
Long
timeString
=
System
.
currentTimeMillis
();
String
timestamp
=
timeString
.
toString
().
substring
(
0
,
10
);
System
.
out
.
println
(
"timestamp="
+
timestamp
);
System
.
out
.
println
(
"parameter="
+
parameter
);
try
{
checksum
=
SHA
.
encodeBySHA
(
"303843fe1b79"
+
"cdacadscadscdsa"
+
timestamp
);
}
catch
(
Exception
e
)
{
// TODO Auto-generated catch block
e
.
printStackTrace
();
}
Map
<
String
,
String
>
header
=
new
HashMap
<
String
,
String
>();
header
.
put
(
"appkey"
,
"b1dfe60a9c1e6394ee8b092139db679d"
);
header
.
put
(
"nonce"
,
"cdacadscadscdsa"
);
header
.
put
(
"curtime"
,
timestamp
);
header
.
put
(
"checksum"
,
checksum
);
header
.
put
(
"Content-Type"
,
"application/json"
);
MyRequest
myRequest
=
new
MyRequest
();
myRequest
.
setParameter
(
parameter
);
//myRequest.setFormParameter(formParameter);
System
.
out
.
println
(
"user url=="
+
Url
);
myRequest
.
setUrl
(
Url
);
myRequest
.
setRequest
(
Request
);
myRequest
.
setHeaders
(
header
);
//myRequest.setCookies(cookies);
Response
re
=
RequestDataUtils
.
RestAssuredApi
(
data
,
myRequest
);
return
re
;
}
@Override
public
String
handleOutput
(
Response
re
,
HashMap
<
String
,
Object
>
data
)
{
JsonPath
jp
=
re
.
body
().
jsonPath
();
System
.
out
.
println
(
"jp===="
+
jp
);
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
(
"code"
)
+
"."
;
}
/*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
&&
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
(
code
)){
//创建后数据库在哪个表
//是否验证数据库
/*if (!isProduct) {
Token = jp.getString("data.user_info.token");
System.out.println( "Token=========" + Token);
// System.out.println("datavalue=======" + jp.getString("data.moment[0].tag_name"));
try {
stmt=StatementsMap.get("nwn"); //切库
String sql="SELECT username FROM `n_admin` WHERE id = " + 118;
ResultSet rs_bankcard = this.sqlFromDB(sql);
stmt=StatementsMap.get("zxkt"); //切回默认
rs_bankcard.last();
System.out.println(rs_bankcard.getString("username"));
if(rs_bankcard.getString("username").contains("马增礼"))
{
System.out.println("db select successful ");
}else {
result = result && false;
failReason = failReason + "deleted_packate is wrong;";
}
} catch (Exception e) {
result = result && false;
failReason = failReason + "cannot verify template_id info in DB;";
e.printStackTrace();
}
}*/
}
}
if
(
result
)
return
"Pass"
;
else
return
"Fail:"
+
failReason
;
}
public
static
void
main
(
String
[]
args
)
{
System
.
out
.
println
(
DateFormat
.
getDateTimeInstance
(
2
,
2
,
Locale
.
CHINESE
).
format
(
new
java
.
util
.
Date
()));
}
}
studycenter_Api_auto_test/src/com/offcn/api/study/study
_
l/courseoutline.java
→
studycenter_Api_auto_test/src/com/offcn/api/study/studyl/courseoutline.java
View file @
6c2735f3
package
com
.
offcn
.
api
.
study
.
study
_
l
;
package
com
.
offcn
.
api
.
study
.
studyl
;
import
io.restassured.path.json.JsonPath
;
...
...
studycenter_Api_auto_test/src/com/offcn/api/study/study
_
l/daylesson.java
→
studycenter_Api_auto_test/src/com/offcn/api/study/studyl/daylesson.java
View file @
6c2735f3
package
com
.
offcn
.
api
.
study
.
study
_
l
;
package
com
.
offcn
.
api
.
study
.
studyl
;
import
io.restassured.path.json.JsonPath
;
...
...
studycenter_Api_auto_test/src/com/offcn/api/study/study
_
l/lesson.java
→
studycenter_Api_auto_test/src/com/offcn/api/study/studyl/lesson.java
View file @
6c2735f3
package
com
.
offcn
.
api
.
study
.
study
_
l
;
package
com
.
offcn
.
api
.
study
.
studyl
;
import
io.restassured.path.json.JsonPath
;
...
...
studycenter_Api_auto_test/src/com/offcn/process/STUDY.java
View file @
6c2735f3
...
...
@@ -38,7 +38,7 @@ public class STUDY extends BasicsGM{
public
void
Connectionsa
(){
//================设置数据库连接池=====================
ConnectionsMap
=
getConnections
(
new
String
[]{
"zxkt"
,
"nwn"
});
ConnectionsMap
=
getConnections
(
new
String
[]{
"zxkt"
});
StatementsMap
=
getStatements
(
ConnectionsMap
);
conn
=
ConnectionsMap
.
get
(
"zxkt"
);
//设置默认的连接对象
stmt
=
StatementsMap
.
get
(
"zxkt"
);
//设置默认的连接对象
...
...
studycenter_Api_auto_test/src/com/offcn/test/APITest_study.java
View file @
6c2735f3
...
...
@@ -62,7 +62,6 @@ public class APITest_study extends BasicsGM{
API
obj
=
(
API
)
object
;
setDelSystemSql
(
c
,
object
);
//保存曾经操作过的系统
BasicsGM
.
map
=
new
XMLread
().
getSystem
();
obj
.
initialize
(
data
);
...
...
@@ -72,7 +71,8 @@ public class APITest_study extends BasicsGM{
//静态和动态参数自动添加
// data = setPublicParameter(data);
// data = setDynamicParameter(data);
if
(
data
.
get
(
"serviceUrl"
).
toString
().
contains
(
"needsetPublicParameter"
))
{
if
(
data
.
get
(
"system"
).
toString
().
equals
(
"study_needparameter"
)
){
data
=
setPublicParameter
(
c
,
object
,
data
);
//静态公共参数
data
=
setDynamicParameter
(
c
,
object
,
data
);
//动态公共参数
}
...
...
studycenter_Api_auto_test/src/resources/class.properties
View file @
6c2735f3
study_ticket
=
com.offcn.api.study.
study_api
=
com.offcn.api.study.studyapi.
studyl
=
com.offcn.api.study.study_l.
\ No newline at end of file
study_l
=
com.offcn.api.study.studyl.
im
=
com.offcn.api.study.im.
\ No newline at end of file
studycenter_Api_auto_test/src/resources/system.xml
View file @
6c2735f3
...
...
@@ -27,5 +27,18 @@
<redis_db_index>
5
</redis_db_index>
</system>
<system
name=
"im"
>
<!-- 学习中心 -->
<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>
N
</isProduct>
<RM_URI>
http://test-im.offcncloud.com:8080
</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>
</systems>
\ No newline at end of file
studycenter_Api_auto_test/src/resources/test.properties
View file @
6c2735f3
xls
=
DataAll.xls
sheet
=
try
sheet
=
Sheet1
mysql_local_Online
=
local
Percentage
=
10
\ No newline at end of file
Write
Preview
Markdown
is supported
0%
Try again
or
attach a new file
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment