Skip to end of metadata
Go to start of metadata

You are viewing an old version of this page. View the current version.

Compare with Current View Page History

« Previous Version 19 Next »

To capture code coverage on your backend server, you need to run it using our Node.js test listener agent.

Unix:
./node_modules/.bin/slnodejs run --tokenfile /path/to/sltoken.txt --buildsessionidfile buildSessionId [--labid <Lab ID>] --workspacepath "." --useinitialcolor true -- /your/backend/server/command 

Windows:
call .\node_modules\.bin\slnodejs run --tokenfile \path\to\sltoken.txt --buildsessionidfile buildSessionId [--labid <Lab ID>] --workspacepath "." --useinitialcolor true -- \your\backend\server\command 

Note the /your/backend/server/command from above refers to "./server/app.js" in the example of command below:

./node_modules/.bin/slnodejs run --tokenfile ./sltoken.txt --buildsessionidfile buildSessionId --labid "LAB_ID_2" --workspacepath "./server" --useinitialcolor true --useslnode2 -- "./server/app.js"

When the application is up and running and the Sealights Listener agent configured, you can see it properly running as a new entry in the Cockpit -> Live Agents Monitor screen.
You also have the ability to validate the startup parameters in use with your application via the following commands

  • Linux:  ps -ef | grep slnodejs

  • Windows: C:\\Windows\\System32\\wbem\\WMIC.exe process where "name like '%slnodejs%'" get commandline,processid (CMD prompt)

For distributed Test Runner & Test Listener, we recommend using the Lab ID parameter in order to link between the two.
If the lab ID is not provided, the session ID will be used as a Lab ID

Running backend server using SeaLights agent and preload.js

In order to run your backend service with Sealights without changing the startup command, you can use the preload.js file and the NODE_OPTIONS environment variable
This is a common practice in docker containers where the ENTRYPOINT cannot be modified.

The agent contains a preload.js file under node_modules/slnodejs/lib/preload.js
You use it by setting the environment variable: NODE_OPTIONS="--require ./node_modules/slnodejs/lib/preload.js"

It will search for the token in the file sltoken.txt and the build session id in the file buildSessionId

Other parameters can be passed to is using the following syntax: SL_ + {command line flag}
For instance, in order to pass the lab ID, you can set SL_labId=my_lab_id

Sample docker file:

ENV SL_labId=integ_test_otel
ENV NODE_OPTIONS="--require ./node_modules/slnodejs/lib/preload.js"

ENTRYPOINT [ "node", "--require", "./tracing.js", "index.js" ]
  • No labels