# T_pom_dentaquest 📦
> **A Python package for DentaQuest POM approach
when interacting with web pages and their elements.**
## 📑 Table of Contents
- [Overview](#overview)
- [Installation](#installation)
- [Usage Example](#usage-example)
- [API Documentation](#api-documentation)
- [License](#license)
## Overview
This package provides DentaQuest portal Base class, web pages and web elements.
There are also usable web elements that have commonly used methods built in.
## Installation
```bash
pip install t-pom-dentaquest
```
## Usage Example
For detailed examples, please refer to our
[quick start page](https://www.notion.so/thoughtfulautomation/T-DentaQuest-14bf43a78fa480d0a974e4d6be1f763c).
###
## API Documentation
---
## Decorators
### Module: `t_pom_dentaquest.decorators`
_Module for the decorator._
- **Function:** `relogin_and_retry_if_error`
> Decorator to relogin and retry the function if a Web-related error occurs.
---
## Elements
### Module: `t_pom_dentaquest.elements`
_Module for all web app elements._
### Module: `t_pom_dentaquest.elements.container_element`
_Select container element module._
- **Class:** `ContainerElement`
> Class for container elements.
- **Method:** `check_if_all_elements_contain_value`
> Get text for each attribute in object with matching id.
### Module: `t_pom_dentaquest.elements.select_dropdown_element`
_Select dropdown element module._
- **Class:** `SelectDropdownElement`
> Class for select dropdown elements.
- **Method:** `select_options`
> Select options from the dropdown list.
### Module: `t_pom_dentaquest.elements.table_element`
_Table element module._
- **Class:** `TableElement`
> Class for table elements.
- **Method:** `get_summary_table_data`
> Extracts and structures data from an HTML summary table into a list of dictionaries.
This method locates the table headers and body rows, then iterates over them to extract the data.
Each row of the table is represented as a dictionary.
Returns:
list: A list of dictionaries, where each dictionary represents a row in the table.
Each dictionary key is a column header, and each value is the corresponding data
from that column in the row.
- **Method:** `get_table_data`
> Extracts data from an HTML table.
This method locates table headers and body elements, then iterates over them to extract and structure the data
into a dictionary.
Returns:
dict: A dictionary where each key is a table name and each value is another dictionary containing
the column names and their respective values.
### Module: `t_pom_dentaquest.elements.text_element`
_Text element module._
- **Class:** `TextElement`
> Class for input element model.
---
## Pages
### Module: `t_pom_dentaquest.pages`
_Page modules for DentaQuest._
### Module: `t_pom_dentaquest.pages.home_page`
_Generic home page for web app._
- **Class:** `HomePage`
> Page class containing elements specific to a home page interface.
### Module: `t_pom_dentaquest.pages.login_page`
_Generic login page for web app._
- **Class:** `LoginPage`
> Page class containing elements specific to a login interface.
### Module: `t_pom_dentaquest.pages.member_detail_page`
_Generic member detail page for web app._
- **Class:** `MemberDetailPage`
> Page class containing elements specific to a login interface.
### Module: `t_pom_dentaquest.pages.member_eligibility_list_page`
_Generic login page member eligibility list web app._
- **Class:** `MemberEligibilityListPage`
> Page class containing elements specific to a member eligibility list page interface.
### Module: `t_pom_dentaquest.pages.member_eligibility_search_page`
_Generic member eligibility search page for web app._
- **Class:** `MemberEligibilitySearchPage`
> Page class containing elements specific to a member eligibility search page interface.
### Module: `t_pom_dentaquest.pages.plan_benefit_summary_page`
_Generic plan benefits summary page for web app._
- **Class:** `PlanBenefitSummaryPage`
> Page class containing elements specific to a plan benefits summary page interface.
---
## T_dentaquest
### Module: `t_pom_dentaquest.t_dentaquest`
_Generic base class for web app._
- **Class:** `TDentaQuest`
> Main application class managing pages and providing direct access to Selenium.
---
## License
This project is licensed under the MIT License - see the [LICENSE](LICENSE) file for details.
Raw data
{
"_id": null,
"home_page": "https://www.thoughtful.ai/",
"name": "t-pom-dentaquest",
"maintainer": null,
"docs_url": null,
"requires_python": ">=3.9",
"maintainer_email": null,
"keywords": "t_pom_dentaquest",
"author": "Thoughtful",
"author_email": "support@thoughtful.ai",
"download_url": "https://files.pythonhosted.org/packages/3e/33/64777570234882f6709ae793e14052627b589a69378e97fb2e6d69e90068/t_pom_dentaquest-0.1.1.tar.gz",
"platform": null,
"description": "# T_pom_dentaquest \ud83d\udce6\n\n> **A Python package for DentaQuest POM approach\n when interacting with web pages and their elements.**\n\n## \ud83d\udcd1 Table of Contents\n- [Overview](#overview)\n- [Installation](#installation)\n- [Usage Example](#usage-example)\n- [API Documentation](#api-documentation)\n- [License](#license)\n\n## Overview\nThis package provides DentaQuest portal Base class, web pages and web elements.\n \nThere are also usable web elements that have commonly used methods built in.\n\n## Installation\n```bash\npip install t-pom-dentaquest\n```\n\n## Usage Example\nFor detailed examples, please refer to our\n [quick start page](https://www.notion.so/thoughtfulautomation/T-DentaQuest-14bf43a78fa480d0a974e4d6be1f763c).\n\n### \n## API Documentation\n\n---\n\n## Decorators\n### Module: `t_pom_dentaquest.decorators`\n\n_Module for the decorator._\n\n- **Function:** `relogin_and_retry_if_error`\n > Decorator to relogin and retry the function if a Web-related error occurs.\n\n---\n\n## Elements\n### Module: `t_pom_dentaquest.elements`\n\n_Module for all web app elements._\n\n### Module: `t_pom_dentaquest.elements.container_element`\n\n_Select container element module._\n\n- **Class:** `ContainerElement`\n > Class for container elements.\n - **Method:** `check_if_all_elements_contain_value`\n > Get text for each attribute in object with matching id.\n### Module: `t_pom_dentaquest.elements.select_dropdown_element`\n\n_Select dropdown element module._\n\n- **Class:** `SelectDropdownElement`\n > Class for select dropdown elements.\n - **Method:** `select_options`\n > Select options from the dropdown list.\n### Module: `t_pom_dentaquest.elements.table_element`\n\n_Table element module._\n\n- **Class:** `TableElement`\n > Class for table elements.\n - **Method:** `get_summary_table_data`\n > Extracts and structures data from an HTML summary table into a list of dictionaries.\n\n This method locates the table headers and body rows, then iterates over them to extract the data.\n Each row of the table is represented as a dictionary.\n\n Returns:\n list: A list of dictionaries, where each dictionary represents a row in the table.\n Each dictionary key is a column header, and each value is the corresponding data\n from that column in the row.\n \n - **Method:** `get_table_data`\n > Extracts data from an HTML table.\n\n This method locates table headers and body elements, then iterates over them to extract and structure the data\n into a dictionary.\n\n Returns:\n dict: A dictionary where each key is a table name and each value is another dictionary containing\n the column names and their respective values.\n \n### Module: `t_pom_dentaquest.elements.text_element`\n\n_Text element module._\n\n- **Class:** `TextElement`\n > Class for input element model.\n\n---\n\n## Pages\n### Module: `t_pom_dentaquest.pages`\n\n_Page modules for DentaQuest._\n\n### Module: `t_pom_dentaquest.pages.home_page`\n\n_Generic home page for web app._\n\n- **Class:** `HomePage`\n > Page class containing elements specific to a home page interface.\n### Module: `t_pom_dentaquest.pages.login_page`\n\n_Generic login page for web app._\n\n- **Class:** `LoginPage`\n > Page class containing elements specific to a login interface.\n### Module: `t_pom_dentaquest.pages.member_detail_page`\n\n_Generic member detail page for web app._\n\n- **Class:** `MemberDetailPage`\n > Page class containing elements specific to a login interface.\n### Module: `t_pom_dentaquest.pages.member_eligibility_list_page`\n\n_Generic login page member eligibility list web app._\n\n- **Class:** `MemberEligibilityListPage`\n > Page class containing elements specific to a member eligibility list page interface.\n### Module: `t_pom_dentaquest.pages.member_eligibility_search_page`\n\n_Generic member eligibility search page for web app._\n\n- **Class:** `MemberEligibilitySearchPage`\n > Page class containing elements specific to a member eligibility search page interface.\n### Module: `t_pom_dentaquest.pages.plan_benefit_summary_page`\n\n_Generic plan benefits summary page for web app._\n\n- **Class:** `PlanBenefitSummaryPage`\n > Page class containing elements specific to a plan benefits summary page interface.\n\n---\n\n## T_dentaquest\n### Module: `t_pom_dentaquest.t_dentaquest`\n\n_Generic base class for web app._\n\n- **Class:** `TDentaQuest`\n > Main application class managing pages and providing direct access to Selenium.\n\n---\n\n## License\nThis project is licensed under the MIT License - see the [LICENSE](LICENSE) file for details.\n",
"bugtrack_url": null,
"license": null,
"summary": "A Python package for dentaquest web portal.",
"version": "0.1.1",
"project_urls": {
"Homepage": "https://www.thoughtful.ai/"
},
"split_keywords": [
"t_pom_dentaquest"
],
"urls": [
{
"comment_text": "",
"digests": {
"blake2b_256": "3e3364777570234882f6709ae793e14052627b589a69378e97fb2e6d69e90068",
"md5": "0ffb187f2c5546af2f43fa619bb77e63",
"sha256": "4feca170f661c4972ae36411bd8a2e030a22f91682260e1821567ca4c9301f70"
},
"downloads": -1,
"filename": "t_pom_dentaquest-0.1.1.tar.gz",
"has_sig": false,
"md5_digest": "0ffb187f2c5546af2f43fa619bb77e63",
"packagetype": "sdist",
"python_version": "source",
"requires_python": ">=3.9",
"size": 8272,
"upload_time": "2024-11-28T17:31:26",
"upload_time_iso_8601": "2024-11-28T17:31:26.269065Z",
"url": "https://files.pythonhosted.org/packages/3e/33/64777570234882f6709ae793e14052627b589a69378e97fb2e6d69e90068/t_pom_dentaquest-0.1.1.tar.gz",
"yanked": false,
"yanked_reason": null
}
],
"upload_time": "2024-11-28 17:31:26",
"github": false,
"gitlab": false,
"bitbucket": false,
"codeberg": false,
"lcname": "t-pom-dentaquest"
}