Skip to content
Projects
Groups
Snippets
Help
Loading...
Help
Submit feedback
Contribute to GitLab
Sign in
Toggle navigation
O
oto
Project
Project
Details
Activity
Releases
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
龚小红
oto
Commits
ad225d14
Commit
ad225d14
authored
May 21, 2020
by
Su-Yi
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
增加上传case,增加Network框架请求文件类型
parent
11102261
Changes
4
Hide whitespace changes
Inline
Side-by-side
Showing
4 changed files
with
894 additions
and
2475 deletions
+894
-2475
Upload.java
src/test/java/com/kjj/qa/cases/Upload.java
+24
-23
NetworkUtil.java
src/test/java/com/kjj/qa/utils/NetworkUtil.java
+27
-15
testNG.xml
src/test/testNG.xml
+5
-5
report.html
test-output/report.html
+838
-2432
No files found.
src/test/java/com/kjj/qa/cases/Upload.java
View file @
ad225d14
...
@@ -26,8 +26,8 @@ public class Upload {
...
@@ -26,8 +26,8 @@ public class Upload {
Assert
.
assertTrue
(
true
,
"会员判断错误"
);
Assert
.
assertTrue
(
true
,
"会员判断错误"
);
}
}
@Test
(
description
=
"上传文章链接"
,
priority
=
2
)
@Test
(
description
=
"上传
_
文章链接"
,
priority
=
2
)
public
void
上传文章链接
()
throws
IOException
{
public
void
上传
_
文章链接
()
throws
IOException
{
//待上传的文章链接
//待上传的文章链接
String
articleLink
=
"https://mp.weixin.qq.com/s/j4qnDM98d2ZPW35ozFra8w"
;
String
articleLink
=
"https://mp.weixin.qq.com/s/j4qnDM98d2ZPW35ozFra8w"
;
...
@@ -47,13 +47,13 @@ public class Upload {
...
@@ -47,13 +47,13 @@ public class Upload {
String
contentId
=
response
.
jsonPath
().
getString
(
"data.contentId"
);
//内容ID
String
contentId
=
response
.
jsonPath
().
getString
(
"data.contentId"
);
//内容ID
String
contentImageUrl
=
response
.
jsonPath
().
getString
(
"data.contentImageUrl"
);
String
contentImageUrl
=
response
.
jsonPath
().
getString
(
"data.contentImageUrl"
);
String
contentType
=
response
.
jsonPath
().
getString
(
"data.contentType"
);
String
contentType
=
response
.
jsonPath
().
getString
(
"data.contentType"
);
Assert
.
assertEquals
(
contentType
,
"
network_link"
,
"上传其他
链接-查询调用失败"
);
Assert
.
assertEquals
(
contentType
,
"
article"
,
"上传文章
链接-查询调用失败"
);
}
}
@Test
(
description
=
"上传视频链接"
,
priority
=
3
)
@Test
(
description
=
"上传
_
视频链接"
,
priority
=
3
)
public
void
上传视频链接
()
throws
IOException
{
public
void
上传
_
视频链接
()
throws
IOException
{
//待上传的视频链接
//待上传的视频链接
String
videoLink
=
"https://
mp.weixin.qq.com/s/j4qnDM98d2ZPW35ozFra8w
"
;
String
videoLink
=
"https://
v.douyin.com/oEahcd/ 复制此链接,打开【抖音短视频】,直接观看视频!
"
;
//开始上传
//开始上传
Map
<
String
,
Object
>
params
=
new
HashMap
<
String
,
Object
>();
Map
<
String
,
Object
>
params
=
new
HashMap
<
String
,
Object
>();
...
@@ -70,12 +70,12 @@ public class Upload {
...
@@ -70,12 +70,12 @@ public class Upload {
int
taskStatus
=
response
.
jsonPath
().
getInt
(
"data.taskStatus"
);
//上传状态: 1是执行中,2是上传成功
int
taskStatus
=
response
.
jsonPath
().
getInt
(
"data.taskStatus"
);
//上传状态: 1是执行中,2是上传成功
String
contentId
=
response
.
jsonPath
().
getString
(
"data.contentId"
);
//内容ID
String
contentId
=
response
.
jsonPath
().
getString
(
"data.contentId"
);
//内容ID
String
contentImageUrl
=
response
.
jsonPath
().
getString
(
"data.contentImageUrl"
);
String
contentImageUrl
=
response
.
jsonPath
().
getString
(
"data.contentImageUrl"
);
String
contentType
=
response
.
jsonPath
().
getString
(
"data.contentType
"
);
String
responseTaskId
=
response
.
jsonPath
().
getString
(
"data.taskId
"
);
Assert
.
assertEquals
(
contentType
,
"network_link"
,
"上传其他
链接-查询调用失败"
);
Assert
.
assertEquals
(
responseTaskId
,
taskId
,
"上传视频
链接-查询调用失败"
);
}
}
@Test
(
description
=
"上传其他链接"
,
priority
=
4
)
@Test
(
description
=
"上传
_
其他链接"
,
priority
=
4
)
public
void
上传其他链接
()
throws
IOException
{
public
void
上传
_
其他链接
()
throws
IOException
{
//待上传的其他链接
//待上传的其他链接
String
network_link
=
"https://tieba.baidu.com/p/6688007444"
;
String
network_link
=
"https://tieba.baidu.com/p/6688007444"
;
...
@@ -116,9 +116,10 @@ public class Upload {
...
@@ -116,9 +116,10 @@ public class Upload {
@Test
(
description
=
"上传_本地视频"
,
priority
=
5
)
@Test
(
description
=
"上传_本地视频"
,
priority
=
5
)
public
void
上传
_
本地视频
()
throws
IOException
{
public
void
上传
_
本地视频
()
throws
IOException
{
//1.上传视频到oss
//1.上传视频到oss
Response
response
=
network
.
postResponse
(
"/kjy/mp/upload/video"
);
Response
response
=
network
.
postFileResponse
(
"src/test/java/com/kjj/qa/resource/uploadCase.mp4"
,
"/kjy/mp/upload/video"
);
String
videoUrl
=
response
.
jsonPath
().
getString
(
"videoUrl"
);
String
videoUrl
=
response
.
jsonPath
().
getString
(
"data.videoUrl"
);
String
firstFrameUrl
=
response
.
jsonPath
().
getString
(
"firstFrameUrl"
);
String
firstFrameUrl
=
response
.
jsonPath
().
getString
(
"data.firstFrameUrl"
);
System
.
out
.
println
(
videoUrl
+
"\n"
+
firstFrameUrl
);
Assert
.
assertNotNull
(
videoUrl
,
"上传本地视频-上传oss失败"
);
Assert
.
assertNotNull
(
videoUrl
,
"上传本地视频-上传oss失败"
);
//2.开始上传视频
//2.开始上传视频
...
@@ -128,7 +129,7 @@ public class Upload {
...
@@ -128,7 +129,7 @@ public class Upload {
params
.
put
(
"contentTitle"
,
"=自动化测试="
);
params
.
put
(
"contentTitle"
,
"=自动化测试="
);
response
=
network
.
postResponse
(
params
,
"/kjy/mp/seller/upload/video"
);
response
=
network
.
postResponse
(
params
,
"/kjy/mp/seller/upload/video"
);
String
contentId
=
response
.
jsonPath
().
getString
(
"data.contentId"
);
String
contentId
=
response
.
jsonPath
().
getString
(
"data.contentId"
);
Assert
.
assertNotNull
(
videoUrl
,
"上传本地视频-上传第
二
步失败"
);
Assert
.
assertNotNull
(
videoUrl
,
"上传本地视频-上传第
2
步失败"
);
}
}
@Test
(
description
=
"大家都在转_榜单列表"
,
priority
=
6
)
@Test
(
description
=
"大家都在转_榜单列表"
,
priority
=
6
)
...
@@ -169,7 +170,7 @@ public class Upload {
...
@@ -169,7 +170,7 @@ public class Upload {
response
=
network
.
getResponse
(
params
,
"/kjy/mp/seller/import/list"
);
response
=
network
.
getResponse
(
params
,
"/kjy/mp/seller/import/list"
);
length
=
response
.
jsonPath
().
getInt
(
"data.size()"
);
length
=
response
.
jsonPath
().
getInt
(
"data.size()"
);
contentType
=
response
.
jsonPath
().
getString
(
"data[0].contentType"
);
contentType
=
response
.
jsonPath
().
getString
(
"data[0].contentType"
);
Assert
.
assertEquals
(
length
,
1
,
"获取我的上传-视频列表内容有误"
);
Assert
.
assertEquals
(
length
,
2
,
"获取我的上传-视频列表内容有误"
);
//因为有一篇抖音,一篇本地,所以数量是2
Assert
.
assertEquals
(
contentType
,
"video"
,
"获取我的上传-视频列表数量有误"
);
Assert
.
assertEquals
(
contentType
,
"video"
,
"获取我的上传-视频列表数量有误"
);
//获取其他的列表
//获取其他的列表
...
@@ -195,14 +196,14 @@ public class Upload {
...
@@ -195,14 +196,14 @@ public class Upload {
Assert
.
assertEquals
(
length
,
0
,
"获取我的上传-其他列表数量有误"
);
Assert
.
assertEquals
(
length
,
0
,
"获取我的上传-其他列表数量有误"
);
}
}
@Test
(
description
=
"上传视频失败重试"
)
//
@Test(description="上传视频失败重试")
public
void
上传视频失败重试
()
throws
IOException
{
//
public void 上传视频失败重试() throws IOException{
Map
<
String
,
Object
>
params
=
new
HashMap
<
String
,
Object
>();
//
Map<String, Object> params = new HashMap<String, Object>();
params
.
put
(
"taskId"
,
"Kj21NDE3Mjc"
);
//
params.put("taskId","Kj21NDE3Mjc");
Response
response
=
network
.
getResponse
(
"/kjy/mp/seller/import/tryupload"
);
//
Response response = network.getResponse("/kjy/mp/seller/import/tryupload");
String
upload
=
response
.
jsonPath
().
get
(
"success"
);
//
String upload = response.jsonPath().get("success");
Assert
.
assertEquals
(
upload
,
true
,
"上传失败"
);
//
Assert.assertEquals(upload, true,"上传失败");
}
//
}
}
}
\ No newline at end of file
src/test/java/com/kjj/qa/utils/NetworkUtil.java
View file @
ad225d14
...
@@ -11,6 +11,7 @@ import io.restassured.path.json.JsonPath;
...
@@ -11,6 +11,7 @@ import io.restassured.path.json.JsonPath;
import
io.restassured.response.Response
;
import
io.restassured.response.Response
;
import
javax.print.DocFlavor
;
import
javax.print.DocFlavor
;
import
java.io.File
;
import
java.util.HashMap
;
import
java.util.HashMap
;
import
java.util.Map
;
import
java.util.Map
;
...
@@ -26,6 +27,10 @@ public class NetworkUtil {
...
@@ -26,6 +27,10 @@ public class NetworkUtil {
public
Map
<
String
,
Object
>
getAgentHeaders
()
{
return
agentHeaders
;
}
public
Map
<
String
,
Object
>
getAgentHeaders
()
{
return
agentHeaders
;
}
public
void
setAgentHeaders
(
Map
<
String
,
Object
>
agentHeaders
)
{
this
.
agentHeaders
=
agentHeaders
;
}
public
void
setAgentHeaders
(
Map
<
String
,
Object
>
agentHeaders
)
{
this
.
agentHeaders
=
agentHeaders
;
}
public
Map
<
String
,
Object
>
fileHeaders
=
new
HashMap
<
String
,
Object
>();
public
Map
<
String
,
Object
>
getFileHeaders
()
{
return
agentHeaders
;
}
public
void
setFileHeadersHeaders
(
Map
<
String
,
Object
>
fileHeaders
)
{
this
.
fileHeaders
=
fileHeaders
;
}
// 钉钉的 headers
// 钉钉的 headers
public
Map
<
String
,
Object
>
dingTalkHeaders
=
new
HashMap
<
String
,
Object
>();
public
Map
<
String
,
Object
>
dingTalkHeaders
=
new
HashMap
<
String
,
Object
>();
public
Map
<
String
,
Object
>
getDingTalkHeaders
()
{
return
dingTalkHeaders
;
}
public
Map
<
String
,
Object
>
getDingTalkHeaders
()
{
return
dingTalkHeaders
;
}
...
@@ -37,17 +42,23 @@ public class NetworkUtil {
...
@@ -37,17 +42,23 @@ public class NetworkUtil {
//技术告警群
//技术告警群
private
static
String
dingtalkPath
=
"https://oapi.dingtalk.com/robot/send?access_token=f63c9cb36e89dd68e9af82d926933b3afc6544e57b23a3a55ed5b3b772d5e8d2"
;
//
private static String dingtalkPath = "https://oapi.dingtalk.com/robot/send?access_token=f63c9cb36e89dd68e9af82d926933b3afc6544e57b23a3a55ed5b3b772d5e8d2";
//测试
//测试
//
private static String dingtalkPath = "https://oapi.dingtalk.com/robot/send?access_token=e4b7d997fb9f90b17672dcdb9c9922d52c59f741b82081a368f4d3c305c1afcd";
private
static
String
dingtalkPath
=
"https://oapi.dingtalk.com/robot/send?access_token=e4b7d997fb9f90b17672dcdb9c9922d52c59f741b82081a368f4d3c305c1afcd"
;
private
volatile
static
NetworkUtil
network
;
private
volatile
static
NetworkUtil
network
;
// 构造函数 初始化tku、content-type
// 构造函数 初始化tku、content-type
private
NetworkUtil
(){
private
NetworkUtil
(){
//cookies中的tku
agentCookies
.
put
(
"tku"
,
"T3gM31f18jAWdUCruXfs5ctTjrD7HUxiwWFhgGdsgYUHEcnsw5hkVNdMgsNhrH61CLETLLNt2N4q2wBCyN"
);
agentCookies
.
put
(
"tku"
,
"T3gM31f18jAWdUCruXfs5ctTjrD7HUxiwWFhgGdsgYUHEcnsw5hkVNdMgsNhrH61CLETLLNt2N4q2wBCyN"
);
//json类型的headers
agentHeaders
.
put
(
"Content-Type"
,
"application/json"
);
agentHeaders
.
put
(
"Content-Type"
,
"application/json"
);
//二进制文件的headers
fileHeaders
.
put
(
"Content-Type"
,
"multipart/form-data"
);
//钉钉的headers
dingTalkHeaders
.
put
(
"Content-Type"
,
"application/json;charset=utf-8"
);
}
}
//单例模式
//单例模式
...
@@ -81,7 +92,7 @@ public class NetworkUtil {
...
@@ -81,7 +92,7 @@ public class NetworkUtil {
.
cookies
(
agentCookies
)
.
cookies
(
agentCookies
)
.
headers
(
agentHeaders
)
.
headers
(
agentHeaders
)
.
params
(
params
)
.
params
(
params
)
.
get
(
host
+
path
);
.
get
(
host
+
path
);
}
}
// post 不帶参请求
// post 不帶参请求
...
@@ -89,7 +100,7 @@ public class NetworkUtil {
...
@@ -89,7 +100,7 @@ public class NetworkUtil {
return
given
()
return
given
()
.
cookies
(
agentCookies
)
.
cookies
(
agentCookies
)
.
headers
(
agentHeaders
)
.
headers
(
agentHeaders
)
.
post
(
host
+
path
);
.
post
(
host
+
path
);
}
}
// post 带参请求
// post 带参请求
...
@@ -99,14 +110,22 @@ public class NetworkUtil {
...
@@ -99,14 +110,22 @@ public class NetworkUtil {
.
cookies
(
agentCookies
)
.
cookies
(
agentCookies
)
.
headers
(
agentHeaders
)
.
headers
(
agentHeaders
)
.
body
(
jsonStr
)
.
body
(
jsonStr
)
.
post
(
host
+
path
);
.
post
(
host
+
path
);
}
// post 文件上传
public
Response
postFileResponse
(
String
filePath
,
String
path
){
return
given
()
.
cookies
(
agentCookies
)
.
headers
(
fileHeaders
)
.
multiPart
(
"file"
,
new
File
(
filePath
))
.
post
(
host
+
path
);
}
}
// post 带参请求
// post 带参请求
public
Response
dingTalkRobot
(
Map
<
String
,
Object
>
params
)
{
public
Response
dingTalkRobot
(
Map
<
String
,
Object
>
params
)
{
String
jsonStr
=
JSONObject
.
toJSONString
(
params
);
String
jsonStr
=
JSONObject
.
toJSONString
(
params
);
dingTalkHeaders
.
put
(
"Content-Type"
,
"application/json;charset=utf-8"
);
return
given
()
return
given
()
.
headers
(
dingTalkHeaders
)
.
headers
(
dingTalkHeaders
)
...
@@ -114,16 +133,9 @@ public class NetworkUtil {
...
@@ -114,16 +133,9 @@ public class NetworkUtil {
.
post
(
dingtalkPath
);
.
post
(
dingtalkPath
);
}
}
public
static
void
main
(
String
[]
args
)
{
public
static
void
main
(
String
[]
args
)
{
// NetworkUtil network = new NetworkUtil();
//
// Map<String,Object> json=new HashMap();
// Map<String,Object> text=new HashMap();
// json.put("msgtype","text");
//
// text.put("content","报告 :");
// json.put("text",text);
// Response res = network.dingTalkRobot(json);
}
}
}
}
src/test/testNG.xml
View file @
ad225d14
...
@@ -16,11 +16,11 @@
...
@@ -16,11 +16,11 @@
<class
name=
"com.kjj.qa.cases.SellerCard"
/>
<class
name=
"com.kjj.qa.cases.SellerCard"
/>
</classes>
</classes>
</test>
</test>
<!-- <test preserve-order="true" name="上传" >--
>
<test
preserve-order=
"true"
name=
"上传"
>
<!-- <classes>--
>
<classes
>
<!-- <class name="com.kjj.qa.cases.Upload"/>--
>
<class
name=
"com.kjj.qa.cases.Upload"
/
>
<!-- </classes>--
>
</classes
>
<!-- </test>--
>
</test
>
<!-- <test preserve-order="true" name="新手任务" >-->
<!-- <test preserve-order="true" name="新手任务" >-->
<!-- <classes>-->
<!-- <classes>-->
<!-- <class name="com.kjj.qa.cases.NewTask"/>-->
<!-- <class name="com.kjj.qa.cases.NewTask"/>-->
...
...
test-output/report.html
View file @
ad225d14
This source diff could not be displayed because it is too large. You can
view the blob
instead.
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