Skip to content

kieras/parakeet

Repository files navigation

Parakeet

Parakeet

UI tests automation utilities library.

The aim is to easy the development of tests for applications that follow a known set of technologies:

  • Angular JS
  • Angular JS Material
  • Google OAuth2
  • Chrome Browser

This library depends, and sometime implements useful abstractions, on the following libraries:

We designed it overcome some challenges of developing BDD tests considering the technologies below:

Parakeet stack

Installation

You can install Parakeet using the package manager PIP.

pip install parakeet -U

Configuration

Parakeet reads a config.yaml file that can be used to parameterize it's behaviours.

It need to be saved on the home directory of the operation system running the tests.

Parameter Description Values Default
browser This parameter define which browser will be used to run the tests. Today we only support the Chrome Browser chrome chrome
headless Define if the tests will open the browser or perform the tests with graphical mode off. It is very useful in developer mode, when the developer need to debug or understand some issues. Case True, doesn't open the browser. True
False
False
default_implicitly_wait_seconds Setup time in seconds that the tests will wait until some component are ready to be used. Integer Number 30
default_poll_frequency_seconds Interval time during the default_implicitly_wait_seconds, that the application will wait until check if the component are ready to be used. Integer Number 2
log_level You can define the level of the application logs. INFO
WARN
DEBUG
TRACE
ERROR
INFO
log_name You can setup the name of the logs that you want to see. For example if you want to see everyone you don't need to setup this field. But you can setup this parameter to just see the Parakeet logs or just the loggers that you application are logging. Ex.: google.tests.e2e Empty
retry Some resources on the application use the retry feature. This item give to the user the ability to setup how many times the test will try to click on some button for example. Integer Number 1
login_provider The parakeet provide to you an abrastraction mechanism in order to login in the Google account (if your application have something like it). Thinking of it, we created a parameter where the user can setup the version of this mechanism. google_oauth google_oauth
google_oauth_gapi2
window_size:
    width: 9999
    height: 9999
Setup the size of the screen where the tests will be performed. Integer Number Empty
users:
    file: 'users.yaml'
The parakeet provide a way to setup which users you will use on your tests. So this file can be setup here File Path Empty
home_url The home url used to access the application that will be tested. http://localhost Empty
system_page_title The system page title, this is used in order to check if the user are logged on the application. That's the way we check if the test already passed the login phase. Text defined on the tag title on the application Empty

Configuration example

(TODO - create/maintain example files and reference it here)

Users configuration

Parakeet reads a users.yaml file that can be used to store users credentials that will be used in the tests..

It need to be saved on the home directory of the operation system running the tests.

Users configuration example

(TODO - create/maintain example files and reference it here)

Lettuce terrain

In order to bootstrap and start using this library in your Lettuce tests, you should initialize it in the "terrain" file.

Lettuce terrain example

(TODO - create/maintain example files and reference it here)

Why Parakeet?

Github suggested it.

Logo attribution

We found our "logo" image here: Free Vector Graphics by www.vecteezy.com