jenkinsci / jenkinsci/junit-plugin
[JENKINS-6014] Test Suite Not Displayed in Test Results
- Dominant language
- Java
- Stars
- 87
- Forks
- 351
- Avg merge
- 1d 19h
- Merged PRs (30d)
- 2
Description
We have the project setup to display Junit test results by checking the setting : Publish JUnit test result report.
The testsuite in the generated test result xml is ignored when displaying the test results for the project.
Here is the situation, we run Selenium tests for IE and FF ... so the same tests run twice. Hudson correctly displays the fact the these tests ran twice, but it's impossible to know if the tests were IE or FF because the testsuite isn't displayed.
Here are the two XML files :
"1.0" encoding="UTF-8"?>
"Firefox" failures="0" tests="5" time="55.688" errors="0">
"testBogusLogin" time="3.406" classname="mypackage.selenium.TestLoginPage"/>
"testLogin" time="2.469" classname="mypackage.selenium.TestLoginPage"/>
"testLoginBadPassword" time="3.375" classname="mypackage.selenium.TestLoginPage"/>
"testMenu" time="32.86" classname="mypackage.selenium.TestMenu"/>
"1.0" encoding="UTF-8"?>
"IE" failures="2" tests="5" time="60.047" errors="0">
"testBogusLogin" time="3.875" classname="mypackage.selenium.TestLoginPage"/>
"testLogin" time="15.89" classname="mypackage.selenium.TestLoginPage">
"com.thoughtworks.selenium.SeleniumException" message="Timed out after 15000ms">
Thread.run(Thread.java:595)
... Removed 7 stack frames]]>
"testLoginBadPassword" time="3.843" classname="mypackage.selenium.TestLoginPage"/>
"testMenu" time="25.969" classname="mypackage.selenium.TestMenu">
"com.thoughtworks.selenium.SeleniumException" message="Timed out after 15000ms">
---
Originally reported by mjstrecker, imported from: Test Suite Not Displayed in Test Results
Raw content of original issue
We have the project setup to display Junit test results by checking the setting : Publish JUnit test result report.
The testsuite in the generated test result xml is ignored when displaying the test results for the project.
Here is the situation, we run Selenium tests for IE and FF ... so the same tests run twice. Hudson correctly displays the fact the these tests ran twice, but it's impossible to know if the tests were IE or FF because the testsuite isn't displayed.
Here are the two XML files :<?xml version="1.0" encoding="UTF-8"?>
<testsuite name="Firefox" failures="0" tests="5" time="55.688" errors="0">
<properties/>
<testcase name="testBogusLogin" time="3.406" classname="mypackage.selenium.TestLoginPage"/>
<testcase name="testLogin" time="2.469" classname="mypackage.selenium.TestLoginPage"/>
<testcase name="testLoginBadPassword" time="3.375" classname="mypackage.selenium.TestLoginPage"/>
<testcase name="testMenu" time="32.86" classname="mypackage.selenium.TestMenu"/>
</testsuite><?xml version="1.0" encoding="UTF-8"?>
<testsuite name="IE" failures="2" tests="5" time="60.047" errors="0">
<properties/>
<testcase name="testBogusLogin" time="3.875" classname="mypackage.selenium.TestLoginPage"/>
<testcase name="testLogin" time="15.89" classname="mypackage.selenium.TestLoginPage">
<failure type="com.thoughtworks.selenium.SeleniumException" message="Timed out after 15000ms">
<![CDATA[com.thoughtworks.selenium.SeleniumException: Timed out after 15000ms
at com.thoughtworks.selenium.HttpCommandProcessor.throwAssertionFailureExceptionOrError(HttpCommandProcessor.java:97)
at com.thoughtworks.selenium.HttpCommandProcessor.doCommand(HttpCommandProcessor.java:91)
at com.thoughtworks.selenium.DefaultSelenium.waitForPageToLoad(DefaultSelenium.java:635)
at mypackage.selenium.SeleniumTestNgBase.waitForPageToLoad(Unknown Source)
at mypackage.selenium.SeleniumTestNgBase.waitForPageToLoad(Unknown Source)
at mypackage.selenium.TestLoginPage.testLogin(Unknown Source)
at java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:417)
at java.util.concurrent.FutureTask$Sync.innerRun(FutureTask.java:269)
at java.util.concurrent.FutureTask.run(FutureTask.java:123)
at java.util.concurrent.ThreadPoolExecutor$Worker.runTask(ThreadPoolExecutor.java:650)
at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:675)
at java.lang.Thread.run(Thread.java:595)
... Removed 7 stack frames]]>
</failure>
</testcase>
<testcase name="testLoginBadPassword" time="3.843" classname="mypackage.selenium.TestLoginPage"/>
<testcase name="testMenu" time="25.969" classname="mypackage.selenium.TestMenu">
<failure type="com.thoughtworks.selenium.SeleniumException" message="Timed out after 15000ms">
<![CDATA[com.thoughtworks.selenium.SeleniumException: Timed out after 15000ms
at com.thoughtworks.selenium.HttpCommandProcessor.throwAssertionFailureExceptionOrError(HttpCommandProcessor.java:97)
at com.thoughtworks.selenium.HttpCommandProcessor.doCommand(HttpCommandProcessor.java:91)
at com.thoughtworks.selenium.DefaultSelenium.waitForPageToLoad(DefaultSelenium.java:635)
at mypackage.selenium.SeleniumTestNgBase.waitForPageToLoad(Unknown Source)
at mypackage.selenium.SeleniumTestNgBase.waitForPageToLoad(Unknown Source)
at mypackage.selenium.TestMenu.testMenu(Unknown Source)
... Removed 22 stack frames]]>
</failure>
</testcase>
</testsuite>
environment
```
Windows Server 2003
Windows Server 2008
```
1 attachment
- [Jenkins-Test-Results-Screen-Captures.doc](https://issues.jenkins.io/secure/attachment/20519/Jenkins-Test-Results-Screen-Captures.doc)
Contributor guide
Research direction
Start by locating the JUnit plugin code that handles the “Publish JUnit test result report” setting and parses the supplied XML. Compare the displayed results for the Firefox and IE suites, then run the plugin’s existing tests. Done means the testsuite names are shown so repeated runs can be distinguished.
Written by the indexing model from the issue text.
Assessment
- Tech stack
- java
- Domain
- testing-qa
- Issue type
- Bug
- Difficulty
- 3/5
- Estimated time
- 1-2 days
- Activity status
- Stale
- Clarity
- Mostly clear
- Newbie friendliness
- 45/100