All Projects → Accruent → robotframework-zoomba

Accruent / robotframework-zoomba

Licence: GPL-3.0 license
Extended Robot Framework libraries to make testing GUI, REST/SOAP API, Mobile, and Windows Desktop easier.

Programming Languages

python
139335 projects - #7 most used programming language
RobotFramework
109 projects
shell
77523 projects

Projects that are alternatives of or similar to robotframework-zoomba

robotframework-seleniumtestability
Extension for SeleniumLibrary that provides manual and automatic waiting for asyncronous events like fetch, xhr, etc.
Stars: ✭ 34 (-71.9%)
Mutual labels:  robot-framework, robotframework
page-modeller
⚙️ Browser DevTools extension for modelling web pages for automation.
Stars: ✭ 66 (-45.45%)
Mutual labels:  robot-framework, robotframework
robotframework-anywherelibrary
AnywhereLibrary is a cross platform(desktop browser,Android,iOS) testing library for Robot Framework that leverages the [Selenium 2(WebDriver)] libraries internally to control a web browser and [appium] as mobile test automation framework for use with native and hybrid app.
Stars: ✭ 62 (-48.76%)
Mutual labels:  robot-framework, appium
Autolink
AutoLink是一个开源Web IDE自动化测试集成解决方案
Stars: ✭ 129 (+6.61%)
Mutual labels:  appium, robotframework
SHAFT ENGINE
SHAFT is an MIT licensed test automation engine. Powered by best-in-class frameworks like Selenium WebDriver, Appium & RestAssured it provides a wizard-like syntax to increase productivity, and built-in wrappers to eliminate boilerplate code and to ensure your tests are extra stable and your results are extra reliable.
Stars: ✭ 170 (+40.5%)
Mutual labels:  appium, appium-framework
Automationtest
自动化测试,支持接口自动化、WEB UI自动化、APP UI自动化、性能测试
Stars: ✭ 171 (+41.32%)
Mutual labels:  appium, automated-testing
robot-framework-docker
Docker image to run robot framework acceptance testing in a docker container
Stars: ✭ 24 (-80.17%)
Mutual labels:  robot-framework, robotframework
appium-dashboard-plugin
Appium plugin that provides complete test logs, video recording of test and device logs(logcat and syslogs) for easy debugging.
Stars: ✭ 82 (-32.23%)
Mutual labels:  appium, appium-framework
jdi-dark
Powerful Framework for Backend Automation Testing on Java (Rest, Soap, WebSocket)
Stars: ✭ 36 (-70.25%)
Mutual labels:  soap, automated-testing
Spyne
A transport agnostic sync/async RPC library that focuses on exposing services with a well-defined API using popular protocols.
Stars: ✭ 992 (+719.83%)
Mutual labels:  soap, api-rest
Appium Template
Appium template for android testing training
Stars: ✭ 5 (-95.87%)
Mutual labels:  appium, automated-testing
AppiumGrid
A framework for running appium tests in parallel across devices and also on desktop browser... U like it STAR it !!
Stars: ✭ 17 (-85.95%)
Mutual labels:  appium, appium-framework
Robotframework Appiumlibrary
AppiumLibrary is an appium testing library for RobotFramework
Stars: ✭ 259 (+114.05%)
Mutual labels:  appium, robotframework
Autoline
建议你使用更新的AutoLink平台
Stars: ✭ 227 (+87.6%)
Mutual labels:  appium, robotframework
Appium
This is Chirag... and this Repo for Appium code...... You can see Appium tutorial video at given you tube channel
Stars: ✭ 23 (-80.99%)
Mutual labels:  appium, appium-framework
robotframework-imagehorizonlibrary
Cross-platform Robot Framework library for GUI automation based on image recognition
Stars: ✭ 67 (-44.63%)
Mutual labels:  robot-framework, robotframework
python-appium-framework
Complete Python Appium framework in 360 degree
Stars: ✭ 43 (-64.46%)
Mutual labels:  appium, appium-framework
robotframework-httprequestlibrary
Robot Framework's library to test REST interfaces utilizing Apache HttpClient
Stars: ✭ 20 (-83.47%)
Mutual labels:  robot-framework, robotframework
robot-email-template
Email template for Robot Framework test results
Stars: ✭ 19 (-84.3%)
Mutual labels:  robot-framework, robotframework
java-e2e-test-example
An complete example of a pipeline focusing on API and UI (mobile and web) tests.
Stars: ✭ 18 (-85.12%)
Mutual labels:  appium, automated-testing

