Wrapper around selenium driver to ease testing of Aurelia based applications.
Wrapper around selenium drivers to ease testing of Aurelia based applications.
Inspired by the aurelia plugin for protractor.
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.getAttribute('class') === 'splash'.
Load the given url and wait for Aurelia to be full initiazed.
- url: the url to open.
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.
Return the first element matching the specified binding.
- 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.
Return the list of all the elements matching the specified binding. See find_element_by_binding for details.
You can have a look at the example script in selenium_aurelia/test/example.py.
You can report issues on the issues tracker.
- Add option to wait after navigation (wait_on_navigation in constructor and wait in the navigate method).