GitHub Action
UI-licious Test Runner
This action executes your UI-licious tests and reports the outcome. Use this as part of your GitHub Workflow CI/CD pipeline.
Required Your UI-licious account API key. See instructions here.
Required Your UI-licious project name. You should see this at the top-left corner when viewing the UI-licious editor.
Required One or more (comma-separated) tests to run. For advanced usage, see pattern
input and example usage.
Optional If provided, your tests will run in this browser. See the list of supported browsers. Defaults to your project's settings.
Optional If provided, your tests will run with the given dataset selected.
Optional If provided, will pass a JSON object with parameters to your tests.
Optional If 'false', the action will not be marked as failed even if tests fail. Defaults to 'true'.
Optional If 'true', the tests
input will be treated as a multi-match glob pattern. See example usage. Defaults to 'false'.
Optional If 'true', info logs will be printed including test run messages from UI-licious. Defaults to 'false'.
If all tests passed: 'true'. Else: 'false'.
The number of tests that were ran.
The number of tests that reported a failed run.
A JSON string array containing outcomes for each test:
[{ "testName": "string", "didPass": "true|false", "testRunUrl": "https://..." }]'
Ensure that your access-key
is stored in GitHub secrets.
uses: omairvaiyani/ghact-uilicious@v1
with:
access-key: ${{ secrets.UILICIOUS_ACCESS_KEY }}
project: my-project
tests: login
uses: omairvaiyani/ghact-uilicious@v1
with:
access-key: ${{ secrets.UILICIOUS_ACCESS_KEY }}
project: my-project
tests: login, logout
uses: omairvaiyani/ghact-uilicious@v1
with:
access-key: ${{ secrets.UILICIOUS_ACCESS_KEY }}
project: my-project
tests: "account/password-reset"
uses: omairvaiyani/ghact-uilicious@v1
with:
access-key: ${{ secrets.UILICIOUS_ACCESS_KEY }}
project: my-project
tests: login
browser: safari
dataset: qa-sample-data
If you set the input pattern
to "true", you can use glob-patterns to match tests rather than individually list one. This is particularly helpful if your test-suite is constantly changing. I recommend that you use strong naming conventions to aid the pattern matching usage here.
Note - you must use single quotes when using glob-patterns.
uses: omairvaiyani/ghact-uilicious@v1
with:
access-key: ${{ secrets.UILICIOUS_ACCESS_KEY }}
project: my-project
tests: '**'
pattern: true
uses: omairvaiyani/ghact-uilicious@v1
with:
access-key: ${{ secrets.UILICIOUS_ACCESS_KEY }}
project: my-project
tests: 'authentication/**, billing/**'
pattern: true
uses: omairvaiyani/ghact-uilicious@v1
with:
access-key: ${{ secrets.UILICIOUS_ACCESS_KEY }}
project: my-project
tests: '**, !helpers/**'
pattern: true
Currently there is an issue with tests that contain spaces. This appears to be due to how UI-licious's CLI reads bash arguments - it cuts off the test name on space characters. Please wait for a future release where this is resolved or avoid spaces if you can.