selenew


Nameselenew JSON
Version 0.0.1 PyPI version JSON
download
home_page
SummarySeleNew is a framework over Selenium to simplify UI Test Automation
upload_time2023-05-27 12:40:31
maintainer
docs_urlNone
authorToghrul Mirzayev
requires_python>=3.7
license
keywords testing selenium selenew browser ui qa
VCS
bugtrack_url
requirements No requirements were recorded.
Travis-CI No Travis.
coveralls test coverage No coveralls.
            # SeleNew
SeleNew is a framework over Selenium to simplify UI Test Automation. \
SeleNew is a beautified and simplified approach to make your work easy and much faster. 
Why SeleNew? There is a list of advantages that will help you to implement UI Test Automation in a very simplified way. 

* You don't need to worry about killing the browser. SeleNew will do it for you. This will happen automatically as soon as work with the browser is completed and browser no longer needed. 
* You don't need to worry about the locator search strategy. Whether it's CSS_SELECTOR, XPATH, ID or something else, it doesn't matter, rest assured SeleNew will find the element if there is one on the page.
* We have the possibility of a `go_around` in SeleNew. What does it mean? So, it is not a secret and known fact that some elements may be flaky and will not be found for some reason, while they are on the page. SeleNew will go around as long as needed to find it. This option can be easily customized by you. You just need to change the value of the `go_around` parameter
* You don't need to worry about waits and struggle with explicit and implicit waits. SeleNew will do it on your behalf. It will wait for the element if the element exists on the page. This option can be easily customized by you. You just need to change the value of the `timeout` parameter.
* SeleNew provides clear and beautiful logging and exceptions. It will make your debugging much more easy

# Pre-requisites

Python >= 3.8

# Getting started

## Installation

First install SeleNew by below command
```
pip install selenew==<version>
```

To start work using SeleNew please import required components. Example below:
```
from selenew.base.base_object import Selenew
```

## Let's do it as simple as possible

Use below simplified approach from SeleNew
```
selenew.send_keys(".search", "search object")
```

Instead of below complicated approach from Selenium
```
WebDriverWait(self.driver, 2).until(
            ec.visibility_of_element_located((By.CSS_SELECTOR, ".search"))
        ).send_keys("search object")
```

## SeleNew Built-in functionalities
All `go_around`, `timeout` and `element_state` parameters can be customized as shown below

### `go_around` functionality
Define as many attempts as you like or use the default one. Default value: 3
```
selenew = SeleNew(browser, go_around=5)
```

### `timeout` functionality
Define as many times as you like, or use the default one. Default value: 3
```
selenew.click(".login-button", timeout=5)
```

### `element_state` functionality
Use one of supported states. Default value: "single_visible" \
All supported states:
* "single_visible"
* "clickable"
* "multiple_visible"
* "invisible"
```
selenew.click(".login-button", element_state="clickable")
```

# Contributing
Pull requests are welcome. For major changes, please open an issue first to discuss what you would like to change.

# License
This project is licensed under the MIT License.

