Scenario collecting
<settings>
Description: command with basic scenario settings
<active="true">
<active="false">
<onlyThis="true">
<variations="name">
<truncateStorages="true">
<truncateStorages="false">
<showInRecorder="true">
<showInRecorder="false">
Each test scenario has its own status, which is processed during assembly to run test scenarios
Scenario statuses:
<active="true">
- Status of an active scenario
- Every new test scenario has
active="true"
status by default - If the scenario status is
active="false"
- defines the scenario as inactive, which means the scenario will not run - Not required to be marked

<onlyThis="true">
- Status of an active scenario
- If the scenario status is
onlyThis="true"
- only this scenario will run regardless of the activity of other test scenarios - It is possible to assign this status to several test scenarios for selective launch

<variations="">
- Status of variations
<variations>
is a status indicating that this scenario uses csv - variations
- Assigned in addition to the above statuses:

<truncateStorages="true">
<truncateStorages="true">
- means to clear the data in the scenario
<truncateStorages="false">
- means not to clear the data in the scenario (default value - is false)
If truncate false in the integration.xml file, and truncateStorages true from the scenario, then the data still will not be clear
If truncate true in the integration.xml file, and truncateStorages false from the scenario, then the data will not be clear
If truncate false in the integration.xml file, and truncateStorages false from the scenario, then the data will not be clear
If truncate true in the integration.xml file, and truncateStorages true from the scenario, then the data will be clear

<showInRecorder="true">
- If the scenario status is showInRecorder="true" - this scenario will be displayed in the Recorder
- If the scenario status is showInRecorder="false" - this scenario will not be displayed in the Recorder (default value - is false)
- It is possible to assign this status to as many test scenarios as you want

Work description
When running test scenarios in Testlum - Scenario Collector
collects all test scenarios located in the working directory and checks for scenarios’ statuses
Checking for status onlyThis="true"
- When compiling test scripts to run, specifying the status
onlyThis="true"
- Scenario Runner - will only run those scenarios that are in this status, and will ignore the launch of other active scenarios in the status<active="true">
onlyThis="true"
- is the most independent scenario status
Checking for status active="true"
- When compiling test scenarios to run, by specifying this status, Scenario Runner will run all test scenarios that are in
active="true"
- If there is at least one test
onlyThis="true"
in the test scenarios directory - running all scenarios in theactive="true"
state will be ignored and the scenario inonlyThis="true"
will be run
Checking for status active="false"
- When compiling test scenarios for launch, by setting the status
active="false"
, Scenario Runner will not let these scenarios run, and will simply ignore them.- Status
active="false"
- can be assigned to any scenario you don't want to run; when running all test scenarios in general, then all scripts in this status will be ignored.
The sequence of running scenarios
- If the run scenarios by tag config is enabled, scenarios will be run according to tag groups in alphabetical order of tags, and if multiple tests are related to the same tag, they will also be run in alphabetical order. If there are several tags on one scenario, the first one will be used as a basis
- If the run scenarios by tag config is disabled, all necessary scenarios will be launched alphabetically, as they are in folders
Error processing
Before checking scenarios for statuses, Testlum performs a global initialization of all test scenarios for validity.
- Basic Validity Checks
- Check for correct syntax in all files in a directory
- Correct structure of each tag
- Validity of locators and their correct transfer to the scenario
- Validity of variations and their correct transfer to the scenario
- Matching the paths and names of transferred files
- Check for required files and folders to run test scenarios
- All of the above steps are processed and initialized before each test scenario run. If an error is detected, the scenarios will not be launched, with the output of the corresponding error and indication of: directory, path, file name, and the nature of the error.
Pros:
- The user is always aware of the validity of their test scenarios and test data
- Elimination of bugs on early stages
- Tests’ stability
'WEB script'
<web comment="Start WEB scenario">
<input comment="Input 'Email'"
locator="locator.email"
value="testing-tool@gmail.com"/>
<input comment="Input 'Password'"
locator="locator.password"
value="Testing#1"/>
<click comment="Click on 'Log in' button" locator="locator.logInButton"/>
</web>
<postgres comment="Check all user's in system" alias="Api_Alias" file="expected_2.json">
<query>SELECT * FROM t_user</query>
</postgres>
'HTTP - request'
<http comment="Re-login to get a new JWT token" alias="SHOPIZER">
<post endpoint="/api/v1/customer/login">
<response code="200" file="expected_28.json"/>
<body>
<from file="request_28.json"/>
</body>
</post>
</http>
"The XSD schema makes working with tags even easier. To compose a test scenario, you only need to set the necessary values in the drop-down parameters"