Skip to content
项目
群组
代码片段
帮助
当前项目
正在载入...
登录 / 注册
切换导航面板
kt-keystone
项目
项目
详情
活动
周期分析
仓库
仓库
文件
提交
分支
标签
贡献者
图表
比较
统计图
议题
0
议题
0
列表
看板
标记
里程碑
合并请求
0
合并请求
0
CI / CD
CI / CD
流水线
作业
日程
统计图
Wiki
Wiki
代码片段
代码片段
成员
成员
折叠边栏
关闭边栏
活动
图像
聊天
创建新问题
作业
提交
问题看板
Open sidebar
Matrix
kt-keystone
Commits
68e3430a
提交
68e3430a
authored
1月 14, 2022
作者:
mry
浏览文件
操作
浏览文件
下载
电子邮件补丁
差异文件
style: 代码风格修改
上级
2e684750
隐藏空白字符变更
内嵌
并排
正在显示
5 个修改的文件
包含
50 行增加
和
44 行删除
+50
-44
SwaggerController.java
...c/main/java/org/matrix/swaggerData/SwaggerController.java
+16
-12
DataProviderForDb.java
...se/src/main/java/org/matrix/testNg/DataProviderForDb.java
+7
-3
TestConfig.java
kt-base/src/main/java/org/matrix/testNg/TestConfig.java
+3
-0
TestPigeon.java
kt-base/src/main/java/org/matrix/testNg/TestPigeon.java
+8
-5
ExtentTestNgReporterListener.java
...ix/testNg/extentsreport/ExtentTestNgReporterListener.java
+16
-24
没有找到文件。
kt-base/src/main/java/org/matrix/swaggerData/SwaggerController.java
浏览文件 @
68e3430a
...
...
@@ -11,34 +11,35 @@ import java.io.BufferedReader;
import
java.io.IOException
;
import
java.io.InputStream
;
import
java.io.InputStreamReader
;
import
java.net.MalformedURLException
;
import
java.net.URL
;
import
java.net.URLConnection
;
import
java.nio.charset.StandardCharsets
;
import
java.util.ArrayList
;
import
java.util.List
;
import
java.util.Map
;
import
java.util.Set
;
/**
* @author mry
*/
@RestController
@RequestMapping
(
"/swaggers"
)
@CrossOrigin
public
class
SwaggerController
{
public
String
loadJson
(
String
url
)
{
BufferedReader
reader
=
null
;
BufferedReader
reader
;
StringBuilder
json
=
new
StringBuilder
();
try
{
URL
urlObject
=
new
URL
(
url
);
URLConnection
uc
=
urlObject
.
openConnection
();
InputStream
inputStream
=
uc
.
getInputStream
();
reader
=
new
BufferedReader
(
new
InputStreamReader
(
inputStream
,
"utf-8"
));
String
inputLine
=
null
;
reader
=
new
BufferedReader
(
new
InputStreamReader
(
inputStream
,
StandardCharsets
.
UTF_8
));
String
inputLine
;
while
((
inputLine
=
reader
.
readLine
())
!=
null
)
{
json
.
append
(
inputLine
);
}
reader
.
close
();
}
catch
(
MalformedURLException
e
)
{
e
.
printStackTrace
();
}
catch
(
IOException
e
)
{
e
.
printStackTrace
();
}
...
...
@@ -48,10 +49,13 @@ public class SwaggerController {
@GetMapping
public
Object
parameter
(
String
url
)
{
List
<
String
>
list
=
new
ArrayList
();
String
json
=
loadJson
(
url
);
//获得json字符串
//获得json字符串
String
json
=
loadJson
(
url
);
JSONObject
swaggerJson
=
JSONObject
.
parseObject
(
json
);
Object
host
=
swaggerJson
.
get
(
"host"
);
//localhost:8765
Object
basePath
=
swaggerJson
.
get
(
"basePath"
);
//"/"
//localhost:8765
Object
host
=
swaggerJson
.
get
(
"host"
);
//"/"
Object
basePath
=
swaggerJson
.
get
(
"basePath"
);
Object
paths
=
swaggerJson
.
get
(
"paths"
);
//将paths转成map集合
Map
<
String
,
String
>
pathsMaps
=
(
Map
<
String
,
String
>)
paths
;
...
...
@@ -67,7 +71,8 @@ public class SwaggerController {
Map
<
String
,
String
>
objMethodUrlsMaps
=
(
Map
<
String
,
String
>)
objMethodUrls
;
Set
<
String
>
requests
=
objMethodUrlsMaps
.
keySet
();
for
(
String
request
:
requests
)
{
Object
objRequest
=
objUrlsJson
.
get
(
request
);
//拿到请求内部的信息
//拿到请求内部的信息
Object
objRequest
=
objUrlsJson
.
get
(
request
);
Map
<
String
,
String
>
objRequestMaps
=
(
Map
<
String
,
String
>)
objRequest
;
Object
parameters
=
objRequestMaps
.
get
(
"parameters"
);
List
<
String
>
parameterAllList
=
new
ArrayList
<>();
...
...
@@ -93,8 +98,7 @@ public class SwaggerController {
list
.
add
(
"{host="
+
host
+
", basePath="
+
basePath
+
", request="
+
request
+
", methodUrl="
+
methodUrl
+
", parameters="
+
parameterAllList
+
"}"
);
}
}
Object
swagger
=
JSON
.
toJSON
(
list
);
return
swagger
;
return
JSON
.
toJSON
(
list
);
}
}
kt-base/src/main/java/org/matrix/testNg/DataProvider
_forDB
.java
→
kt-base/src/main/java/org/matrix/testNg/DataProvider
ForDb
.java
浏览文件 @
68e3430a
package
org
.
matrix
.
testNg
;
import
java.sql.*
;
import
java.util.*
;
import
java.util.ArrayList
;
import
java.util.List
;
public
class
DataProvider_forDB
{
/**
* @author mry
*/
public
class
DataProviderForDb
{
static
Connection
connection
;
static
ResultSet
resultSet
;
...
...
@@ -11,7 +15,7 @@ public class DataProvider_forDB {
public
static
Object
[][]
getDb
(
String
ip
,
String
port
,
String
baseName
,
String
userName
,
String
password
,
String
sql
)
{
List
<
Object
[]>
list
=
new
ArrayList
<
Object
[]
>();
List
<
Object
[]>
list
=
new
ArrayList
<>();
String
url
=
String
.
format
(
"jdbc:mysql://%s:%s/%s"
,
ip
,
port
,
baseName
);
try
{
Class
.
forName
(
"com.mysql.jdbc.Driver"
);
...
...
kt-base/src/main/java/org/matrix/testNg/TestConfig.java
浏览文件 @
68e3430a
package
org
.
matrix
.
testNg
;
/**
* @author mry
*/
public
class
TestConfig
{
public
static
final
String
DB_IP
=
"localhost"
;
public
static
final
String
DB_PORT
=
"3306"
;
...
...
kt-base/src/main/java/org/matrix/testNg/TestPigeon.java
浏览文件 @
68e3430a
...
...
@@ -3,6 +3,9 @@ package org.matrix.testNg;
import
org.testng.ITestResult
;
import
org.testng.annotations.*
;
/**
* @author mry
*/
public
class
TestPigeon
{
String
sql
;
...
...
@@ -17,18 +20,18 @@ public class TestPigeon {
/**
* XML中的SQL决定了执行什么用例, 执行多少条用例, SQL的搜索结果为需要测试的测试用例
*
* @DataProvider 返回值二维数组
*/
@DataProvider
(
name
=
"testData"
)
private
Object
[][]
getData
()
{
return
DataProvider
_forDB
.
getDb
(
TestConfig
.
DB_IP
,
TestConfig
.
DB_PORT
,
TestConfig
.
DB_BASE_NAME
,
TestConfig
.
DB_USERNAME
,
TestConfig
.
DB_PASSWORD
,
sql
);
return
DataProvider
ForDb
.
getDb
(
TestConfig
.
DB_IP
,
TestConfig
.
DB_PORT
,
TestConfig
.
DB_BASE_NAME
,
TestConfig
.
DB_USERNAME
,
TestConfig
.
DB_PASSWORD
,
sql
);
}
@Test
(
dataProvider
=
"testData"
)
public
void
test
(
String
s1
,
String
s2
,
String
s3
)
{
// System.out.println(env);
// System.out.println(s1 + ":" + s2 + ":" + s3);
public
void
test
()
{
}
@AfterMethod
...
...
kt-base/src/main/java/org/matrix/testNg/extentsreport/ExtentTestN
GI
ReporterListener.java
→
kt-base/src/main/java/org/matrix/testNg/extentsreport/ExtentTestN
g
ReporterListener.java
浏览文件 @
68e3430a
...
...
@@ -14,8 +14,11 @@ import org.testng.xml.XmlSuite;
import
java.io.File
;
import
java.util.*
;
public
class
ExtentTestNGIReporterListener
implements
IReporter
{
//生成的路径以及文件名
/**
* @author mry
*/
public
class
ExtentTestNgReporterListener
implements
IReporter
{
private
static
final
String
OUTPUT_FOLDER
=
"/reportNg/reports/"
;
private
static
final
String
FILE_NAME
=
UUID
.
randomUUID
().
toString
().
replace
(
"-"
,
""
)
+
".html"
;
...
...
@@ -25,10 +28,7 @@ public class ExtentTestNGIReporterListener implements IReporter {
@Override
public
void
generateReport
(
List
<
XmlSuite
>
xmlSuites
,
List
<
ISuite
>
suites
,
String
outputDirectory
)
{
init
();
boolean
createSuiteNode
=
false
;
if
(
suites
.
size
()
>
1
)
{
createSuiteNode
=
true
;
}
boolean
createSuiteNode
=
suites
.
size
()
>
1
;
for
(
ISuite
suite
:
suites
)
{
Map
<
String
,
ISuiteResult
>
result
=
suite
.
getResults
();
//如果suite里面没有任何用例,直接跳过,不在报告里生成
...
...
@@ -44,10 +44,7 @@ public class ExtentTestNGIReporterListener implements IReporter {
if
(
createSuiteNode
)
{
suiteTest
=
extent
.
createTest
(
suite
.
getName
()).
assignCategory
(
suite
.
getName
());
}
boolean
createSuiteResultNode
=
false
;
if
(
result
.
size
()
>
1
)
{
createSuiteResultNode
=
true
;
}
boolean
createSuiteResultNode
=
result
.
size
()
>
1
;
for
(
ISuiteResult
r
:
result
.
values
())
{
ExtentTest
resultNode
;
ITestContext
context
=
r
.
getTestContext
();
...
...
@@ -105,7 +102,6 @@ public class ExtentTestNGIReporterListener implements IReporter {
}
ExtentHtmlReporter
htmlReporter
=
new
ExtentHtmlReporter
(
OUTPUT_FOLDER
+
FILE_NAME
);
// 设置静态文件的DNS
//怎么样解决cdn.rawgit.com访问不了的情况
htmlReporter
.
config
().
setResourceCDN
(
ResourceCDN
.
EXTENTREPORTS
);
htmlReporter
.
config
().
setDocumentTitle
(
"test report"
);
htmlReporter
.
config
().
setReportName
(
"test report"
);
...
...
@@ -131,35 +127,31 @@ public class ExtentTestNGIReporterListener implements IReporter {
ExtentTest
test
;
if
(
tests
.
size
()
>
0
)
{
//调整用例排序,按时间排序
Set
<
ITestResult
>
treeSet
=
new
TreeSet
<
ITestResult
>(
new
Comparator
<
ITestResult
>()
{
@Override
public
int
compare
(
ITestResult
o1
,
ITestResult
o2
)
{
return
o1
.
getStartMillis
()
<
o2
.
getStartMillis
()
?
-
1
:
1
;
}
});
Set
<
ITestResult
>
treeSet
=
new
TreeSet
<
ITestResult
>((
o1
,
o2
)
->
o1
.
getStartMillis
()
<
o2
.
getStartMillis
()
?
-
1
:
1
);
treeSet
.
addAll
(
tests
.
getAllResults
());
for
(
ITestResult
result
:
treeSet
)
{
Object
[]
parameters
=
result
.
getParameters
();
String
name
=
""
;
String
Builder
name
=
new
StringBuilder
()
;
//如果有参数,则使用参数的toString组合代替报告中的name
for
(
Object
param
:
parameters
)
{
name
+=
param
.
toString
(
);
name
.
append
(
param
.
toString
()
);
}
if
(
name
.
length
()
>
0
)
{
if
(
name
.
length
()
>
50
)
{
name
=
n
ame
.
substring
(
0
,
49
)
+
"..."
;
name
=
n
ew
StringBuilder
(
name
.
substring
(
0
,
49
)
+
"..."
)
;
}
}
else
{
name
=
result
.
getMethod
().
getDescription
(
);
name
=
new
StringBuilder
(
result
.
getMethod
().
getDescription
()
);
}
if
(
extenttest
==
null
)
{
test
=
extent
.
createTest
(
name
);
test
=
extent
.
createTest
(
name
.
toString
()
);
}
else
{
//作为子节点进行创建时,设置同父节点的标签一致,便于报告检索。
test
=
extenttest
.
createNode
(
name
).
assignCategory
(
categories
);
test
=
extenttest
.
createNode
(
name
.
toString
()
).
assignCategory
(
categories
);
}
for
(
String
group
:
result
.
getMethod
().
getGroups
())
for
(
String
group
:
result
.
getMethod
().
getGroups
())
{
test
.
assignCategory
(
group
);
}
List
<
String
>
outputList
=
Reporter
.
getOutput
(
result
);
for
(
String
output
:
outputList
)
{
...
...
编写
预览
Markdown
格式
0%
重试
或
添加新文件
添加附件
取消
您添加了
0
人
到此讨论。请谨慎行事。
请先完成此评论的编辑!
取消
请
注册
或者
登录
后发表评论