Research
Security News
Malicious npm Packages Inject SSH Backdoors via Typosquatted Libraries
Socket’s threat research team has detected six malicious npm packages typosquatting popular libraries to insert SSH backdoors.
@mastermindzh/cypress-testrail-reporter
Advanced tools
A Testrail reporter for cypress including TestRail API basic library
Publishes Cypress runs on TestRail.
Core features:
Important note: Keep your tests under the one of the following folder structure:
cypress/e2e
- default path for Cypress v10 and abovecypress/integration
- default path for Cypress v9 and bellowcypress/tests
$ npm install cypress-testrail-reporter --save-dev
Add reporter to your cypress.json
:
...
"reporter": "cypress-testrail-reporter",
"reporterOptions": {
"host": "https://yourdomain.testrail.com",
"username": "username",
"password": "password",
"projectId": 1,
"suiteId": 1,
}
Your Cypress tests should include the ID of your TestRail test case. Make sure your test case IDs are distinct from your test titles:
// Good:
it("C123 C124 Can authenticate a valid user", ...
it("Can authenticate a valid user C321", ...
// Bad:
it("C123Can authenticate a valid user", ...
it("Can authenticate a valid userC123", ...
host: string host of your TestRail instance (e.g. for a hosted instance https://instance.testrail.com).
username: string email of the user under which the test run will be created. When you set CYPRESS_TESTRAIL_REPORTER_USERNAME
in
environment variables, this option would be overwritten with it.
password: string password or the API key for the aforementioned user. When you set CYPRESS_TESTRAIL_REPORTER_PASSWORD
in runtime environment variables, this option would be overwritten with it.
projectId: number project with which the tests are associated.
suiteId: number suite with which the tests are associated. Optional under cypress.json file in case that you define suiteId under gitlab-ci.yml file or set this value in runtime environment varables.
runName: string (optional) name of the Testrail run. When you set CYPRESS_TESTRAIL_REPORTER_RUNNAME
in runtime environment variables, this option would be overwritten with it.
singleRun: string (optional) Causes the reporter to add all results into a single test run in Testrail
disableDescription: bool (optional: default is false) possibility to disable description for test run in case that someone don’t have cypress dashboard feature (disableDescription: true)
allowFailedScreenshotUpload: bool (optional: default is false) will upload failed screenshot to corresponding test result comment for easier debugging of failure.
includeAllInTestRun: bool (optional: default is true) will return all test cases in test run. set to false to return test runs based on filter or section/group.
groupId: string (optional: needs "includeAllInTestRun": false ) The ID of the section/group. When you set CYPRESS_TESTRAIL_REPORTER_GROUPID
in runtime environment variables, this option would be overwritten with it.
filter: string (optional: needs "includeAllInTestRun": false) Only return cases with matching filter string in the case title
This reporter can handle multiple suite project in TestRail. In order to use it, don't define suiteId under cypress.json file and instead you should pass testRailSuiteId variable when you define all other CLI agruments for cypress execution(through command line). If you are using CI integration solution (e.g. GitLab) testRailSuiteId can be set before every pipeline job or predefined for each spec (test) file for which suiteId belongs to.
gitlab-ci.yml file (Here you can pass suiteId as a variable):
e2e_test1:
script:
- e2e-setup.sh
variables:
CYPRESS_SPEC: "cypress/integration/dashboard/*"
TESTRAIL_SUITEID: 1
e2e_test2:
script:
- e2e-setup.sh
variables:
CYPRESS_SPEC: "cypress/integration/login/*"
TESTRAIL_SUITEID: 2
and use it later during cypress run:
e2e-setup.sh file
CYPRESS_OPTIONS="baseUrl=${url},trashAssetsBeforeRuns=false,video=${video},screenshotOnRunFailure=${screenshotOnRunFailure}"
CYPRESS_ENV="testRailSuiteId=${TESTRAIL_SUITEID}"
npx cypress run --headed --browser chrome --config "${CYPRESS_OPTIONS}" --env="${CYPRESS_ENV}" --spec "${CYPRESS_SPEC}"
This reporter can miss spec files if they are suffixed as .feature or if you are not using the default cypress/integration folder. In order to use it with the Cucumber Preprocess, you should pass the location of your spec files cypress/tests/**/*.feature when you define all other CLI agruments for cypress execution(through command line). If you are using CI integration solution (e.g. GitLab) CYPRESS_SPEC can be set before every pipeline job
CYPRESS_SPEC="cypress/tests/**/*.feature"
npx cypress run --headed --browser chrome --spec "${CYPRESS_SPEC}"
To increase security, the TestRail team suggests using an API key instead of a password. You can see how to generate an API key here.
If you maintain your own TestRail instance on your own server, it is recommended to enable HTTPS for your TestRail installation.
For TestRail hosted accounts maintained by Gurock, all accounts will automatically use HTTPS.
You can read the whole TestRail documentation here.
Milutin Savovic - github
This project is licensed under the MIT license.
FAQs
A Testrail reporter for cypress including TestRail API basic library
The npm package @mastermindzh/cypress-testrail-reporter receives a total of 415 weekly downloads. As such, @mastermindzh/cypress-testrail-reporter popularity was classified as not popular.
We found that @mastermindzh/cypress-testrail-reporter demonstrated a not healthy version release cadence and project activity because the last version was released a year ago. It has 1 open source maintainer collaborating on the project.
Did you know?
Socket for GitHub automatically highlights issues in each pull request and monitors the health of all your open source dependencies. Discover the contents of your packages and block harmful activity before you install or update your dependencies.
Research
Security News
Socket’s threat research team has detected six malicious npm packages typosquatting popular libraries to insert SSH backdoors.
Security News
MITRE's 2024 CWE Top 25 highlights critical software vulnerabilities like XSS, SQL Injection, and CSRF, reflecting shifts due to a refined ranking methodology.
Security News
In this segment of the Risky Business podcast, Feross Aboukhadijeh and Patrick Gray discuss the challenges of tracking malware discovered in open source softare.