Skip to content
Projects
Groups
Snippets
Help
This project
Loading...
Sign in / Register
Toggle navigation
N
nwn_Api_auto_test
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
shuai
nwn_Api_auto_test
Commits
013f22ff
Commit
013f22ff
authored
Jan 31, 2019
by
Li Yongyu
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
支持用例带{}的
parent
aeb72780
Expand all
Hide whitespace changes
Inline
Side-by-side
Showing
12 changed files
with
726 additions
and
19 deletions
+726
-19
CaseMake.xls
nwn_Api_auto_test/TestData/CaseMake.xls
+0
-0
DataAll.xls
nwn_Api_auto_test/TestData/DataAll.xls
+0
-0
DefectTest.xml
nwn_Api_auto_test/src/DefectTest.xml
+1
-1
HttpRequest.java
nwn_Api_auto_test/src/com/offcn/TestUnti/HttpRequest.java
+167
-0
IoResponse.java
nwn_Api_auto_test/src/com/offcn/TestUnti/IoResponse.java
+313
-0
editOutline.java
nwn_Api_auto_test/src/com/offcn/api/nwn/editOutline.java
+1
-0
nwngetsign.java
nwn_Api_auto_test/src/com/offcn/api/nwn/md5/nwngetsign.java
+1
-2
addStudent.java
...i_auto_test/src/com/offcn/api/nwn/service/addStudent.java
+220
-0
APITest_nwn.java
nwn_Api_auto_test/src/com/offcn/test/APITest_nwn.java
+1
-1
MakeTestCases.java
nwn_Api_auto_test/src/makeTestCase/MakeTestCases.java
+19
-12
MakeTestCases190131.java
nwn_Api_auto_test/src/makeTestCase/MakeTestCases190131.java
+0
-0
readExcels.java
nwn_Api_auto_test/src/makeTestCase/readExcels.java
+3
-3
No files found.
nwn_Api_auto_test/TestData/CaseMake.xls
View file @
013f22ff
No preview for this file type
nwn_Api_auto_test/TestData/DataAll.xls
View file @
013f22ff
No preview for this file type
nwn_Api_auto_test/src/DefectTest.xml
View file @
013f22ff
...
@@ -6,7 +6,7 @@
...
@@ -6,7 +6,7 @@
<classes>
<classes>
<class
name=
"com.puhui.test.RenMai_APITest"
>
<class
name=
"com.puhui.test.RenMai_APITest"
>
<methods>
<methods>
<include
name=
"f"
invocation-numbers=
"0 1 2 3
4 5 6
"
/>
<include
name=
"f"
invocation-numbers=
"0 1 2 3 "
/>
</methods>
</methods>
</class>
</class>
</classes>
</classes>
...
...
nwn_Api_auto_test/src/com/offcn/TestUnti/HttpRequest.java
0 → 100644
View file @
013f22ff
package
com
.
offcn
.
TestUnti
;
import
io.restassured.response.Response
;
import
java.io.BufferedReader
;
import
java.io.FileInputStream
;
import
java.io.FileOutputStream
;
import
java.io.IOException
;
import
java.io.InputStreamReader
;
import
java.io.OutputStreamWriter
;
import
java.io.PrintWriter
;
import
java.io.UnsupportedEncodingException
;
import
java.net.URL
;
import
java.net.URLConnection
;
import
java.util.List
;
import
java.util.Map
;
public
class
HttpRequest
{
/**
* 向指定URL发送GET方法的请求
*
* @param url
* 发送请求的URL
* @param param
* 请求参数,请求参数应该是 name1=value1&name2=value2 的形式。
* @return URL 所代表远程资源的响应结果
*/
public
static
void
main
(
String
[]
args
)
{
// Response s=HttpRequest.sendGet("http://beta.alitest.eoffcn.com/template/addStuden/sign/a75f95ec663ebda46b51f0429b8706ff",
// "user_info=[{\"package_id\":391634,\"username\":\"aaa\",\"phone\":15652333337,\"sso_id\":1}]×tamp=1548839088&appid=jiaowu");
Response
re
=
HttpRequest
.
sendGet
(
"http://beta.alitest.eoffcn.com/template/addStudent/sign/1c7e3e07567efbcd42b2fa6cd936784e"
,
"user_info=[{\"package_id\":391634,\"username\":\"aaa\",\"phone\":15652333337,\"sso_id\":1}]×tamp=1548841430&appid=jiaowu"
);
System
.
out
.
println
(
re
.
getStatusCode
());
System
.
out
.
println
(
re
.
asString
());
// try {
// String s1=new String(s.getBytes(),"utf-8");
// System.out.println(s1);
// } catch (UnsupportedEncodingException e) {
// e.printStackTrace();
// }
}
public
static
Response
sendGet
(
String
url
,
String
param
)
{
String
result
=
""
;
String
val
=
""
;
BufferedReader
in
=
null
;
Response
re
=
null
;
try
{
// String urlNameString = url ;
String
urlNameString
=
url
+
"?"
+
param
;
URL
realUrl
=
new
URL
(
urlNameString
);
// 打开和URL之间的连接
URLConnection
connection
=
realUrl
.
openConnection
();
// 设置通用的请求属性
connection
.
setRequestProperty
(
"Authorization"
,
"eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJpZCI6NSwicGhvbmUiOiIxODUxMTg1MjA0OSIsImlhdCI6MTQ4NzEzMjU0OX0.2aZ8FcfE52CYpXc4VUYjdfzzLzXwVOE-J8CnMlhUPic"
);
connection
.
setRequestProperty
(
"Content-Type"
,
"application/json"
);
// 建立实际的连接
connection
.
connect
();
// 获取所有响应头字段
Map
<
String
,
List
<
String
>>
map
=
connection
.
getHeaderFields
();
// 遍历所有的响应头字段
for
(
String
key
:
map
.
keySet
())
{
String
va
=
map
.
get
(
key
).
toString
();
//System.out.println(key + "--->" + va);
if
(
va
.
contains
(
"HTTP/1.1"
)){
val
=
va
.
toString
().
substring
(
10
,
va
.
toString
().
length
()-
4
);
//System.out.println(val);
}
}
// 定义 BufferedReader输入流来读取URL的响应
in
=
new
BufferedReader
(
new
InputStreamReader
(
connection
.
getInputStream
()));
String
line
;
while
((
line
=
in
.
readLine
())
!=
null
)
{
// o.write(line+"\r\n");
result
+=
line
;
result
+=
"\r\n"
;
}
// o.close();
IoResponse
ir
=
new
IoResponse
();
re
=
ir
.
setResponseValue
(
val
,
result
);
}
catch
(
Exception
e
)
{
System
.
out
.
println
(
"发送GET请求出现异常!"
+
e
);
e
.
printStackTrace
();
}
// 使用finally块来关闭输入流
finally
{
try
{
if
(
in
!=
null
)
{
in
.
close
();
}
}
catch
(
Exception
e2
)
{
e2
.
printStackTrace
();
}
}
return
re
;
}
/**
* 向指定 URL 发送POST方法的请求
*
* @param url
* 发送请求的 URL
* @param param
* 请求参数,请求参数应该是 name1=value1&name2=value2 的形式。
* @return 所代表远程资源的响应结果
*/
public
static
String
sendPost
(
String
url
,
String
param
)
{
PrintWriter
out
=
null
;
BufferedReader
in
=
null
;
String
result
=
""
;
try
{
URL
realUrl
=
new
URL
(
url
);
// 打开和URL之间的连接
URLConnection
conn
=
realUrl
.
openConnection
();
// 设置通用的请求属性
conn
.
setRequestProperty
(
"Authorization"
,
"eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJpZCI6NSwicGhvbmUiOiIxODUxMTg1MjA0OSIsImlhdCI6MTQ4NzEzMjU0OX0.2aZ8FcfE52CYpXc4VUYjdfzzLzXwVOE-J8CnMlhUPic"
);
conn
.
setRequestProperty
(
"Content-Type"
,
"application/json"
);
// 发送POST请求必须设置如下两行
conn
.
setDoOutput
(
true
);
conn
.
setDoInput
(
true
);
// 获取URLConnection对象对应的输出流
out
=
new
PrintWriter
(
conn
.
getOutputStream
());
// 发送请求参数
out
.
print
(
param
);
// flush输出流的缓冲
out
.
flush
();
// 定义BufferedReader输入流来读取URL的响应
in
=
new
BufferedReader
(
new
InputStreamReader
(
conn
.
getInputStream
()));
String
line
;
while
((
line
=
in
.
readLine
())
!=
null
)
{
result
+=
line
;
result
+=
"\r\n"
;
}
}
catch
(
Exception
e
)
{
System
.
out
.
println
(
"发送 POST 请求出现异常!"
+
e
);
e
.
printStackTrace
();
}
//使用finally块来关闭输出流、输入流
finally
{
try
{
if
(
out
!=
null
){
out
.
close
();
}
if
(
in
!=
null
){
in
.
close
();
}
}
catch
(
IOException
ex
){
ex
.
printStackTrace
();
}
}
return
result
;
}
}
nwn_Api_auto_test/src/com/offcn/TestUnti/IoResponse.java
0 → 100644
View file @
013f22ff
package
com
.
offcn
.
TestUnti
;
import
java.io.InputStream
;
import
java.util.Map
;
import
java.util.concurrent.TimeUnit
;
import
io.restassured.http.Cookie
;
import
io.restassured.http.Cookies
;
import
io.restassured.http.Headers
;
import
io.restassured.mapper.ObjectMapper
;
import
io.restassured.mapper.ObjectMapperType
;
import
io.restassured.path.json.JsonPath
;
import
io.restassured.path.json.config.JsonPathConfig
;
import
io.restassured.path.xml.XmlPath
;
import
io.restassured.path.xml.XmlPath.CompatibilityMode
;
import
io.restassured.path.xml.config.XmlPathConfig
;
import
io.restassured.response.Response
;
import
io.restassured.response.ResponseBody
;
import
io.restassured.response.ValidatableResponse
;
public
class
IoResponse
{
public
static
void
main
(
String
[]
args
)
{
// TODO Auto-generated method stub
}
public
Response
setResponseValue
(
final
String
StatusCode
,
final
String
asString
){
Response
re
=
new
Response
()
{
@Override
public
ValidatableResponse
then
()
{
// TODO Auto-generated method stub
return
null
;
}
@Override
public
long
timeIn
(
TimeUnit
arg0
)
{
// TODO Auto-generated method stub
return
0
;
}
@Override
public
long
time
()
{
// TODO Auto-generated method stub
return
0
;
}
@Override
public
Response
thenReturn
()
{
// TODO Auto-generated method stub
return
null
;
}
@Override
public
String
statusLine
()
{
// TODO Auto-generated method stub
return
null
;
}
@Override
public
int
statusCode
()
{
// TODO Auto-generated method stub
return
0
;
}
@Override
public
String
sessionId
()
{
// TODO Auto-generated method stub
return
null
;
}
@Override
public
Headers
headers
()
{
// TODO Auto-generated method stub
return
null
;
}
@Override
public
String
header
(
String
arg0
)
{
// TODO Auto-generated method stub
return
null
;
}
@Override
public
long
getTimeIn
(
TimeUnit
arg0
)
{
// TODO Auto-generated method stub
return
0
;
}
@Override
public
long
getTime
()
{
// TODO Auto-generated method stub
return
0
;
}
@Override
public
String
getStatusLine
()
{
// TODO Auto-generated method stub
return
null
;
}
@Override
public
int
getStatusCode
()
{
// TODO Auto-generated method stub
return
Integer
.
valueOf
(
StatusCode
);
}
@Override
public
String
getSessionId
()
{
// TODO Auto-generated method stub
return
null
;
}
@Override
public
Headers
getHeaders
()
{
// TODO Auto-generated method stub
return
null
;
}
@Override
public
String
getHeader
(
String
arg0
)
{
// TODO Auto-generated method stub
return
null
;
}
@Override
public
Cookies
getDetailedCookies
()
{
// TODO Auto-generated method stub
return
null
;
}
@Override
public
Cookie
getDetailedCookie
(
String
arg0
)
{
// TODO Auto-generated method stub
return
null
;
}
@Override
public
Map
<
String
,
String
>
getCookies
()
{
// TODO Auto-generated method stub
return
null
;
}
@Override
public
String
getCookie
(
String
arg0
)
{
// TODO Auto-generated method stub
return
null
;
}
@Override
public
String
getContentType
()
{
// TODO Auto-generated method stub
return
null
;
}
@Override
public
ResponseBody
getBody
()
{
// TODO Auto-generated method stub
return
null
;
}
@Override
public
Cookies
detailedCookies
()
{
// TODO Auto-generated method stub
return
null
;
}
@Override
public
Cookie
detailedCookie
(
String
arg0
)
{
// TODO Auto-generated method stub
return
null
;
}
@Override
public
Map
<
String
,
String
>
cookies
()
{
// TODO Auto-generated method stub
return
null
;
}
@Override
public
String
cookie
(
String
arg0
)
{
// TODO Auto-generated method stub
return
null
;
}
@Override
public
String
contentType
()
{
// TODO Auto-generated method stub
return
null
;
}
@Override
public
ResponseBody
body
()
{
// TODO Auto-generated method stub
return
null
;
}
@Override
public
Response
andReturn
()
{
// TODO Auto-generated method stub
return
null
;
}
@Override
public
String
asString
()
{
// TODO Auto-generated method stub
return
asString
;
}
@Override
public
InputStream
asInputStream
()
{
// TODO Auto-generated method stub
return
null
;
}
@Override
public
byte
[]
asByteArray
()
{
// TODO Auto-generated method stub
return
null
;
}
@Override
public
XmlPath
xmlPath
(
CompatibilityMode
arg0
)
{
// TODO Auto-generated method stub
return
null
;
}
@Override
public
XmlPath
xmlPath
(
XmlPathConfig
arg0
)
{
// TODO Auto-generated method stub
return
null
;
}
@Override
public
XmlPath
xmlPath
()
{
// TODO Auto-generated method stub
return
null
;
}
@Override
public
<
T
>
T
path
(
String
arg0
,
String
...
arg1
)
{
// TODO Auto-generated method stub
return
null
;
}
@Override
public
JsonPath
jsonPath
(
JsonPathConfig
arg0
)
{
// TODO Auto-generated method stub
return
null
;
}
@Override
public
JsonPath
jsonPath
()
{
// TODO Auto-generated method stub
return
null
;
}
@Override
public
XmlPath
htmlPath
()
{
// TODO Auto-generated method stub
return
null
;
}
@Override
public
<
T
>
T
as
(
Class
<
T
>
arg0
,
ObjectMapper
arg1
)
{
// TODO Auto-generated method stub
return
null
;
}
@Override
public
<
T
>
T
as
(
Class
<
T
>
arg0
,
ObjectMapperType
arg1
)
{
// TODO Auto-generated method stub
return
null
;
}
@Override
public
<
T
>
T
as
(
Class
<
T
>
arg0
)
{
// TODO Auto-generated method stub
return
null
;
}
@Override
public
String
print
()
{
// TODO Auto-generated method stub
return
null
;
}
@Override
public
String
prettyPrint
()
{
// TODO Auto-generated method stub
return
null
;
}
@Override
public
Response
prettyPeek
()
{
// TODO Auto-generated method stub
return
null
;
}
@Override
public
Response
peek
()
{
// TODO Auto-generated method stub
return
null
;
}
};
return
re
;
}
}
nwn_Api_auto_test/src/com/offcn/api/nwn/editOutline.java
View file @
013f22ff
...
@@ -102,6 +102,7 @@ public class editOutline extends NWN implements API {
...
@@ -102,6 +102,7 @@ public class editOutline extends NWN implements API {
parameter
=
parameter
.
replace
(
"id=id"
,
"id="
+
c_id
);
parameter
=
parameter
.
replace
(
"id=id"
,
"id="
+
c_id
);
}
}
data
.
put
(
"parameter"
,
parameter
);
data
.
put
(
"parameter"
,
parameter
);
return
data
;
return
data
;
}
}
...
...
nwn_Api_auto_test/src/com/offcn/api/nwn/md5/nwngetsign.java
View file @
013f22ff
...
@@ -29,8 +29,7 @@ public class nwngetsign {
...
@@ -29,8 +29,7 @@ public class nwngetsign {
sortstring
.
toString
();
sortstring
.
toString
();
System
.
out
.
println
(
"sortstring===="
+
sortstring
);
System
.
out
.
println
(
"sortstring===="
+
sortstring
);
String
str
=
sortstring
.
toString
();
String
str
=
sortstring
.
toString
();
str
=
str
+
"bf2h3%^j?ljkj3706kji88697"
;
//教务的加密,规则固定需要加
str
=
str
+
"bf2h3%^j?ljkj3706kji88697"
;
//教务的加密,规则固定需要加
System
.
out
.
println
(
"str==="
+
str
);
System
.
out
.
println
(
"str==="
+
str
);
NWN
.
suprise_str
=
str
;
NWN
.
suprise_str
=
str
;
...
...
nwn_Api_auto_test/src/com/offcn/api/nwn/service/addStudent.java
0 → 100644
View file @
013f22ff
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.ifUpdatePackage
;
import
com.offcn.api.nwn.md5.nwngetsign
;
import
com.offcn.interfaces.API
;
import
com.offcn.process.NWN
;
import
com.offcn.process.TK
;
import
com.offcn.TestUnti.ListUtil
;
/**
* 添加学员信息
*
* @author liyy
*
*/
public
class
addStudent
extends
NWN
implements
API
{
public
String
parameter
;
// 参数集合
public
String
package_id
;
// 母板ID
public
String
phone
;
//
public
String
user_info
;
//
@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
);
timestamp
=
MapUtil
.
getParameter_get
(
parameter
,
"timestamp"
).
trim
();
user_info
=
MapUtil
.
getParameter_get
(
parameter
,
"user_info"
).
trim
();
if
((!
user_info
.
equals
(
""
))
&&
user_info
.
contains
(
"package_id"
))
{
package_id
=
ListUtil
.
getListValue
(
n_package_idList
,
0
);
parameter
=
parameter
.
replace
(
"\"package_id\":package_id"
,
"\"package_id\":"
+
package_id
);
}
if
((!
user_info
.
equals
(
""
))
&&
user_info
.
contains
(
"phone"
))
{
phone
=
"1351"
+
(
new
Random
().
nextInt
(
9000000
)
+
1000000
);
parameter
=
parameter
.
replace
(
"\"phone\":phone"
,
"\"phone\":"
+
phone
);
}
if
((!
user_info
.
equals
(
""
))
&&
user_info
.
contains
(
"phone1"
))
{
phone
=
"1331"
+
(
new
Random
().
nextInt
(
9000000
)
+
1000000
);
parameter
=
parameter
.
replace
(
"\"phone\":phone1"
,
"\"phone\":"
+
phone
);
}
if
((!
user_info
.
equals
(
""
))
&&
user_info
.
contains
(
"phone2"
))
{
phone
=
"1321"
+
(
new
Random
().
nextInt
(
9000000
)
+
1000000
);
parameter
=
parameter
.
replace
(
"\"phone\":phone2"
,
"\"phone\":"
+
phone
);
}
if
((!
timestamp
.
equals
(
""
))
&&
timestamp
.
equals
(
"timestamp"
))
{
Long
timeString
=
System
.
currentTimeMillis
();
timestamp
=
timeString
.
toString
().
substring
(
0
,
10
);
parameter
=
parameter
.
replace
(
"timestamp=timestamp"
,
"timestamp="
+
timestamp
);
}
data
.
put
(
"parameter"
,
parameter
);
return
data
;
}
@Override
public
Response
SendRequest
(
HashMap
<
String
,
Object
>
data
,
String
Url
,
String
Request
)
{
System
.
out
.
println
(
"url ==="
+
Url
);
System
.
out
.
println
(
"parameter ==="
+
parameter
);
Response
re
=
HttpRequest
.
sendGet
(
"http://beta.alitest.eoffcn.com"
+
Url
,
parameter
);
/*
* System.out.println(re.getStatusCode());
* System.out.println(re.asString());
*/
// http://beta.alitest.eoffcn.com/template/addStuden/sign/0e74b43cefd12b43705d22cfdd744efd
// user_info=[{"package_id":391634,"username":"aaa","phone":15652333337,"sso_id":1}]×tamp=1548837998&appid=jiaowu
/*
* Response re =HttpRequest.sendGet(
* "http://beta.alitest.eoffcn.com/template/addStuden/sign/5d114486999208096dace001ae4bc45a"
* ,
* "user_info=[{\"package_id\":391634,\"username\":\"aaa\",\"phone\":15656333337,\"sso_id\":1}]×tamp=1548828632&appid=jiaowu"
* );
*/
// Response re =
// HttpRequest.sendGet("http://beta.alitest.eoffcn.com/template/addStudent/sign/2e90e16d93702c6d900577322063463c",
// "user_info=[{\"package_id\":391634,\"username\":\"aaa\",\"phone\":15652333337,\"sso_id\":1}]×tamp=1548840818&appid=jiaowu");
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
();
System
.
out
.
println
(
"response=========="
+
StringUtils
.
decodeUnicode
(
json
));
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
(
"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
(
json
.
contains
(
data
.
get
(
"msg"
).
toString
()))
{
// 是否验证数据库
/*
* if (!isProduct) {
*
* String
* data_res=jp.getString("data").substring(0,jp.getString(
* "data").length());
*
* System.out.println("data_res====="+ data_res ); try { String
* sql
* ="SELECT MAX(id) AS id FROM `n_package` WHERE template_id = "
* + template_id; //SELECT id FROM n_template ORDER BY id DESC
* LIMIT 1 ResultSet rs_bankcard = this.sqlFromDB(sql);
* rs_bankcard.last();
* System.out.println("after findedupack ============"+
* rs_bankcard.getString("id"));
* if(Integer.parseInt(rs_bankcard.getString("id")) >=
* Integer.parseInt("1")) {
* n_package_idList.add(rs_bankcard.getString("id")); }else {
* result = result && false; failReason = failReason +
* "edupack info in DB is wrong;"; }
*
*
* } catch (Exception e) { result = result && false; failReason
* = failReason + "cannot verify edupack info in DB;";
* e.printStackTrace(); } }
*/
}
}
if
(
result
)
return
"Pass"
;
else
return
"Fail:"
+
failReason
;
}
}
nwn_Api_auto_test/src/com/offcn/test/APITest_nwn.java
View file @
013f22ff
...
@@ -152,7 +152,7 @@ public class APITest_nwn extends NWN{
...
@@ -152,7 +152,7 @@ public class APITest_nwn extends NWN{
//测试结束删除测试所用的数据
//测试结束删除测试所用的数据
if
(!
isClearMysql
)
{
if
(!
isClearMysql
)
{
this
.
cleann_n_admin_card_no_List_FromDB
();
this
.
cleann_n_admin_card_no_List_FromDB
();
//
this.cleann_n_package_List_FromDB();
this
.
cleann_n_package_List_FromDB
();
this
.
cleann_user_id_List_FromDB
();
this
.
cleann_user_id_List_FromDB
();
this
.
cleann_getcode_id_List_FromDB
();
this
.
cleann_getcode_id_List_FromDB
();
try
{
try
{
...
...
nwn_Api_auto_test/src/makeTestCase/MakeTestCases.java
View file @
013f22ff
...
@@ -35,11 +35,11 @@ public class MakeTestCases {
...
@@ -35,11 +35,11 @@ public class MakeTestCases {
public
static
void
main
(
String
[]
args
)
{
public
static
void
main
(
String
[]
args
)
{
make
(
"TestData/CaseMake.xls"
,
"Sheet1"
);
make
(
"TestData/CaseMake.xls"
,
"Sheet1"
,
"put"
,
"put"
);
}
}
public
static
void
make
(
String
FilePath
,
String
SheetName
){
public
static
void
make
(
String
FilePath
,
String
SheetName
,
String
getOrPost
,
String
qudao
){
//获取用例
//获取用例
List
<
String
>
listSum
=
TestCase
(
FilePath
,
SheetName
);
List
<
String
>
listSum
=
TestCase
(
FilePath
,
SheetName
);
Set
<
String
>
set
=
new
HashSet
<
String
>();
Set
<
String
>
set
=
new
HashSet
<
String
>();
...
@@ -47,9 +47,9 @@ public class MakeTestCases {
...
@@ -47,9 +47,9 @@ public class MakeTestCases {
listSum
.
clear
();
listSum
.
clear
();
listSum
.
addAll
(
set
);
listSum
.
addAll
(
set
);
for
(
String
string
:
listSum
)
{
//
for (String string : listSum) {
System
.
out
.
println
(
string
);
//
System.out.println(string);
}
//
}
List
<
String
>
TeseName
=
TestCaseName
(
listSum
);
List
<
String
>
TeseName
=
TestCaseName
(
listSum
);
// System.out.println("用例数"+listSum.size());
// System.out.println("用例数"+listSum.size());
...
@@ -76,13 +76,20 @@ public class MakeTestCases {
...
@@ -76,13 +76,20 @@ public class MakeTestCases {
String
jieKouMing
=
apipath
[
0
];
String
jieKouMing
=
apipath
[
0
];
//生成测试用例
//生成测试用例
for
(
int
i
=
0
;
i
<
listSum
.
size
();
i
++){
for
(
int
i
=
0
;
i
<
listSum
.
size
();
i
++){
outCase
(
i
,
leiming
,
jieKouMing
,
TeseName
.
get
(
i
),
path
,
listSum
.
get
(
i
),
name
,
"OutPage"
);
String
cases
=
listSum
.
get
(
i
);
if
(
"get"
.
equals
(
getOrPost
)){
cases
=
cases
.
replace
(
":"
,
"="
);
cases
=
cases
.
replace
(
"\""
,
""
);
cases
=
cases
.
replace
(
","
,
"&"
);
}
System
.
out
.
println
(
cases
);
outCase
(
i
,
leiming
,
jieKouMing
,
TeseName
.
get
(
i
),
path
,
cases
,
name
,
"OutPage"
,
getOrPost
,
qudao
);
}
}
}
}
//第一个参数是数量,第二个参数是接口类名,第三个参数是中文名
//第一个参数是数量,第二个参数是接口类名,第三个参数是中文名
public
static
void
outCase
(
int
i
,
String
leiming
,
String
jieKouMing
,
String
TeseName
,
String
path
,
String
cases
,
String
wenjianming
,
String
Sheet
){
public
static
void
outCase
(
int
i
,
String
leiming
,
String
jieKouMing
,
String
TeseName
,
String
path
,
String
cases
,
String
wenjianming
,
String
Sheet
,
String
getOrPost
,
String
qudao
){
Date
d
=
new
Date
();
Date
d
=
new
Date
();
SimpleDateFormat
sdf
=
new
SimpleDateFormat
(
"yyyy-MM-dd HH:mm:ss"
);
SimpleDateFormat
sdf
=
new
SimpleDateFormat
(
"yyyy-MM-dd HH:mm:ss"
);
...
@@ -91,15 +98,15 @@ public class MakeTestCases {
...
@@ -91,15 +98,15 @@ public class MakeTestCases {
//数据回写
//数据回写
SheetUtils
sheet
=
new
SheetUtils
(
wenjianming
,
Sheet
);
SheetUtils
sheet
=
new
SheetUtils
(
wenjianming
,
Sheet
);
sheet
.
writeExcel
(
sheet
.
writeExcel
(
// s,
(
i
+
1
)+
""
,
(
i
+
1
)+
""
,
leiming
+
"_"
+
(
i
+
1
),
leiming
+
"_"
+
(
i
+
1
),
(
i
+
1
)+
""
,
(
i
+
1
)+
""
,
jieKouMing
+
"-"
+
TeseName
,
jieKouMing
+
"-"
+
TeseName
,
"nwn"
,
qudao
,
path
,
path
,
"N"
,
"N"
,
"post"
,
getOrPost
,
"200"
,
"200"
,
cases
cases
);
);
...
@@ -545,7 +552,7 @@ public class MakeTestCases {
...
@@ -545,7 +552,7 @@ public class MakeTestCases {
if
(
w
!=
0
){
if
(
w
!=
0
){
linshi
=
"\""
+
name
+
"\""
+
":"
+
w
;
linshi
=
"\""
+
name
+
"\""
+
":"
+
w
;
}
else
{
}
else
{
linshi
=
"\""
+
name
+
"\""
+
":"
+
0
;
//字符串转换成int类型失败后,将字符串变为0
linshi
=
"\""
+
name
+
"\""
+
":"
+
1
;
//字符串转换成int类型失败后,将字符串变为0
// System.out.println(linshi);
// System.out.println(linshi);
}
}
}
else
if
(
"int"
.
equals
(
obj
[
j
])){
}
else
if
(
"int"
.
equals
(
obj
[
j
])){
...
...
nwn_Api_auto_test/src/makeTestCase/MakeTestCases190131.java
0 → 100644
View file @
013f22ff
This diff is collapsed.
Click to expand it.
nwn_Api_auto_test/src/makeTestCase/readExcels.java
View file @
013f22ff
...
@@ -59,9 +59,9 @@ public class readExcels {
...
@@ -59,9 +59,9 @@ public class readExcels {
Cell
cell
=
r
.
getCell
(
j
);
Cell
cell
=
r
.
getCell
(
j
);
String
brandName
=
this
.
getCellValue
(
cell
);
String
brandName
=
this
.
getCellValue
(
cell
);
if
(
brandName
.
indexOf
(
"Sheet"
)!=-
1
){
//如果在文件里找到了包含Sheet的字段就不存储这一行数据
if
(
brandName
.
indexOf
(
"Sheet"
)!=-
1
){
//如果在文件里找到了包含Sheet的字段就不存储这一行数据
MakeTestCases
.
SheetList
.
add
(
brandName
);
//记录那个sheet页面
MakeTestCases
190131
.
SheetList
.
add
(
brandName
);
//记录那个sheet页面
MakeTestCases
.
nameList
.
add
(
this
.
getCellValue
(
r
.
getCell
(
1
)));
//保存包含sheet页面的字段名称
MakeTestCases
190131
.
nameList
.
add
(
this
.
getCellValue
(
r
.
getCell
(
1
)));
//保存包含sheet页面的字段名称
++
MakeTestCases
.
state
;
//状态执为true,代表还需要循环读取其他sheet页面
++
MakeTestCases
190131
.
state
;
//状态执为true,代表还需要循环读取其他sheet页面
listData
.
clear
();
//清理这一行数据的存储
listData
.
clear
();
//清理这一行数据的存储
break
;
break
;
}
}
...
...
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