# Author
© 2023 [Toghrul Mirzayev](https://github.com/ToghrulMirzayev)

            

Raw data

            {
    "_id": null,
    "home_page": "",
    "name": "selenew",
    "maintainer": "",
    "docs_url": null,
    "requires_python": ">=3.7",
    "maintainer_email": "",
    "keywords": "testing,selenium,selenew,browser,ui,qa",
    "author": "Toghrul Mirzayev",
    "author_email": "togrul.mirzoev@gmail.com",
    "download_url": "https://files.pythonhosted.org/packages/7f/50/f0502fb21d49b85828f807dddd4344f657c238048eea330e9ad07cb3a35b/selenew-0.0.1.tar.gz",
    "platform": null,
    "description": "# SeleNew\nSeleNew is a framework over Selenium to simplify UI Test Automation. \\\nSeleNew is a beautified and simplified approach to make your work easy and much faster. \nWhy SeleNew? There is a list of advantages that will help you to implement UI Test Automation in a very simplified way. \n\n* You don't need to worry about killing the browser. SeleNew will do it for you. This will happen automatically as soon as work with the browser is completed and browser no longer needed. \n* You don't need to worry about the locator search strategy. Whether it's CSS_SELECTOR, XPATH, ID or something else, it doesn't matter, rest assured SeleNew will find the element if there is one on the page.\n* We have the possibility of a `go_around` in SeleNew. What does it mean? So, it is not a secret and known fact that some elements may be flaky and will not be found for some reason, while they are on the page. SeleNew will go around as long as needed to find it. This option can be easily customized by you. You just need to change the value of the `go_around` parameter\n* You don't need to worry about waits and struggle with explicit and implicit waits. SeleNew will do it on your behalf. It will wait for the element if the element exists on the page. This option can be easily customized by you. You just need to change the value of the `timeout` parameter.\n* SeleNew provides clear and beautiful logging and exceptions. It will make your debugging much more easy\n\n# Pre-requisites\n\nPython >= 3.8\n\n# Getting started\n\n## Installation\n\nFirst install SeleNew by below command\n```\npip install selenew==<version>\n```\n\nTo start work using SeleNew please import required components. Example below:\n```\nfrom selenew.base.base_object import Selenew\n```\n\n## Let's do it as simple as possible\n\nUse below simplified approach from SeleNew\n```\nselenew.send_keys(\".search\", \"search object\")\n```\n\nInstead of below complicated approach from Selenium\n```\nWebDriverWait(self.driver, 2).until(\n            ec.visibility_of_element_located((By.CSS_SELECTOR, \".search\"))\n        ).send_keys(\"search object\")\n```\n\n## SeleNew Built-in functionalities\nAll `go_around`, `timeout` and `element_state` parameters can be customized as shown below\n\n### `go_around` functionality\nDefine as many attempts as you like or use the default one. Default value: 3\n```\nselenew = SeleNew(browser, go_around=5)\n```\n\n### `timeout` functionality\nDefine as many times as you like, or use the default one. Default value: 3\n```\nselenew.click(\".login-button\", timeout=5)\n```\n\n### `element_state` functionality\nUse one of supported states. Default value: \"single_visible\" \\\nAll supported states:\n* \"single_visible\"\n* \"clickable\"\n* \"multiple_visible\"\n* \"invisible\"\n```\nselenew.click(\".login-button\", element_state=\"clickable\")\n```\n\n# Contributing\nPull requests are welcome. For major changes, please open an issue first to discuss what you would like to change.\n\n# License\nThis project is licensed under the MIT License.\n\n# Author\n\u00a9 2023 [Toghrul Mirzayev](https://github.com/ToghrulMirzayev)\n",
    "bugtrack_url": null,
    "license": "",
    "summary": "SeleNew is a framework over Selenium to simplify UI Test Automation",
    "version": "0.0.1",
    "project_urls": null,
    "split_keywords": [
        "testing",
        "selenium",
        "selenew",
        "browser",
        "ui",
        "qa"
    ],
    "urls": [
        {
            "comment_text": "",
            "digests": {
                "blake2b_256": "9650589146af9f29544351792c0cc445e758d596bd6b40e5693f4cce97faf065",
                "md5": "ffd9a26894ee00af0157a109faf5c2c4",
                "sha256": "b8c8f29cf8470d5bf9910fab95e2fd612280ce921f3d6f539bd930e3677e9ee1"
            },
            "downloads": -1,
            "filename": "selenew-0.0.1-py3-none-any.whl",
            "has_sig": false,
            "md5_digest": "ffd9a26894ee00af0157a109faf5c2c4",
            "packagetype": "bdist_wheel",
            "python_version": "py3",
            "requires_python": ">=3.7",
            "size": 8657,
            "upload_time": "2023-05-27T12:40:30",
            "upload_time_iso_8601": "2023-05-27T12:40:30.108884Z",
            "url": "https://files.pythonhosted.org/packages/96/50/589146af9f29544351792c0cc445e758d596bd6b40e5693f4cce97faf065/selenew-0.0.1-py3-none-any.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": "",
            "digests": {
                "blake2b_256": "7f50f0502fb21d49b85828f807dddd4344f657c238048eea330e9ad07cb3a35b",
                "md5": "91284387c295368c7e29e32a0f3d18a8",
                "sha256": "6ffaee589545e29cf30267b70bac892bdd86a2edeed83c3f5540fbff1ea07b39"
            },
            "downloads": -1,
            "filename": "selenew-0.0.1.tar.gz",
            "has_sig": false,
            "md5_digest": "91284387c295368c7e29e32a0f3d18a8",
            "packagetype": "sdist",
            "python_version": "source",
            "requires_python": ">=3.7",
            "size": 8683,
            "upload_time": "2023-05-27T12:40:31",
            "upload_time_iso_8601": "2023-05-27T12:40:31.892365Z",
            "url": "https://files.pythonhosted.org/packages/7f/50/f0502fb21d49b85828f807dddd4344f657c238048eea330e9ad07cb3a35b/selenew-0.0.1.tar.gz",
            "yanked": false,
            "yanked_reason": null
        }
    ],
    "upload_time": "2023-05-27 12:40:31",
    "github": false,
    "gitlab": false,
    "bitbucket": false,
    "codeberg": false,
    "lcname": "selenew"
}
        
Elapsed time: 0.06885s