RobotFramework-Zoomba

PyPI version Downloads Build Status Coverage Status CodeFactor Total alerts

What is RobotFramework-Zoomba?

Robotframework-Zoomba is a collection of libraries spanning GUI, REST API, and SOAP API automation using Robot Framework. These libraries are extensions of existing libraries SeleniumLibrary, Requests, and SudsLibrary.

Looking for our extension of AppiumLibrary (DesktopLibrary and MobileLibrary)? Check out our new repo RobotFramework-ApplicationLibrary!

Zoomba adds a significant amount of data validation support for REST and SOAP API and extends functionality for typical Web GUI automation.

As a team beginning the journey of automation with Robot Framework - we found that there was some time spent ramping up our libraries and Robotframework-Zoomba aims to make that process easier for new projects.

See the Keyword Documentation for the API, SOAP, or GUI library for more specific information about the functionality.

Example tests can be found in the samples directory.

Some Features of the Library

GUI Library:

When working with web pages of varying load times you probably find yourself running a lot of calls like so:

Wait Until Page Contains Element      locator
Click Element                         locator

For ease of use we have combined a lot of these into simple one line keywords:

Wait For And Click Element      locator
Wait For And Click Text         text
Wait For And Select From List   list_locator    target_locator

Another keyword that is particularly useful is for when you are waiting for javascript to complete on a page before proceeding:

Wait For And Click Element       locator that leads to a new page with javascript     
Wait Until Javascript Is Complete
Wait For And Click Element       locator

API Library:

This library wraps the requests library so we have created a set of keywords to easily allow users to make requests in a single keyword:

Call Get Request       ${headers_dictionary}    endpoint    query_string
Call Post Request      ${headers_dictionary}    endpoint    query_string     ${data_payload}

After receiving your data we made it incredibly easy to validate it. Validate Response Contains Expected Response takes your received request and compares it to your expected data. If there are any errors found it will report line by line what they are.

Validate Response Contains Expected Response    ${json_actual_response}      ${json_expected_response}

If there is any mismatched data it will look something like this:

Key(s) Did Not Match:
------------------
Key: pear
Expected: fish
Actual: bird
------------------
Full List Breakdown:
Expected: [{'apple': 'cat', 'banana': 'dog', 'pear': 'fish'}, {'apple': 'cat', 'banana': 'mice', 'pear': 'bird'}, {'apple': 'dog', 'banana': 'mice', 'pear': 'cat'}]
Actual: [{'apple': 'cat', 'banana': 'dog', 'pear': 'bird'}]

Please see differing value(s)

If you wanted to ignore a key such as the 'update_date' you would simply set the 'ignored_keys' variable to that key or a list of keys:

Validate Response Contains Expected Response    ${json_actual_response}      ${json_expected_response}      ignored_keys=update_date
Validate Response Contains Expected Response    ${json_actual_response}      ${json_expected_response}      ignored_keys=${list_of_keys}

Getting Started

The Zoomba library is easily installed using the setup.py file in the home directory. Simply run the following command to install Zoomba and it's dependencies:

pip install robotframework-zoomba

If you decide to pull the repo locally to make contributions or just want to play around with the code you can install Zoomba by running the following from the root directory:

pip install .

or if you intend to run unit tests:

pip install .[testing]

To access the keywords in the library simply add the following to your robot file settings (depending on what you need):

*** Settings ***
Library    Zoomba.APILibrary
Library    Zoomba.GUILibrary
Library    Zoomba.SOAPLibrary

Examples

Example tests can be found in the samples directory.

The test directory may also contain tests but be aware that these are used for testing releases and may not be as straight forward to use as the ones in the samples directory.

Contributing

To make contributions please refer to the CONTRIBUTING guidelines.

See the .githooks directory for scripts to help in development.

Support

General Robot Framework questions should be directed to the community forum.

For questions and issues specific to Zoomba please create an issue here on Github.

Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].