
Security News
Feross on the 10 Minutes or Less Podcast: Nobody Reads the Code
Socket CEO Feross Aboukhadijeh joins 10 Minutes or Less, a podcast by Ali Rohde, to discuss the recent surge in open source supply chain attacks.
aft-testrail
Advanced tools
Automated Functional Testing (AFT) package supporting TestRail integration for test execution control and logging
provides TestRail result logging as well as test execution filtering for users of aft-core by implementing plugins for the ReportingPlugin and PolicyPlugin plugin base classes.
the TestRailReportingPlugin extends from ReportingPlugin in aft-core. if enabled, this plugin will log test results to test cases in a TestRail Plan (if no plan is specified a new one is created the first time one is attempted to be accessed by the plugin). it can be enabled by including the following in your aftconfig.json file:
{
"logLevel": "info",
"plugin": [
{"name": "testrail-reporting-plugin", "searchDir": "./node_modules/"}
],
"TestRailConfig": {
"url": "https://your.testrail.instance/",
"user": "valid.user@testrail.instance",
"accesskey": "your_access_key",
"planid": 12345,
"logLevel": "warn",
"maxLogCharacters": 250,
"policyEngineEnabled": true
}
}
TestRailConfig:
string value of none, error, warn, step, info, debug, or trace (defaults to value set on aftConfig.logLevel)number for the maximum number of additional log characters to send to TestRail when logging a TestResult (defaults to 250)bool if set to true then any aftTest with a Test ID will first check that the test should be run via this plugin. any matching test in a Test Plan with a Passing or Failing result or if not using a Test Plan, if the Test ID does not exist in the referenced Project and Suites will result in a false response. (defaults to true)the TestRailPolicyPlugin extends from PolicyPlugin interface in aft-core. if enabled this plugin will lookup the status of TestRail tests based on their case ID from the set of IDs specified in the AftTest.description or AftTestOptions.testIds array. it can be enabled by including the following in your aftconfig.json file:
{
"logLevel": "info",
"plugin": [
{"name": "testrail-policy-plugin", "searchDir": "./node_modules/"}
],
"TestRailConfig": {
"url": "https://your.testrail.instance/",
"user": "valid.user@testrail.instance",
"accesskey": "your_access_key",
"planid": 12345,
"policyEngineEnabled": true
}
}
to submit results to or filter test execution based on existence and status of tests in TestRail, you will need to have an account with write permissions in TestRail. These values can be specified in your aftconfig.json as follows:
{
"TestRailConfig": {
"url": "http://fake.testrail.io",
"user": "your.email@your.domain.com",
"accesskey": "your_testrail_api_key_or_password",
"projectid": 3,
"suiteids": [1219, 744],
"planid": 12345,
"cacheDurationMs": 1000000,
"logLevel": "trace",
"maxLogCharacters": 250,
"policyEngineEnabled": true
}
}
planid is not set)planid is not set)testrail-reporting-plugin is referenced and enabled and used for controlling execution of tests. (NOTE: if no value is specified for planid and testrail-reporting-plugin is enabled, a new TestRail Plan will be created using the suites specified in suiteids and the projectid)you can submit results directly by calling the aft-core.ReportingManager.submitResult(result: TestResult) function or results will automatically be submitted if using the aft-core.AftTest(description, testFunction) with valid testCases specified in the options object.
sending a
TestResultwith aTestStatusoffailedwill be converted to a status ofretestbefore submitting to TestRail. this is done to allow the retesting of failed tests on subsequent attempts
aft-core.ReportingManager:let reporter = new ReportingManager({logName: 'example'});
await reporter.submitResult({
testId: 'C3190', // must exist in TestRail plan or project and suites
status: TestStatus.Failed,
resultMessage: 'there was an error when running this test'
});
aft-core.AftTest (aft-core.AftTest.run()):/**
* `TestStatus.retest` result for `C3190`, `C2217763`, and `C3131` sent to TestRail
* following execution because `AftTest.status` is `failed` and the `verify` call
* does not include any test IDs
*/
await aftTest('[C3190][C2217763][C3131]', async (t: AftTest) => {
await t.verify((1 + 1), 3, 'expected to fail because 1+1 != 3');
});
FAQs
Automated Functional Testing (AFT) package supporting TestRail integration for test execution control and logging
We found that aft-testrail 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.

Security News
Socket CEO Feross Aboukhadijeh joins 10 Minutes or Less, a podcast by Ali Rohde, to discuss the recent surge in open source supply chain attacks.

Research
/Security News
Campaign of 108 extensions harvests identities, steals sessions, and adds backdoors to browsers, all tied to the same C2 infrastructure.

Security News
OpenAI rotated macOS signing certificates after a malicious Axios package reached its CI pipeline in a broader software supply chain attack.