CLI
In scope of this article the task
term is a piece of work that is done on stories, scenarios, steps and other entities
and that produces some output based on the work done.
./gradlew <task to perform>
./gradlew <task to perform> --args='<arguments to pass into the task>'
The tasks are available only through the gradlew command.
|
Run stories
The task runs test stories based on current tests configuration and tests state on the file system.
./gradlew runStories
gradlew runStories
Treat known issues only as a positive result
Any known issues detected during stories run fail the overall execution with the corresponding exit code. The following command-line option can be used to not treat known issues as failures:
./gradlew runStories --treat-known-issues-only-as-passed
The treating of known issues as a positive result can be enabled globally at the project level by adding the following
line into the build.gradle
file of the tests project:
runStories.treatKnownIssuesOnlyAsPassed = true
Make sure to put the configuration below the line configuring the project tasks, namely:
|
Write exit code to a file
Writing of the exit code can be enabled globally using project properties:
./gradlew runStories -PfileToSaveExitCode='/user/dir/exitCode.txt'
./gradlew runStories -PfileToSaveExitCode='/exitCode.txt' -PresolvePathAgainstProjectBuildDir=true
Writing of the exit code can be enabled globally for the project by adding the following lines into the
build.gradle
file of the test project:
runStories.fileToSaveExitCode ='/user/dir/exitCode.txt'
runStories.fileToSaveExitCode = '/exitCode.txt'
runStories.resolvePathAgainstProjectBuildDir = true
Debug stories
The task runs test stories omitting VIVIDUS initialization check based on current tests configuration and tests state on the file system.
./gradlew runStories
gradlew runStories
Treat known issues only as a positive result
Any known issues detected during stories run fail the overall execution with the corresponding exit code. The following command-line option can be used to not treat known issues as failures:
./gradlew runStories --treat-known-issues-only-as-passed
The treating of known issues as a positive result can be enabled globally at the project level by adding the following
line into the build.gradle
file of the tests project:
runStories.treatKnownIssuesOnlyAsPassed = true
Make sure to put the configuration below the line configuring the project tasks, namely:
|
Write exit code to a file
Writing of the exit code can be enabled globally using project properties:
./gradlew runStories -PfileToSaveExitCode='/user/dir/exitCode.txt'
./gradlew runStories -PfileToSaveExitCode='/exitCode.txt' -PresolvePathAgainstProjectBuildDir=true
Writing of the exit code can be enabled globally for the project by adding the following lines into the
build.gradle
file of the test project:
runStories.fileToSaveExitCode ='/user/dir/exitCode.txt'
runStories.fileToSaveExitCode = '/exitCode.txt'
runStories.resolvePathAgainstProjectBuildDir = true
Print available steps
The task prints all the steps that are available for the configured profiles, environments and suites in the alphabetical order.
Description | Short notation | Full notation | Default value |
---|---|---|---|
Path to a file to save the list of the available steps |
f |
file |
by default steps are printed into the console |
./gradlew printSteps --args='-f my-steps.txt'
gradlew printSteps --args='-f my-steps.txt'
vividus Then `$value` matches `$regex`
vividus-plugin-web-app When I switch back to page
vividus-plugin-web-app When I press $keys on keyboard
COMPOSITE IN STEPS FILE Then an element with the name '$elementName' exists
COMPOSITE IN STEPS FILE When I click on an image with the name '$imageName'
Count steps
The task counts steps in the specified tests folder and prints them in the descending order.
Description | Short notation | Full notation | Default value |
---|---|---|---|
Directory to count steps |
d |
dir |
story |
Number of steps to print |
t |
top |
<no limits by default> |
./gradlew countSteps --args='-t 5 -d story/uat'
gradlew countSteps --args='-t 5 -d story/uat'
Top of the most used steps: occurrence(s)
Then `$variable1` is $comparisonRule `$variable2` 330
Given I am on page with URL `$pageURL` 127
Then number of elements found by `$locator` is $comparisonRule `$quantity` 110
Given I initialize $scopes variable `$variableName` with value `$variableValue` 83
When I change context to element located `$locator` 59
Count scenario
The task counts and prints stories, scenarios and scenarios containing examples found in the specified tests folder.
Description | Short notation | Full notation | Default value |
---|---|---|---|
Directory to count stories and scenarios |
d |
dir |
story |
./gradlew countScenarios --args='-d story/uat'
gradlew countScenarios --args='-d story/uat'
5 | Stories
13 | Scenarios
6 | Scenarios with Examples
Validate known issues configuration
The task validates known issues format and prints the validated known issues into the console.
./gradlew validateKnownIssues
./gradlew validateKnownIssues
Known issues found:
VVD-5
VVD-6
VVD-7
VVD-8
Find known issues by assertion pattern
The task used to find known issues contained in the test project by one or more assertion patterns.
Description | Short notation | Full notation | Default value |
---|---|---|---|
Required path to a file that contains new-line-separated list of assertion patterns |
f |
file |
<no default value> |
If you miss the file argument into the task it will behave as described per Validate known issues configuration |
.*Doctor Who.*
./gradlew validateKnownIssues --args='-f ./assertion-failures.txt'
gradlew validateKnownIssues --args='-f assertion-failures.txt'
Known Issue | Assertion Error
VVD-6 | .*Doctor Who.*
Replace deprecated steps
The task replaces deprecated steps with actual ones in all stories(*.story
files) and composite steps (*.steps
files) along the path <project-name>/src/main/resources
.
Please note that some deprecated steps (for example which should be replaced with two steps) cannot be replaced automatically and must be refactored manually.
./gradlew replaceDeprecatedSteps
gradlew replaceDeprecatedSteps
The step "When I check all checkboxes located by `xpath(.//input)`" from "CheckboxStepsTests.story - Scenario: Validation of step 'When I $checkboxState all checkboxes located by `$checkboxesLocator`'" is deprecated but cannot be replaced automatically, please replace it manually.
The step "When I check all checkboxes located by `xpath(.//input)`" from "composite.steps - Composite: When I run composite step with table:$table" is deprecated but cannot be replaced automatically, please replace it manually.
Replace deprecated properties
The task replaces deprecated properties with actual ones in all properties files along the path <project-name>/src/main/resources/properties
.
./gradlew replaceDeprecatedProperties
gradlew replaceDeprecatedProperties
The examples below demonstrate property file with deprecated properties before and after applying the replaceDeprecatedProperties
task.
replaceDeprecatedProperties
ui.visual.applitools.server-uri=https://eyes.applitools.com/
ui.visual.applitools.app-name=name
web.driver.CHROME.experimental-options={"prefs": {"profile": {"cookie_controls_mode": 0}}}
batch-6.story-execution-timeout=PT15M
replaceDeprecatedProperties
applitools.server-uri=https://eyes.applitools.com/
applitools.app-name=name
web.driver.chrome.experimental-options={"prefs": {"profile": {"cookie_controls_mode": 0}}}
batch-6.story.execution-timeout=PT15M