Skip to main content

PyTestUI commands for Loadero scripts

Project description

loadero-py-testui-commands PyPI - Version

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


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

loadero-py-testui-commands-1.1.0.tar.gz (5.7 kB view details)

Uploaded Source

Built Distribution

File details

Details for the file loadero-py-testui-commands-1.1.0.tar.gz.

File metadata

File hashes

Hashes for loadero-py-testui-commands-1.1.0.tar.gz
Algorithm Hash digest
SHA256 e190995d379877730830409ea35a489ed2114209d17c8e5a026b1659d0ea93f7
MD5 f8ce1abfa0606387abbf013659d4c990
BLAKE2b-256 7cc2a3f0f799d757e198340f1ef9702385f5fb9936bc364c79b932079720c9a0

See more details on using hashes here.

File details

Details for the file loadero_py_testui_commands-1.1.0-py3-none-any.whl.

File metadata

File hashes

Hashes for loadero_py_testui_commands-1.1.0-py3-none-any.whl
Algorithm Hash digest
SHA256 a12ff79e73b7081ca5a0dd12e439a33291ca2af64cfab8f65c896f2267953afc
MD5 e86dc01573f17accd47a56e5c9340e82
BLAKE2b-256 fa976044abca66623a419f96223a1ebc9cc91ce6689c3097917a2a7e67a0ea3c

See more details on using hashes here.

Supported by

AWS AWS Cloud computing and Security Sponsor Datadog Datadog Monitoring Fastly Fastly CDN Google Google Download Analytics Microsoft Microsoft PSF Sponsor Pingdom Pingdom Monitoring Sentry Sentry Error logging StatusPage StatusPage Status page