Skip to content
Projects
Groups
Snippets
Help
Loading...
Help
Submit feedback
Contribute to GitLab
Sign in
Toggle navigation
T
test-platform
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
马博
test-platform
Commits
7351480c
Commit
7351480c
authored
Oct 16, 2018
by
马博
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
update
parent
fdeb0172
Changes
3
Show whitespace changes
Inline
Side-by-side
Showing
3 changed files
with
23 additions
and
255 deletions
+23
-255
DuibaReporter.java
src/test/java/base/DuibaReporter.java
+0
-255
TestListener.java
src/test/java/base/TestListener.java
+3
-0
http1_Test.java
src/test/java/http/cases/http1_Test.java
+20
-0
No files found.
src/test/java/base/DuibaReporter.java
deleted
100644 → 0
View file @
fdeb0172
package
base
;
import
com.google.gson.Gson
;
import
com.google.gson.GsonBuilder
;
import
org.apache.logging.log4j.LogManager
;
import
org.apache.logging.log4j.Logger
;
import
org.testng.*
;
import
org.testng.xml.XmlSuite
;
import
org.uncommons.reportng.HTMLReporter
;
import
java.io.*
;
import
java.util.*
;
/**
* Created by hanzhanli on 2017/10/31.
*/
public
class
DuibaReporter
implements
IReporter
{
Logger
logger
=
LogManager
.
getLogger
(
DuibaReporter
.
class
);
@Override
public
void
generateReport
(
List
<
XmlSuite
>
list
,
List
<
ISuite
>
list1
,
String
s
)
{
logger
.
info
(
"test:"
+
System
.
getProperty
(
"test"
));
// logger.info("exceptionServices-Report:"+SFExpress.getExceptionServices().toString());
// logger.info("exceptionServices-size:"+SFExpress.getExceptionServices().size());
List
<
SuiteResult
>
suiteResultList
=
new
ArrayList
<>();
List
<
String
>
failCase
=
new
ArrayList
<>();
for
(
ISuite
suite:
list1
){
String
suiteName
=
suite
.
getName
();
//logger.info("suiteName:"+suiteName);
SuiteResult
suiteResult
=
new
SuiteResult
(
suiteName
);
for
(
ISuiteResult
result
:
suite
.
getResults
().
values
()){
//logger.info(result.getTestContext().getName());
//System.out.println(result.getTestContext().getName());
//System.out.println(result.getTestContext().getPassedTests());
IResultMap
iResultMap
=
result
.
getTestContext
().
getSkippedConfigurations
();
Set
<
ITestResult
>
resultSet
=
iResultMap
.
getAllResults
();
Object
[]
iTestResult
=
resultSet
.
toArray
();
if
(
iTestResult
.
length
>
0
)
{
Object
o
=
iTestResult
[
0
];
//String message = ((ITestResult) o).getThrowable().getMessage();
//logger.info("skipped-info:"+message);
}
SortedMap
<
IClass
,
List
<
ITestResult
>>
passMap
=
null
;
//HTMLReporter.sortByTestClass(result.getTestContext().getPassedTests());
if
(!
passMap
.
isEmpty
()){
generateStatusResult
(
passMap
,
suiteResult
,
"pass"
);
}
SortedMap
<
IClass
,
List
<
ITestResult
>>
skipMap
=
null
;
//HTMLReporter.sortByTestClassTool(result.getTestContext().getSkippedTests());
if
(!
skipMap
.
isEmpty
()){
generateStatusResult
(
skipMap
,
suiteResult
,
"skip"
);
}
SortedMap
<
IClass
,
List
<
ITestResult
>>
failMap
=
null
;
// HTMLReporter.sortByTestClassTool(result.getTestContext().getFailedTests());
logger
.
info
(
"***************************************************"
);
if
(!
failMap
.
isEmpty
()){
logger
.
info
(
"***************************************************"
);
logger
.
info
(
"错误case"
);
failMap
.
forEach
((
k
,
v
)->{
logger
.
info
(
"k.getName()"
+
k
.
getName
());
StringBuilder
ca
=
new
StringBuilder
();
ca
.
append
(
k
.
getName
());
v
.
forEach
(
itr
->{
logger
.
info
(
"itr.getName()"
+
itr
.
getName
());
ca
.
append
(
"."
);
ca
.
append
(
itr
.
getName
());
failCase
.
add
(
ca
.
toString
());
});
});
logger
.
info
(
"***************************************************"
);
generateStatusResult
(
failMap
,
suiteResult
,
"fail"
);
}
//logger.info(new Gson().toJson(suiteResult));
}
suiteResultList
.
add
(
suiteResult
);
}
String
testResult
=
new
Gson
().
toJson
(
suiteResultList
);
logger
.
info
(
"test result:"
+
testResult
);
String
path
=
s
+
File
.
separator
+
"result.json"
;
File
file
=
new
File
(
path
);
DuibaReporter
.
save2File
(
file
,
testResult
);
SuiteResult
sr
=
suiteResultList
.
get
(
0
);
int
total
=
sr
.
getTotal
();
int
passCount
=
sr
.
getPassCount
();
int
failCount
=
sr
.
getFailCount
();
int
skipCount
=
sr
.
getSkipCount
();
DingdingResult
ddResult
=
null
;
try
{
ddResult
=
new
DingdingResult
(
total
,
passCount
,
skipCount
,
failCount
);
}
catch
(
Exception
e
){
e
.
printStackTrace
();
}
//logger.info(System.getProperty("noticeDD"));
boolean
noticeDD
=
Boolean
.
parseBoolean
(
System
.
getProperty
(
"noticeDD"
));
boolean
noticePerson
=
Boolean
.
parseBoolean
(
System
.
getProperty
(
"noticePerson"
));
boolean
sendPlatform
=
Boolean
.
parseBoolean
(
System
.
getProperty
(
"sendPlatform"
));
//logger.info("noticeDD----:"+noticeDD);
Gson
gson
=
new
GsonBuilder
().
create
();
logger
.
info
(
"gson.toJson(ddResult)~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~"
);
logger
.
info
(
"钉钉通知:"
+
gson
.
toJson
(
ddResult
));
Map
<
String
,
Object
>
map
=
null
;
try
{
map
=
ddResult
.
getResult
();
}
catch
(
UnsupportedEncodingException
e
)
{
e
.
printStackTrace
();
}
map
.
put
(
"failCase"
,
failCase
);
if
(
sendPlatform
)
Postman
.
sendTestPlatform
(
map
);
if
(
noticeDD
){
if
(!
noticePerson
){
map
.
put
(
"names"
,
new
ArrayList
<>());
}
logger
.
info
(
"noticeDD:"
+
noticeDD
);
Postman
.
send2Dingding
(
map
);
}
}
private
static
void
generateStatusResult
(
SortedMap
<
IClass
,
List
<
ITestResult
>>
StatusMap
,
SuiteResult
suiteResult
,
String
key
){
List
<
ClassResult
>
passClassResultList
=
new
ArrayList
<>();
int
caseCount
=
0
;
for
(
IClass
testClass:
StatusMap
.
keySet
()){
List
<
ITestResult
>
classResultList
=
StatusMap
.
get
(
testClass
);
String
className
=
testClass
.
getName
();
ClassResult
classResult
=
new
ClassResult
(
className
);
for
(
ITestResult
methodResult:
classResultList
){
caseCount
++;
//classResult.count++;
String
title
=
methodResult
.
getName
();
String
description
=
methodResult
.
getMethod
().
getDescription
();
if
(
description
!=
null
&&
description
.
length
()>
0
){
title
=
title
+
":"
+
description
;
}
String
testOut
=
null
;
if
(
key
.
equals
(
"pass"
)){
testOut
=
Reporter
.
getOutput
(
methodResult
).
toString
();
}
else
if
(
key
.
equals
(
"skip"
)){
testOut
=
DuibaReporter
.
getDependentMethods
(
methodResult
);
}
else
if
(
key
.
equals
(
"fail"
)){
String
throwable
=
methodResult
.
getThrowable
().
toString
();
testOut
=
Reporter
.
getOutput
(
methodResult
).
toString
()+
";"
+
throwable
;
}
long
duration
=
methodResult
.
getEndMillis
()-
methodResult
.
getStartMillis
();
classResult
.
addResult
(
title
,
String
.
valueOf
(
duration
),
testOut
);
}
passClassResultList
.
add
(
classResult
);
}
suiteResult
.
addResult
(
key
,
passClassResultList
,
caseCount
);
}
private
static
String
commaSeparate
(
Collection
<
String
>
strings
)
{
StringBuilder
buffer
=
new
StringBuilder
();
Iterator
<
String
>
iterator
=
strings
.
iterator
();
while
(
iterator
.
hasNext
())
{
String
string
=
iterator
.
next
();
buffer
.
append
(
string
);
if
(
iterator
.
hasNext
())
{
buffer
.
append
(
", "
);
}
}
return
buffer
.
toString
();
}
private
static
String
getDependentMethods
(
ITestResult
result
)
{
String
[]
methods
=
result
.
getMethod
().
getMethodsDependedUpon
();
return
commaSeparate
(
Arrays
.
asList
(
methods
));
}
private
static
void
save2File
(
File
file
,
String
content
){
OutputStream
out
=
null
;
Writer
writer
=
null
;
try
{
out
=
new
FileOutputStream
(
file
);
}
catch
(
FileNotFoundException
e
)
{
e
.
printStackTrace
();
}
try
{
writer
=
new
BufferedWriter
(
new
OutputStreamWriter
(
out
,
"utf-8"
));
writer
.
write
(
content
);
writer
.
flush
();
}
catch
(
UnsupportedEncodingException
e
)
{
e
.
printStackTrace
();
}
catch
(
IOException
e
)
{
e
.
printStackTrace
();
}
finally
{
if
(
writer
!=
null
)
try
{
writer
.
close
();
}
catch
(
IOException
e
)
{
e
.
printStackTrace
();
}
if
(
out
!=
null
){
try
{
out
.
close
();
}
catch
(
IOException
e
)
{
e
.
printStackTrace
();
}
}
}
}
// private SortedMap<IClass, List<ITestResult>> sortByTestClass(IResultMap results)
// {
// SortedMap<IClass, List<ITestResult>> sortedResults = new TreeMap<IClass, List<ITestResult>>(CLASS_COMPARATOR);
// for (ITestResult result : results.getAllResults())
// {
// List<ITestResult> resultsForClass = sortedResults.get(result.getTestClass());
// if (resultsForClass == null)
// {
// resultsForClass = new ArrayList<ITestResult>();
// sortedResults.put(result.getTestClass(), resultsForClass);
// }
// int index = Collections.binarySearch(resultsForClass, result, RESULT_COMPARATOR);
// if (index < 0)
// {
// index = Math.abs(index + 1);
// }
// resultsForClass.add(index, result);
// }
// return sortedResults;
// }
public
static
void
test
(
int
i
){
i
+=
1
;
}
public
static
void
main
(
String
[]
args
)
{
// Calendar c = Calendar.getInstance();
// Date date = new Date();
// c.setTime(date);
// int week_num =c.get(Calendar.WEEK_OF_YEAR);
// System.out.println(week_num);
// System.out.println(26%2==0);
int
i
=
2
;
test
(
i
);
System
.
out
.
println
(
i
);
}
}
src/test/java/base/TestListener.java
View file @
7351480c
...
...
@@ -19,9 +19,11 @@ public class TestListener implements ITestListener {
ITestNGMethod
method
=
failedTest
.
getMethod
();
if
(
context
.
getFailedTests
().
getResults
(
method
).
size
()
>
1
)
{
listOfFailedTests
.
remove
();
logger
.
info
(
"context.getFailedTests().getResults(method).size() > 1"
);
}
else
{
if
(
context
.
getPassedTests
().
getResults
(
method
).
size
()
>
0
)
{
listOfFailedTests
.
remove
();
logger
.
info
(
"context.getPassedTests().getResults(method).size() > 0"
);
}
}
}
...
...
@@ -52,5 +54,6 @@ public class TestListener implements ITestListener {
public
void
onStart
(
ITestContext
context
)
{
// TODO Auto-generated method stub
logger
.
info
(
"onStart~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~"
);
}
}
\ No newline at end of file
src/test/java/http/cases/http1_Test.java
View file @
7351480c
...
...
@@ -14,6 +14,9 @@ import java.sql.ResultSetMetaData;
import
java.sql.SQLException
;
import
java.util.HashMap
;
import
java.util.Map
;
import
java.util.concurrent.ExecutorService
;
import
java.util.concurrent.Executors
;
import
java.util.concurrent.ThreadPoolExecutor
;
/**
* Created by mabo on 2018/9/30
...
...
@@ -86,6 +89,23 @@ public class http1_Test extends DuibaBase {
// MysqlUtils sql = new MysqlUtils();
// Map<String,Object> map = sql.findSimpleResultBybds("select * from dafuweng.user where id=2709");
// System.out.println("hello");
ExecutorService
tp
=
Executors
.
newFixedThreadPool
(
100
);
int
i
=
0
;
while
(
i
<
100
){
tp
.
execute
(
new
Runnable
()
{
@Override
public
void
run
()
{
try
{
Thread
.
sleep
(
1000
);
}
catch
(
InterruptedException
e
)
{
e
.
printStackTrace
();
}
System
.
out
.
println
(
Thread
.
currentThread
().
getName
());
}
});
i
--;
}
...
...
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