jkvim / robotframework-angularjs

An AngularJS extention to Robotframework's Selenium2Library

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

AngularJSLibrary - robotframework-angularjs

An AngularJS extension to Robotframework's Selenium2Library

What is included

AngularJSLibrary provides keywords for finding elements by binding, model, and repeater. The library also provides a keyword for waiting on angular.

Installation

To install AngularJSLibrary, run:

pip install robotframework-angularjs

Alternatively, to install from source:

python setup.py install

Keyword Usage

In order to use the keywords you have to include AngularJSLibrary in the settings section of your test. Note will will need to include the Selenium2Library before you import the AngularJSLibrary.

*** Settings ***
Library         Selenium2Library
Library         AngularJSLibrary
...

*** Test Cases ***
Go To  localhost:8080
Wait for Angular
...

The new locator strategies include

binding=
model=
repeater=

For example, you can look for an Angular ng-binding using

Get Text  binding={{greeting}}

or by using partial match

Get Text  binding=greet

or by simply using the binding {{…}} notation

Get Text  {{greeting}}

One can also find elements by model

Input Text  model=aboutbox  Something else to write about

Finally there is the strategy of find by repeat. This takes the general form of repeater=some ngRepeat directive@row[n]@column={{ngBinding}}. Here we specify the directive as well as the row, an zero-based index, and the column, an ngBinding. Using this full format will return, if exists the element matching the directive, row and column binding. One does not need to specify the row and column but can specify either both, one or the other or neither. In such cases the locator may return list of elements or even a list of list of elements. Also the ordering of row and column does not matter; using repeater=baz in days@row[0]@column=b is the same as repeater=baz in days@column=b @row[0].

Getting Help

If you need help with AngularJSLibrary, Selenium2Library, or Robot Framework usage, please post to the user group for Robot Framework.

Testing

For information on how we test the AngularJSLibrary see the `Testing.rst`_ file.

References

Selenium2Library: Web testing library for Robot Framework

Protractor: E2E test framework for Angular apps

About

An AngularJS extention to Robotframework's Selenium2Library

License:Apache License 2.0


Languages

Language:Python 45.4%Language:JavaScript 30.8%Language:RobotFramework 21.2%Language:HTML 2.6%