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
anna_node-1.1.7.tar.gz
(5.1 kB
view hashes)
Built Distribution
Close
Hashes for anna_node-1.1.7-py3-none-any.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | e566ad81fe86361a2825e3d84e2f2b86ce5a76349bcc63f0a43d7361c7ce260e |
|
MD5 | b18f4cb42a13a9a8e6c9416a2047b5bc |
|
BLAKE2b-256 | 9dd0762eaedf2ac823deb2ed6cedcfd4fa39c30cf6f788d919e6f50b300a703a |