Runner
This configuration property allows configuring the way your tests will be executed.
Name | Type | Description | Default Value | availability |
---|---|---|---|---|
adapters | object[] | Used adapters. | [{name: 'playwright',options: {clients: ['chrome'] }}] | |
backoff | object | Object to define a backoff value used to determine the wait time between successive retries | ||
clientPerFeature | boolean | If true, a same feature will be run with one web browser client at a time. | true | |
downloads | {path:string} | Path location of downloaded artifacts. | false | |
failure | object | Object defining Test Maker behaviour in case of an error. | ||
headless | boolean | If true, the web browser client window in which your test is executed will not be visible. | false | |
isAppbusyEvaluator | function | A function that can define the readiness state of an application. | ||
keepClientOpen | boolean | If true, the web browser client shall remain opened after the test execution. | false | |
livemode | boolean | If true, after running a test once, the test execution will be launched again, whenever changes are saved in a test feature file involved in the previous test execution. | false | |
nodeVersion | string | Specify the node version that the test must be run with. | "" | |
parallel | object | Object defining the options of a test running several threads in parallel. | ||
process | object | Object defining process level options. | ||
proxy | object | Define the proxy options for your test. | ||
startPage | string | Define the web page by which your test will begin with. | "" | |
throttling | object | Object to define a delay between methods to slow down the test process. | ||
timeout | object | Define the timeout of the different Test Maker actions. |
Adapters
Test Maker provides unique multiple Adapters feature. This means that the platform can use multiple Technologies to run tests using the same API. This makes Test Maker a Future Proof platform.
An Adapter is a Framework or Technology that acts as mediator between the code and the Client.
By Default Test Maker ships with Playwright. Playwright is a great Framework that offers many features and comparability with many Browsers.
Basic Usage
Example 1
import { adapters } from "test-maker";
const testMakerLocalConfig: Configuration = {
runner: {
adapters:[
adapters.playwright,
]
},
};
export default testMakerLocalConfig;
Example 2
import { PlaywrightAdapterOptions } from "test-maker";
const testMakerLocalConfig: Configuration = {
runner: {
adapters: [
{
name: `playwright`,
options: <PlaywrightAdapterOptions>{
default: true,
files: [
"./src/specs/tests/**/*-spec.ts",
],
clients: [
'chrome',
{
name: `safari`,
options: {
features: [`Safari client`],
files: [`./src/specs/browser-tests/*-spec.ts`]
}
}
]
}
}]
}
};
export default testMakerLocalConfig;
backoff
| Name | Type | Description | Default Value |
|---- -------|------------|---------------------------------------------------------------------------------------------------|----------------|
| bypass
| string[]
| | false
|
| password
| string
| | true
|
| server
| string
| | true
|
| username
| string
| | true
|
failure
This options allows configuring Test Maker behavior in case of an error occurring during test execution.
Name | Type | Description | Default Value |
---|---|---|---|
failure | object | Define the the Test Maker behavioral options in case of an error occurring. |
feature
This options allows configuring Test Maker behavior in case of an error occurring inside a feature. It mainly deals with test execution after the error occurrence.
Name | Type | Description | Default Value |
---|---|---|---|
exitProcessOnFirstFail | boolean | Defines the the Test Maker behavioral options in case of an error occurring for a feature. | false |
skipRemainingScenariosOnScenarioFail | boolean | If true, when an error occurs inside a scenario, the feature execution will be terminated and the remaining scenarios skipped. | true |
skipRemainingStepsOnStepFail | boolean | If true, when an error occurs inside a step, the feature execution will be terminated and the remaining steps will be skipped. | true |
isAppBusyEvaluator
This option allows stabilization of a test by following criteria that define if an application is ready and stable for the test methods to run.
parallel
This option allows to configure how many threads will be used by the available categories.
Name | Type | Description | Default Value |
---|---|---|---|
adapter | number | Define the number of adapters that will be run in parallel. | 1 |
clients | number | Define the number of web clients that will be run in parallel | 1 |
features | number | Define the number of features that will be run in parallel | 1 |
process
Name | Type | Description | Default Value |
---|---|---|---|
exitOnUnhandledErrors | boolean | If true, any rogue operation missing async keyword for example, or none caught errors inside Test Maker pipeline will make Test Maker break the process. | false |
failureExitCode | number | 0 | |
failureExitMessage | string | Define the message displayed in your terminal report when a failure occured. | "Test Process Failed" |
successExitMessage | string | Define the message displayed in your terminal report when the test execution was a success. | "Test Process Succeeded" |
successThreshold | number | If the percentage of passed test is superior than the successThreshold number your test process will be labeled a success. | 0 |
timeout
By setting the global timeout
values in this object, your timeout will be applied to the whole project. Those timeout stand as long as not overridden by local timeout
.
Name | Type | Description | Default Value |
---|---|---|---|
assertion | number | Define the global timeout of assertion actions inside your project. | 12000 |
feature | number | Define the global timeout of features inside your project. | 120000 |
pageLoad | number | Define the global timeout of web page loading inside your project. | 10000 |
scenario | number | Define the global timeout of scenarios inside your project. | 0 |
step | number | Define the global timeout of step inside your project. | 0 |