simulated & automated end-to-end website testing software
Project description
anna
End-to-end website testing software using selenium
Usage
I've made docker containers for firefox & chrome, as well as a RESTful API.
Run anna
| arg | description | required |
|---|---|---|
| -d | specify the driver | yes |
| -s | specify the site | yes |
| -h | display help | no |
| -v | verbose mode | no |
| -H | run in headless mode | no |
| -r | specify the resolution of the drivers (defaults to 1920x1080) | no |
| -i | set the id (used by anna-api) | no |
Test definitions
Test cases are defined in the tests/anna/ directory. Each website should have
a json file as well as a subdirectory under tests/anna/ containing test definitions.
If a test is referenced, but not defined for a particular website,
anna will use the base directory as a fallback.
Consider the following file structure:
anna/
tasks/
anna/
example.json
base/
do_thing.json
example/
go_to_page.json
Example website configuration (tests/anna/example.json):
{
"url": "https://example.com",
"sequence": {
"0": "do_thing",
"1": "go_to_page"
}
}
Example test definition (tests/anna/example/go_to_page.json):
{
"events": [
{
"type": "click",
"target": ".target-class"
},
...
],
"assertions": [
{
"type": "current_url",
"is": "https://example.com/page/"
},
...
]
}
Currently implemented event types
- click
{"type": "click", "target": "#unique_element} - sendkeys
{"type": "sendkeys", "target": "#unique_element} - submit
{"type": "submit", "target": "#unique_element} - hover
{"type": "hover", "target": "#unique_element} - wait
{"type": "wait", "target": "#unique_element}Waits for a target element to become visible - switch_to
{"type": "switch_to", "target": "#unique_element}Changes the focus to an iframe
Currently implemented assertion types
- current_url
{"in": "somepage"}or{"is": "https://example.com/somepage"} - element_exists
{"target": ".some-class"}
TODO
- credentials-pool using -i from anna-api
- database assertions
- subroutine processing
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
File details
Details for the file anna_node-1.1.0.tar.gz.
File metadata
- Download URL: anna_node-1.1.0.tar.gz
- Upload date:
- Size: 3.5 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/1.13.0 pkginfo/1.5.0.1 requests/2.21.0 setuptools/39.1.0 requests-toolbelt/0.9.1 tqdm/4.31.1 CPython/3.7.2
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
ad4fedda279b7d6087f6d365d81ac3e3e978a1b17745c44a7d69cbe75c6c011a
|
|
| MD5 |
f4c833abff30b37e76a2d333c83dcda8
|
|
| BLAKE2b-256 |
1154e2ceef9e84fd5848c597e6546015e83f36f182b2c46363cfc68da104d5fd
|