Skip to main content

Wrapper around selenium driver to ease testing of Aurelia based applications.

Project description

Wrapper around selenium drivers to ease testing of Aurelia based applications.

Inspired by the aurelia plugin for protractor.

API

The AureliaDriver class takes one positionnal parameter: a selenium webdriver. The full list of drivers is available here.

Options of AureliaDriver

The AureliaDriver class takes the following keyword arguments:

  • script_timeout (default:: 10): the timeout for execute_async_script. This is used internally to wait for the application to be loaded or to complete navigation.

  • default_wait_time (default: 2): the time to wait by default in seconds. This is used by AureliaDriver.wait if no time is supplied and to wait for the in AureliaDriver.load_url to wait for Aurelia to complete the initialization of the page.

  • wait_on_navigation wait for default_wait_time after each navigation before continuing the script.

  • started_condition (default: None): it is possible that your app will be loaded before the AureliaDriver has the time to register the proper callback in the browser. In this case, load_url will fail because of a time out. To prevent this, you can specify a custom condition you know is fulfilled when Aurelia is started on your application. For instance, if your application has a spinner with the splash class, you can use: document.querySelector("[aurelia-app]").children[0].getAttribute('class') === 'splash'.

load_url

Load the given url and wait for Aurelia to be full initiazed.

  • parameters:

    • url: the url to open.

wait

Sleep for the specified amount of time. If no argument is provided or if seconds is lower or equal than 0, AureliaDriver.default_wait_time will be used.

  • keyword arguments:

    • seconds (default: 0): number of seconds for which to sleep.

navigate

Context manager in which you can to your navigation operation to ensure the app navigated to the new URL and was updated before continuing your tests. Use like this:

with driver.navigate():
    link.click()

assert no_new_page
  • keyword arguments:

    • wait (default: 0): time to wait after navigation before continuing. There are several cases to consider:

      1. If wait is greater than 0, the driver will wait for the specified time.

      2. If self.wait_on_navigation is True and wait is lower or equal than 0, the driver will wait for self.default_wait_time.

      3. If self.wait_on_navigation is False and wait is lower or equal than 0, the driver will not wait.

find_element_by_binding

Return the first element matching the specified binding.

  • parameters:

    • attr: the name of the attribute used in the binding. For instance, in src.bind="heroSrc" it is src.

    • value: the value for which to look for. For instance, in src.bind="heroSrc", it is heroSrc.

  • keyword arguments:

    • bind_type (default: ‘bind’): the type of binding to use. Possible values are: bind, one-way, two-way.

find_elements_by_binding

Return the list of all the elements matching the specified binding. See find_element_by_binding for details.

Full Example

You can have a look at the example script in selenium_aurelia/test/example.py.

Issues

You can report issues on the issues tracker.

Changelog

v0.1.1

  • Add option to wait after navigation (wait_on_navigation in constructor and wait in the navigate method).

v0.1.0

Initial release.

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

selenium-aurelia-0.1.1.tar.gz (6.6 kB view details)

Uploaded Source

File details

Details for the file selenium-aurelia-0.1.1.tar.gz.

File metadata

File hashes

Hashes for selenium-aurelia-0.1.1.tar.gz
Algorithm Hash digest
SHA256 673d7b6da34f823c392d48f2c3365724b13af9ceeb66fb6a94326e298be0cb09
MD5 123d3dfe121babb2484671b64a336683
BLAKE2b-256 4595795f2dcc3259a1941a8c7cd2f3b2d789bbc8b1e9e2b25e03e3488f118fc7

See more details on using hashes here.

Supported by

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