PeopleSoft Components Library
A Python library designed to simplify finding and interacting with PeopleSoft components using Selenium WebDriver. This library provides abstractions for commonly used UI elements in PeopleSoft applications, such as buttons, tiles, and input fields.
Features
- Modular Components: Includes Button, Image, TextInput, PasswordInput, and Tile components, each designed to make interaction with PeopleSoft UI elements straightforward.
- Robust Base Class: Provides
BaseComponentclass for building custom components. - Selenium Integration: Fully compatible with Selenium WebDriver.
Installation
Install the package directly from the GitLab Package Registry:
pip install peoplesoft-selenium-components
Usage
General Usage
Import the components and use them to interact with PeopleSoft UI elements in your Selenium scripts:
from selenium import webdriver
from peoplesoft_components import Button, TextInput, Tile
driver = webdriver.Chrome()
driver.get("https://your-peoplesoft-url.com")
# Interact with a button
button = Button.find(driver, "Submit")
button.click()
# Fill a text input field
text_input = TextInput.find(driver, "Username")
text_input.set_value("my_username")
# Interact with a tile
tile = Tile.find(driver, "Student Center")
tile.click()
Components
This library provides several pre-defined components for interacting with PeopleSoft UI elements.
Below are details for each component, including how to find and interact with them.
Button
Represents a button element (<input> with the class ps-button).
- Methods:
Button.find(driver, label): Finds a button by its label (thevalueattribute of the<input>).
Example:
from peoplesoft_components import Button
button = Button.find(driver, "Submit")
button.click()
TextInput
Represents a text input element (<input> with type text).
- Methods:
TextInput.find(driver, label): Finds a text input field by its associated<label>text.
Example:
from peoplesoft_components import TextInput
text_input = TextInput.find(driver, "Username")
text_input.set_value("my_username")
PasswordInput
Represents a password input element (<input> with type password).
- Methods:
PasswordInput.find(driver, label): Finds a password input field by its associated<label>text.
Example:
from peoplesoft_components import PasswordInput
password_input = PasswordInput.find(driver, "Password")
password_input.set_value("my_password")
Tile
Represents a tile element, typically found in dashboards or navigation areas.
- Methods:
Tile.find(driver, label): Finds a tile by its visible label text.
Example:
from peoplesoft_components import Tile
tile = Tile.find(driver, "Student Center")
tile.click()
Image
Represents an image element (<img>).
- Methods:
Image.find(driver, alt_text): Finds an image by itsaltattribute.
Example:
from peoplesoft_components import Image
image = Image.find(driver, "Logo")
assert image.is_displayed()
Getting Started with Development
To set up the project for development:
1. Clone the Repository
git clone https://gitlab.com/campus-solutions-automated-testing-group/peoplesoft-selenium-components.git
cd peoplesoft-selenium-components
2. Install Dependencies
Use a virtual environment and install the required dependencies:
python -m venv venv
source venv/bin/activate # On Windows: venv\Scripts\activate
pip install -r requirements.txt
3. Build the Package
Build the package locally to test distribution:
python -m build
Resources
- Homepage: Project Homepage
- Selenium Documentation: Selenium
Contributing
Contributions are welcome! Please fork the repository, create a feature branch, and submit a merge request.
License
This project is licensed under the terms specified in the LICENSE file.
Metadata
Release files for peoplesoft-selenium-components 0.3.2
For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.
Source distribution (sdist)
| File | Size | Uploaded | Provenance | |
|---|---|---|---|---|
| peoplesoft_selenium_components-0.3.2.tar.gz | 12.9 kB | Without provenance | Details |
Built distribution (wheel)
| File | Interpreter | ABI | Platform | Reset |
|---|---|---|---|---|
| peoplesoft_selenium_components-0.3.2-py3-none-any.whl | Python 3 | none | any | Details |
Total release size: 32.7 kB
Release files / peoplesoft_selenium_components-0.3.2.tar.gz
| Download URL | peoplesoft_selenium_components-0.3.2.tar.gz |
|---|---|
| Size | 12.9 kB |
| Tags | Source |
|
SHA-256 checksum How to use checksums |
e838579e4bff553d0c6a8a7c5712e15bc55dd055eb1946e455fb2979483bd24b
|
|
BLAKE2b-256 checksum How to use checksums |
fed5ec00ae77128165156197242397cdbc3bed8d399d40180b97511e299b6162
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/6.1.0 CPython/3.11.13
|
Release files / peoplesoft_selenium_components-0.3.2-py3-none-any.whl
| Download URL | peoplesoft_selenium_components-0.3.2-py3-none-any.whl |
|---|---|
| Size | 19.7 kB |
| Tags | Python 3 |
|
SHA-256 checksum How to use checksums |
bfb7114db8a3dab28db3d9edf5429dd3d9562ddf2fed5ab137074bd29e3f065e
|
|
BLAKE2b-256 checksum How to use checksums |
f81ab2237c4966e3f6064246034c714bfc6f3c44ef4f459bbb38e9e5041839ca
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/6.1.0 CPython/3.11.13
|
Security for peoplesoft-selenium-components 0.3.2
Provenance
Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.
No provenance found
None of the files in this release were uploaded with provenance metadata.
A note on package security
PyPI is a repository for distributing packages, not a service for auditing them. While third-party security researchers and our staff do their best to detect and remove malicious packages, PyPI cannot guarantee the quality, security or suitability of any given package.
To learn more about protecting yourself from malicious actors, visit our package security documentation.