PyTestUI commands for Loadero scripts
Project description
loadero-py-testui-commands
Installation
Installation is as simple as adding this line to your requirements.txt (or equivalent) file.
loadero-py-testui-commands
After which you will be able to install all of the dependencies using pip.
pip install -r requirements.txt
The latest tag always will be the most up-to-date version when compared to the commands used in the Loadero environment.
Usage
These Py-TestUI custom commands were made to simplify local script development for usage in the Loadero environment. By using these commands, you can write your Loadero script locally and then upload it to Loadero. This also allows for more rapid development because the script can be debugged and run locally.
To use the commands in your tests, you need to download this dependency to your project (as shown in above) and then only import the functions in your script file. Keep in mind, that when migrating the script to Loadero, you do not need to import the functions there as-well, that will be done automatically.
This is how you can import the functions in your script file:
from commands.receive_email import gen_email, receive_email
from commands.ignore_alert import ignore_alert
from commands.set_file import set_file
from commands.set_request_header import set_request_header
from commands.set_user_agent import set_user_agent
from commands.time_execution import time_execution
from commands.update_network import update_network
from commands.wait_for_download_finished import wait_for_download_finished
After which they can be used in your script file as any other function. Script example:
def test_on_loadero(driver: TestUIDriver):
really_long_pause = 300
driver.navigate_to("https://duckduckgo.com/")
def locate_search_bar():
e(
driver, "css", "#searchbox_input"
).wait_until_visible().send_keys("QA Processes")
e(driver, "css", "[aria-label='Search']").wait_until_visible().click()
e(driver, "css", "#r1-0 > div > h2").wait_until_visible()
time.sleep(really_long_pause)
# Example of timing execution without specifying a timeout.
time_execution("locate_search_bar", locate_search_bar)
Not all commands behave the same way as they do in the Loadero environment.
Some of them are modified to work in a local environment, such as
update_network
and set_request_header
.
Commands
The following table shows all available commands and whether there are any changes to how they function in a local environment.
Full descriptions for how each function behaves in Loadero and their usage can be found in Loadero wiki page. To see the differences between local and Loadero environment, you can compare the descriptions in the wiki to the differences mentioned in this README.
Command | Differences |
---|---|
gen_email |
Full email or only first part can be provided, if only the first part is provided then @mailinator.com is appended |
ignore_alert |
No differences |
receive_email |
By default an empty array will be returned, but emails.json file can be saved in the working directory which will contain all of the emails |
set_file |
Any local file can be used, Loadero constant can be used if the same file name is used |
set_request_header |
No request header will be set |
set_user_agent |
User agent won't be changed |
time_execution |
Execution time will be logged, but not saved |
update_network |
Network settings will not be updated |
wait_for_download_finished |
Function will finish instantly and not wait for download to be finished |
The emails.json
file should be located in the directory from which you will be
running the tests and should have the following structure:
{
"emails": [
{
"from": "email_from",
"to": "email_to",
"headers": {
"header1": "header_value"
},
"subject": "email_subject",
"text/html": "html body",
"text/plain": "plain text body"
}
]
}
To simulate a more realistic environment, you can modify the emails.json
file
mid-run to add additional emails to the array. The file will be read every time
the receive_email
command is called.
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
Built Distribution
File details
Details for the file loadero-py-testui-commands-1.1.0.tar.gz
.
File metadata
- Download URL: loadero-py-testui-commands-1.1.0.tar.gz
- Upload date:
- Size: 5.7 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/4.0.2 CPython/3.11.7
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | e190995d379877730830409ea35a489ed2114209d17c8e5a026b1659d0ea93f7 |
|
MD5 | f8ce1abfa0606387abbf013659d4c990 |
|
BLAKE2b-256 | 7cc2a3f0f799d757e198340f1ef9702385f5fb9936bc364c79b932079720c9a0 |
File details
Details for the file loadero_py_testui_commands-1.1.0-py3-none-any.whl
.
File metadata
- Download URL: loadero_py_testui_commands-1.1.0-py3-none-any.whl
- Upload date:
- Size: 7.2 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/4.0.2 CPython/3.11.7
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | a12ff79e73b7081ca5a0dd12e439a33291ca2af64cfab8f65c896f2267953afc |
|
MD5 | e86dc01573f17accd47a56e5c9340e82 |
|
BLAKE2b-256 | fa976044abca66623a419f96223a1ebc9cc91ce6689c3097917a2a7e67a0ea3c |