Gathering coverage and test information using the SeaLights Java Test Listener is done in a few steps, we recommend to use the Lab ID for this. If your component does not yet support the Lab ID option, use the Build Session ID to connect between the test listener and the test runner
Working with a supported framework
When working with a supported framework, for example JUnit or TestNG, you can add the Sealights test listener as a javaagent which will capture the test information automatically.
java -javaagent:/path/to/sl-test-listener.jar -Dsl.tags=testNG -tokenfile -DsltokenFile=/path/to/sltoken.txt -labid <Lab ID> -testStage "Functional Tests" -cp <CLASSPATH> org.testng.TestNG -testclass com.my.test
See 'Java Command Reference - Installing test listener as Java Agent' for full parameter details
Working without a supported framework
Starting the Test Stage
First the SeaLights server needs to be notified that a test stage is starting.
java -jar sl-test-listener.jar start -tokenfile /path/to/sltoken.txt -labid <Lab ID> -testStage "Functional Tests"
See 'Java Command Reference - Starting a test stage' for full parameter details
Running your tests
Functional Tests
Before running your functional tests you need to set up the backend server to receive the test footprints. See 'Using Java Agents - Installing Test Listener as Java Agent'
Once set up you now run your tests normally while generating one or more JUnit xml result files to be reported to the SeaLights server.
Unit Tests
As the unit tests are not run against a backend server, you need to run the actual tests using the Sealights Java Agent while generating one or more JUnit xml result files to be reported to the SeaLights server.
The command is the same as you would use on the backend server. See 'Using Java Agents - Installing Test Listener as Java Agent'
Upload report files
Once done running the tests you upload the report files to the SeaLights server
java -jar sl-test-listener.jar uploadReports -tokenfile /path/to/sltoken.txt -labid <Lab ID> -reportFile "/path/to/junit_report.xml" -source "Junit xml report"
This command must be executed while your Test Stage is still open (a.k.a. before the end
command), otherwise the report information won’t be visible and associated with it in your dashboard.
See 'Using Java Agents - Uploading multiple files' for information on how to upload multiple files
See 'Java Command Reference - Upload report files' for full parameter details
Ending the Test Stage
The server needs to be notified that a test stage has ended.
java -jar sl-test-listener.jar end -tokenfile /path/to/sltoken.txt -labid <Lab ID>
See 'Java Command Reference - Ending a test stage' for full parameter details