Skip to content
项目
群组
代码片段
帮助
当前项目
正在载入...
登录 / 注册
切换导航面板
kt-keystone
项目
项目
详情
活动
周期分析
仓库
仓库
文件
提交
分支
标签
贡献者
图表
比较
统计图
议题
0
议题
0
列表
看板
标记
里程碑
合并请求
0
合并请求
0
CI / CD
CI / CD
流水线
作业
日程
统计图
Wiki
Wiki
代码片段
代码片段
成员
成员
折叠边栏
关闭边栏
活动
图像
聊天
创建新问题
作业
提交
问题看板
Open sidebar
Matrix
kt-keystone
Commits
2018ee1c
提交
2018ee1c
authored
1月 19, 2022
作者:
mry
浏览文件
操作
浏览文件
下载
电子邮件补丁
差异文件
perf(base): 将返回值由二维数组改为迭代器
上级
37339e89
隐藏空白字符变更
内嵌
并排
正在显示
9 个修改的文件
包含
68 行增加
和
55 行删除
+68
-55
DataProviderForDb.java
...se/src/main/java/org/matrix/testNg/DataProviderForDb.java
+33
-39
TestPigeon.java
kt-base/src/main/java/org/matrix/testNg/TestPigeon.java
+10
-9
ExtentTestNgReporterListener.java
...ix/testNg/extentsreport/ExtentTestNgReporterListener.java
+1
-1
ActionController.java
...java/org/matrix/autotest/controller/ActionController.java
+1
-1
ConnectController.java
...ava/org/matrix/autotest/controller/ConnectController.java
+1
-1
EnvironmentController.java
...org/matrix/autotest/controller/EnvironmentController.java
+1
-1
MoveController.java
...n/java/org/matrix/autotest/controller/MoveController.java
+1
-1
ProjectController.java
...ava/org/matrix/autotest/controller/ProjectController.java
+1
-1
TestCaseController.java
...va/org/matrix/autotest/controller/TestCaseController.java
+19
-1
没有找到文件。
kt-base/src/main/java/org/matrix/testNg/DataProviderForDb.java
浏览文件 @
2018ee1c
package
org
.
matrix
.
testNg
;
import
java.sql.*
;
import
java.util.ArrayList
;
import
java.util.List
;
import
java.util.*
;
/**
* @author mry
*/
public
class
DataProviderForDb
{
public
class
DataProviderForDb
implements
Iterator
<
Object
[]>
{
static
Connection
connection
;
static
ResultSet
resultSet
;
static
Statement
statement
;
ResultSet
resultSet
;
ResultSetMetaData
resultSetMetaData
;
public
static
Object
[][]
getDb
(
String
ip
,
String
port
,
String
baseName
,
String
userName
,
String
password
,
String
sql
)
{
List
<
Object
[]>
list
=
new
ArrayList
<>();
String
url
=
String
.
format
(
"jdbc:mysql://%s:%s/%s"
,
ip
,
port
,
baseName
);
public
DataProviderForDb
(
String
ip
,
String
port
,
String
baseName
,
String
userName
,
String
password
,
String
sql
)
{
try
{
Class
.
forName
(
"com.mysql.cj.jdbc.Driver"
);
connection
=
DriverManager
.
getConnection
(
url
,
userName
,
password
);
statement
=
connection
.
createStatement
();
resultSet
=
statement
.
executeQuery
(
sql
);
//声明存放泛型string数组的list对象
int
colNum
=
resultSet
.
getMetaData
().
getColumnCount
();
while
(
resultSet
.
next
())
{
String
[]
strings
=
new
String
[
colNum
];
for
(
int
i
=
0
;
i
<
strings
.
length
;
i
++)
{
strings
[
i
]
=
resultSet
.
getString
(
i
+
1
);
}
list
.
add
(
strings
);
}
String
url
=
String
.
format
(
"jdbc:mysql://%s:%s/%s"
,
ip
,
port
,
baseName
);
Connection
conn
=
DriverManager
.
getConnection
(
url
,
userName
,
password
);
Statement
createStatement
=
conn
.
createStatement
();
resultSet
=
createStatement
.
executeQuery
(
sql
);
resultSetMetaData
=
resultSet
.
getMetaData
();
}
catch
(
ClassNotFoundException
|
SQLException
e
)
{
e
.
printStackTrace
();
}
finally
{
remove
();
}
//将list对象转换成二维数组
Object
[][]
results
=
new
Object
[
list
.
size
()][];
for
(
int
i
=
0
;
i
<
list
.
size
();
i
++)
{
results
[
i
]
=
list
.
get
(
i
);
}
return
results
;
}
public
static
void
remove
()
{
@Override
public
boolean
hasNext
()
{
boolean
flag
=
false
;
try
{
if
(
resultSet
!=
null
)
{
resultSet
.
close
();
}
flag
=
resultSet
.
next
();
}
catch
(
SQLException
e
)
{
e
.
printStackTrace
();
}
return
flag
;
}
@Override
public
Object
[]
next
()
{
@SuppressWarnings
(
value
=
"all"
)
Map
<
String
,
String
>
data
=
new
HashMap
<>();
try
{
if
(
statement
!=
null
)
{
statement
.
close
(
);
for
(
int
i
=
1
;
i
<=
resultSetMetaData
.
getColumnCount
();
i
++
)
{
data
.
put
(
resultSetMetaData
.
getColumnName
(
i
),
resultSet
.
getString
(
i
)
);
}
}
catch
(
SQLException
e
)
{
e
.
printStackTrace
();
}
Object
[]
objects
=
new
Object
[
1
];
objects
[
0
]
=
data
;
return
objects
;
}
@Override
public
void
remove
()
{
try
{
if
(
connection
!=
null
)
{
connection
.
close
();
}
resultSet
.
close
();
}
catch
(
SQLException
e
)
{
e
.
printStackTrace
();
}
...
...
kt-base/src/main/java/org/matrix/testNg/TestPigeon.java
浏览文件 @
2018ee1c
...
...
@@ -3,34 +3,35 @@ package org.matrix.testNg;
import
org.testng.ITestResult
;
import
org.testng.annotations.*
;
import
java.util.Iterator
;
import
java.util.Map
;
/**
* @author mry
*/
public
class
TestPigeon
{
String
sql
;
String
env
;
Integer
envId
;
@Parameters
({
"sql"
,
"env"
})
@Parameters
({
"sql"
,
"env
Id
"
})
@BeforeClass
public
void
beforeClass
(
String
sql
,
String
env
)
{
public
void
beforeClass
(
String
sql
,
Integer
envId
)
{
this
.
sql
=
sql
;
this
.
env
=
env
;
this
.
env
Id
=
envId
;
}
/**
* XML中的SQL决定了执行什么用例, 执行多少条用例, SQL的搜索结果为需要测试的测试用例
*
* @DataProvider 返回值二维数组
*/
@DataProvider
(
name
=
"testData"
)
private
Object
[][]
getData
()
{
return
DataProviderForDb
.
get
Db
(
TestConfig
.
DB_IP
,
TestConfig
.
DB_PORT
,
private
Iterator
<
Object
[]>
getData
()
{
return
new
DataProviderFor
Db
(
TestConfig
.
DB_IP
,
TestConfig
.
DB_PORT
,
TestConfig
.
DB_BASE_NAME
,
TestConfig
.
DB_USERNAME
,
TestConfig
.
DB_PASSWORD
,
sql
);
}
@Test
(
dataProvider
=
"testData"
)
public
void
test
()
{
public
void
test
(
Map
<
String
,
String
>
data
)
{
}
...
...
kt-base/src/main/java/org/matrix/testNg/extentsreport/ExtentTestNgReporterListener.java
浏览文件 @
2018ee1c
...
...
@@ -127,7 +127,7 @@ public class ExtentTestNgReporterListener implements IReporter {
ExtentTest
test
;
if
(
tests
.
size
()
>
0
)
{
//调整用例排序,按时间排序
Set
<
ITestResult
>
treeSet
=
new
TreeSet
<
ITestResult
>((
o1
,
o2
)
->
o1
.
getStartMillis
()
<
o2
.
getStartMillis
()
?
-
1
:
1
);
Set
<
ITestResult
>
treeSet
=
new
TreeSet
<>((
o1
,
o2
)
->
o1
.
getStartMillis
()
<
o2
.
getStartMillis
()
?
-
1
:
1
);
treeSet
.
addAll
(
tests
.
getAllResults
());
for
(
ITestResult
result
:
treeSet
)
{
Object
[]
parameters
=
result
.
getParameters
();
...
...
kt-web/src/main/java/org/matrix/autotest/controller/ActionController.java
浏览文件 @
2018ee1c
...
...
@@ -22,7 +22,7 @@ import java.util.List;
@CrossOrigin
@RestController
@RequestMapping
(
"/actions"
)
@Api
(
tags
=
"对动作
表
action的基本操作"
)
@Api
(
tags
=
"对动作action的基本操作"
)
public
class
ActionController
{
private
final
ActionService
actionService
;
...
...
kt-web/src/main/java/org/matrix/autotest/controller/ConnectController.java
浏览文件 @
2018ee1c
...
...
@@ -22,7 +22,7 @@ import java.util.List;
@CrossOrigin
@RestController
@RequestMapping
(
"/connects"
)
@Api
(
tags
=
"对连接池
表
connect的基本操作"
)
@Api
(
tags
=
"对连接池connect的基本操作"
)
public
class
ConnectController
{
private
final
ConnectService
connectService
;
...
...
kt-web/src/main/java/org/matrix/autotest/controller/EnvironmentController.java
浏览文件 @
2018ee1c
...
...
@@ -22,7 +22,7 @@ import java.util.List;
@CrossOrigin
@RestController
@RequestMapping
(
"/environments"
)
@Api
(
tags
=
"对环境
表
environment的基本操作"
)
@Api
(
tags
=
"对环境environment的基本操作"
)
public
class
EnvironmentController
{
private
final
EnvironmentService
environmentService
;
...
...
kt-web/src/main/java/org/matrix/autotest/controller/MoveController.java
浏览文件 @
2018ee1c
...
...
@@ -22,7 +22,7 @@ import java.util.List;
@CrossOrigin
@RestController
@RequestMapping
(
"/moves"
)
@Api
(
tags
=
"对行为
表
move的基本操作"
)
@Api
(
tags
=
"对行为move的基本操作"
)
public
class
MoveController
{
private
final
MoveService
moveService
;
...
...
kt-web/src/main/java/org/matrix/autotest/controller/ProjectController.java
浏览文件 @
2018ee1c
...
...
@@ -22,7 +22,7 @@ import java.util.List;
@CrossOrigin
@RestController
@RequestMapping
(
"/projects"
)
@Api
(
tags
=
"对项目
表
project的基本操作"
)
@Api
(
tags
=
"对项目project的基本操作"
)
public
class
ProjectController
{
private
final
ProjectService
projectService
;
...
...
kt-web/src/main/java/org/matrix/autotest/controller/TestCaseController.java
浏览文件 @
2018ee1c
...
...
@@ -8,7 +8,9 @@ import org.matrix.autotest.utils.CommonResult;
import
org.matrix.autotest.utils.CommonResultObj
;
import
org.springframework.http.ResponseEntity
;
import
org.springframework.web.bind.annotation.*
;
import
org.testng.TestNG
;
import
java.util.ArrayList
;
import
java.util.List
;
/**
...
...
@@ -22,7 +24,7 @@ import java.util.List;
@CrossOrigin
@RestController
@RequestMapping
(
"/testCases"
)
@Api
(
tags
=
"对用例
表
test_case的基本操作"
)
@Api
(
tags
=
"对用例test_case的基本操作"
)
public
class
TestCaseController
{
private
final
TestCaseService
testCaseService
;
...
...
@@ -132,5 +134,21 @@ public class TestCaseController {
}
}
/**
* 执行测试用例
*
* @param name 用例名称
* @return 是否执行成功
*/
@ApiOperation
(
value
=
"执行测试用例"
)
@GetMapping
(
"/start/{name}"
)
public
void
start
(
@PathVariable
String
name
)
{
List
<
String
>
suites
=
new
ArrayList
<
String
>();
suites
.
add
(
"kt-script\\src\\main\\java\\org\\matrix\\"
+
name
);
TestNG
testNG
=
new
TestNG
();
testNG
.
setTestSuites
(
suites
);
testNG
.
run
();
}
}
编写
预览
Markdown
格式
0%
重试
或
添加新文件
添加附件
取消
您添加了
0
人
到此讨论。请谨慎行事。
请先完成此评论的编辑!
取消
请
注册
或者
登录
后发表评论