robotframework-zoomba


Namerobotframework-zoomba JSON
Version 4.0.0 PyPI version JSON
download
home_pagehttps://github.com/Accruent/zoomba
SummaryRobot Framework mini-framework.
upload_time2024-03-26 14:31:25
maintainerAlex Calandra, Michael Hintz, Keith Smoland, Matthew Giardina, Brandon Wolfe, Neil Howell, Tommy Hoang
docs_urlNone
authorNone
requires_pythonNone
licenseGPL-3.0
keywords robot framework robot-framework selenium requests appium soap winappdriver appium robotframeworkdesktop windows zoomba python robotframework-library appium-windows appiumlibrary api-rest api soap-api appium-mobile mobile
VCS
bugtrack_url
requirements No requirements were recorded.
Travis-CI No Travis.
coveralls test coverage
            RobotFramework-Zoomba
===========
[![PyPI version](https://badge.fury.io/py/robotframework-zoomba.svg)](https://badge.fury.io/py/robotframework-zoomba)
[![Downloads](https://static.pepy.tech/badge/robotframework-zoomba)](https://pepy.tech/project/robotframework-zoomba)
[![Build Status](https://github.com/Accruent/robotframework-zoomba/workflows/tests/badge.svg?branch=master)](https://github.com/Accruent/robotframework-zoomba/actions?query=workflow%3Atests)
[![Coverage Status](https://coveralls.io/repos/github/Accruent/robotframework-zoomba/badge.svg?branch=master)](https://coveralls.io/github/Accruent/robotframework-zoomba?branch=master)
[![CodeFactor](https://www.codefactor.io/repository/github/accruent/robotframework-zoomba/badge)](https://www.codefactor.io/repository/github/accruent/robotframework-zoomba)

What is RobotFramework-Zoomba?
--------------

Robotframework-Zoomba is a collection of libraries spanning GUI, REST API, and SOAP API automation using [Robot Framework](https://github.com/robotframework/robotframework).
These libraries are extensions of existing libraries [SeleniumLibrary](https://github.com/robotframework/SeleniumLibrary), [Requests](https://github.com/bulkan/robotframework-requests), 
and [SudsLibrary](https://github.com/aljcalandra/robotframework-sudslibrary).

### Looking for our extension of [AppiumLibrary](https://github.com/serhatbolsu/robotframework-appiumlibrary) (DesktopLibrary and MobileLibrary)? Check out our new repo [RobotFramework-ApplicationLibrary](https://github.com/Accruent/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](https://accruent.github.io/robotframework-zoomba/APILibraryDocumentation.html), [SOAP](https://accruent.github.io/robotframework-zoomba/SOAPLibraryDocumentation.html),
or [GUI](https://accruent.github.io/robotframework-zoomba/GUILibraryDocumentation.html) library for more specific information about the functionality.

Example tests can be found in the [samples directory](https://github.com/Accruent/robotframework-zoomba/tree/master/samples).

Some Features of the Library
--------------
#### [GUI Library](https://accruent.github.io/robotframework-zoomba/GUILibraryDocumentation.html):
When working with web pages of varying load times you probably find yourself running a lot of calls like so:
```robotframework
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:
```robotframework
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:
```robotframework
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](https://accruent.github.io/robotframework-zoomba/APILibraryDocumentation.html):
This library wraps the [requests library](https://github.com/bulkan/robotframework-requests) so we have created a set of keywords to easily allow users to make requests in a single keyword:
```robotframework
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](https://accruent.github.io/robotframework-zoomba/APILibraryDocumentation.html#Validate%20Response%20Contains%20Expected%20Response) 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.
```robotframework
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:
```robotframework
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`](https://github.com/Accruent/robotframework-zoomba/blob/master/setup.py) file in the home directory.
Simply run the following command to install Zoomba and it's dependencies:

```python
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*:
```python
pip install .
```

or if you intend to run unit tests:
```python
pip install .[testing]
```

To access the keywords in the library simply add the following to your robot file settings (depending on what you need):
```python
*** Settings ***
Library    Zoomba.APILibrary
Library    Zoomba.GUILibrary
Library    Zoomba.SOAPLibrary
```

Examples
------------
Example tests can be found in the [samples directory](https://github.com/Accruent/robotframework-zoomba/tree/master/samples).

The [test directory](https://github.com/Accruent/robotframework-zoomba/tree/master/test) 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](https://github.com/Accruent/robotframework-zoomba/tree/master/samples).


Contributing
-----------------

To make contributions please refer to the [CONTRIBUTING](https://github.com/Accruent/robotframework-zoomba/blob/master/CONTRIBUTING.rst) guidelines.

See the [.githooks](https://github.com/Accruent/robotframework-zoomba/tree/master/.githooks) directory for scripts to help in development. 

Support
---------------
General Robot Framework questions should be directed to the [community forum](https://forum.robotframework.org/).

For questions and issues specific to Zoomba please create an [issue](https://github.com/Accruent/robotframework-zoomba/issues) here on Github.

            

Raw data

            {
    "_id": null,
    "home_page": "https://github.com/Accruent/zoomba",
    "name": "robotframework-zoomba",
    "maintainer": "Alex Calandra, Michael Hintz, Keith Smoland, Matthew Giardina, Brandon Wolfe, Neil Howell, Tommy Hoang",
    "docs_url": null,
    "requires_python": null,
    "maintainer_email": "robosquad@accruent.com",
    "keywords": "Robot Framework robot-framework selenium requests appium soap winappdriver appium robotframeworkdesktop windows zoomba python robotframework-library appium-windows appiumlibrary api-rest api soap-api appium-mobile mobile",
    "author": null,
    "author_email": null,
    "download_url": "https://files.pythonhosted.org/packages/a6/27/c7469520bdef0718e3c1bdd1dd3f02da7179987503c60cf20c4591780f55/robotframework-zoomba-4.0.0.tar.gz",
    "platform": "any",
    "description": "RobotFramework-Zoomba\n===========\n[![PyPI version](https://badge.fury.io/py/robotframework-zoomba.svg)](https://badge.fury.io/py/robotframework-zoomba)\n[![Downloads](https://static.pepy.tech/badge/robotframework-zoomba)](https://pepy.tech/project/robotframework-zoomba)\n[![Build Status](https://github.com/Accruent/robotframework-zoomba/workflows/tests/badge.svg?branch=master)](https://github.com/Accruent/robotframework-zoomba/actions?query=workflow%3Atests)\n[![Coverage Status](https://coveralls.io/repos/github/Accruent/robotframework-zoomba/badge.svg?branch=master)](https://coveralls.io/github/Accruent/robotframework-zoomba?branch=master)\n[![CodeFactor](https://www.codefactor.io/repository/github/accruent/robotframework-zoomba/badge)](https://www.codefactor.io/repository/github/accruent/robotframework-zoomba)\n\nWhat is RobotFramework-Zoomba?\n--------------\n\nRobotframework-Zoomba is a collection of libraries spanning GUI, REST API, and SOAP API automation using [Robot Framework](https://github.com/robotframework/robotframework).\nThese libraries are extensions of existing libraries [SeleniumLibrary](https://github.com/robotframework/SeleniumLibrary), [Requests](https://github.com/bulkan/robotframework-requests), \nand [SudsLibrary](https://github.com/aljcalandra/robotframework-sudslibrary).\n\n### Looking for our extension of [AppiumLibrary](https://github.com/serhatbolsu/robotframework-appiumlibrary) (DesktopLibrary and MobileLibrary)? Check out our new repo [RobotFramework-ApplicationLibrary](https://github.com/Accruent/robotframework-applicationlibrary)!\n\nZoomba adds a significant amount of data validation support for REST and SOAP API and extends functionality for typical Web GUI automation.\n\nAs 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.\n\nSee the **Keyword Documentation** for the [API](https://accruent.github.io/robotframework-zoomba/APILibraryDocumentation.html), [SOAP](https://accruent.github.io/robotframework-zoomba/SOAPLibraryDocumentation.html),\nor [GUI](https://accruent.github.io/robotframework-zoomba/GUILibraryDocumentation.html) library for more specific information about the functionality.\n\nExample tests can be found in the [samples directory](https://github.com/Accruent/robotframework-zoomba/tree/master/samples).\n\nSome Features of the Library\n--------------\n#### [GUI Library](https://accruent.github.io/robotframework-zoomba/GUILibraryDocumentation.html):\nWhen working with web pages of varying load times you probably find yourself running a lot of calls like so:\n```robotframework\nWait Until Page Contains Element      locator\nClick Element                         locator\n```\nFor ease of use we have combined a lot of these into simple one line keywords:\n```robotframework\nWait For And Click Element      locator\nWait For And Click Text         text\nWait For And Select From List   list_locator    target_locator\n```\nAnother keyword that is particularly useful is for when you are waiting for javascript to complete on a page before proceeding:\n```robotframework\nWait For And Click Element       locator that leads to a new page with javascript     \nWait Until Javascript Is Complete\nWait For And Click Element       locator\n```\n\n#### [API Library](https://accruent.github.io/robotframework-zoomba/APILibraryDocumentation.html):\nThis library wraps the [requests library](https://github.com/bulkan/robotframework-requests) so we have created a set of keywords to easily allow users to make requests in a single keyword:\n```robotframework\nCall Get Request       ${headers_dictionary}    endpoint    query_string\nCall Post Request      ${headers_dictionary}    endpoint    query_string     ${data_payload}\n```\n\nAfter receiving your data we made it incredibly easy to validate it. [Validate Response Contains Expected Response](https://accruent.github.io/robotframework-zoomba/APILibraryDocumentation.html#Validate%20Response%20Contains%20Expected%20Response) 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.\n```robotframework\nValidate Response Contains Expected Response    ${json_actual_response}      ${json_expected_response}\n```\nIf there is any mismatched data it will look something like this:\n```\nKey(s) Did Not Match:\n------------------\nKey: pear\nExpected: fish\nActual: bird\n------------------\nFull List Breakdown:\nExpected: [{'apple': 'cat', 'banana': 'dog', 'pear': 'fish'}, {'apple': 'cat', 'banana': 'mice', 'pear': 'bird'}, {'apple': 'dog', 'banana': 'mice', 'pear': 'cat'}]\nActual: [{'apple': 'cat', 'banana': 'dog', 'pear': 'bird'}]\n\nPlease see differing value(s)\n```\nIf 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:\n```robotframework\nValidate Response Contains Expected Response    ${json_actual_response}      ${json_expected_response}      ignored_keys=update_date\nValidate Response Contains Expected Response    ${json_actual_response}      ${json_expected_response}      ignored_keys=${list_of_keys}\n```\n\nGetting Started\n----------------\n\nThe Zoomba library is easily installed using the [`setup.py`](https://github.com/Accruent/robotframework-zoomba/blob/master/setup.py) file in the home directory.\nSimply run the following command to install Zoomba and it's dependencies:\n\n```python\npip install robotframework-zoomba\n```\n\nIf you decide to pull the repo locally to make contributions or just want to play around with the code\nyou can install Zoomba by running the following from the *root directory*:\n```python\npip install .\n```\n\nor if you intend to run unit tests:\n```python\npip install .[testing]\n```\n\nTo access the keywords in the library simply add the following to your robot file settings (depending on what you need):\n```python\n*** Settings ***\nLibrary    Zoomba.APILibrary\nLibrary    Zoomba.GUILibrary\nLibrary    Zoomba.SOAPLibrary\n```\n\nExamples\n------------\nExample tests can be found in the [samples directory](https://github.com/Accruent/robotframework-zoomba/tree/master/samples).\n\nThe [test directory](https://github.com/Accruent/robotframework-zoomba/tree/master/test) 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](https://github.com/Accruent/robotframework-zoomba/tree/master/samples).\n\n\nContributing\n-----------------\n\nTo make contributions please refer to the [CONTRIBUTING](https://github.com/Accruent/robotframework-zoomba/blob/master/CONTRIBUTING.rst) guidelines.\n\nSee the [.githooks](https://github.com/Accruent/robotframework-zoomba/tree/master/.githooks) directory for scripts to help in development. \n\nSupport\n---------------\nGeneral Robot Framework questions should be directed to the [community forum](https://forum.robotframework.org/).\n\nFor questions and issues specific to Zoomba please create an [issue](https://github.com/Accruent/robotframework-zoomba/issues) here on Github.\n",
    "bugtrack_url": null,
    "license": "GPL-3.0",
    "summary": "Robot Framework mini-framework.",
    "version": "4.0.0",
    "project_urls": {
        "Homepage": "https://github.com/Accruent/zoomba"
    },
    "split_keywords": [
        "robot",
        "framework",
        "robot-framework",
        "selenium",
        "requests",
        "appium",
        "soap",
        "winappdriver",
        "appium",
        "robotframeworkdesktop",
        "windows",
        "zoomba",
        "python",
        "robotframework-library",
        "appium-windows",
        "appiumlibrary",
        "api-rest",
        "api",
        "soap-api",
        "appium-mobile",
        "mobile"
    ],
    "urls": [
        {
            "comment_text": "",
            "digests": {
                "blake2b_256": "991be782f7d429928ff90ef65e01df0860f1e9aedf7b264daa913114cdfcf854",
                "md5": "adb6ebd9259446555a947438f2b9cf4c",
                "sha256": "a41c2e9d1519876c79dfbf0f817170f935543563932e6a6ab156d88be9372f0d"
            },
            "downloads": -1,
            "filename": "robotframework_zoomba-4.0.0-py3-none-any.whl",
            "has_sig": false,
            "md5_digest": "adb6ebd9259446555a947438f2b9cf4c",
            "packagetype": "bdist_wheel",
            "python_version": "py3",
            "requires_python": null,
            "size": 24111,
            "upload_time": "2024-03-26T14:31:23",
            "upload_time_iso_8601": "2024-03-26T14:31:23.559825Z",
            "url": "https://files.pythonhosted.org/packages/99/1b/e782f7d429928ff90ef65e01df0860f1e9aedf7b264daa913114cdfcf854/robotframework_zoomba-4.0.0-py3-none-any.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": "",
            "digests": {
                "blake2b_256": "a627c7469520bdef0718e3c1bdd1dd3f02da7179987503c60cf20c4591780f55",
                "md5": "dc336f4df26009020eb5bafb9c68e63e",
                "sha256": "4f37867b0e70e5412efbb9954b5cbab0a47513794b948eb81347f00a984d0e24"
            },
            "downloads": -1,
            "filename": "robotframework-zoomba-4.0.0.tar.gz",
            "has_sig": false,
            "md5_digest": "dc336f4df26009020eb5bafb9c68e63e",
            "packagetype": "sdist",
            "python_version": "source",
            "requires_python": null,
            "size": 25390,
            "upload_time": "2024-03-26T14:31:25",
            "upload_time_iso_8601": "2024-03-26T14:31:25.521709Z",
            "url": "https://files.pythonhosted.org/packages/a6/27/c7469520bdef0718e3c1bdd1dd3f02da7179987503c60cf20c4591780f55/robotframework-zoomba-4.0.0.tar.gz",
            "yanked": false,
            "yanked_reason": null
        }
    ],
    "upload_time": "2024-03-26 14:31:25",
    "github": true,
    "gitlab": false,
    "bitbucket": false,
    "codeberg": false,
    "github_user": "Accruent",
    "github_project": "zoomba",
    "travis_ci": false,
    "coveralls": true,
    "github_actions": true,
    "requirements": [],
    "lcname": "robotframework-zoomba"
}
        
Elapsed time: 0.22625s