Github Integration
Test Maker runs in all CI environment the same. Test Maker can integrate with Github.
Installation
Test Maker has to be installed first. We invite you to consult how part dealing with Test Maker installation.
You need to install Test Maker with a shell script.
Delete package-lock.json file.
rm -rf ./package-lock.json
Delete node_modules folder.
rm -rf ./node_modules
Install the dependencies.
npm install
Start test execution with specified configuration file.
npm run test:ci
or with an example of variable usage:
Start test execution with specified configuration file and two variable sourceName and parallelFeatures.
npm run test:ci -- --source "$sourceName" --parallel.features=$parallelFeatures
GUI requirements (headless mode )
By default, when running Test Maker with docker, no Graphical User Interface (GUI) is present. That's why the test execution will be done in headless mode. The Test Maker configuration will then have the headless option enabled and set as true
.
const testMakerCIConfig: Configuration = {
runner: {
headless: true,
},
};
export default testMakerCIConfig;
Parameters usage
You can use parameters to handle different part of the configuration from the platform directly. For example, you can parametrize the number of parallel threads or the test suites that you'd like to execute.
Source control
For source code management, if you are intent on pulling your test project from a version control platform, you will need to provide at least credentials to access the repository and url of the repository.
Reporting
The reporting is "CI specific", meaning that you can have multiple ways of having reports available for your test executions.
Logs
Test Maker terminal reporter is your logging utility in your CI system. You can then have logs about Test Maker process ,errors,etc...
Plugins
System requirements
ANSI support for login
NodeJS
Git (if using source control)
Here is a list of the dependencies that will be installed with Playwright. Specific dependencies.
Default Test Maker configuration
By default Test Maker comes with a ci configuration.
test-maker.ci.ts
import { Configuration, reporters } from "test-maker";
const testMakerCIConfig: Configuration = {
runner: {
liveMode: false,
headless: true,
timeout:{
selector:10000,
assertion:12000
}
},
reporting: {
reporters: [reporters.terminal, reporters.allure],
screenshots: {
enabled: true
}
},
};
export default testMakerCIConfig;
It's also recommended to add the following options to the configuration file:
const testMakerCIConfig: Configuration = {
debugging:{
enabled:false,
},
}
In order to deactivate debugging mode as to avoid having hanging execution in debugging mode inside your pipeline.