A helpful library for finding and interacting with PeopleSoft components using Selenium
Project description
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.
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
File details
Details for the file peoplesoft_selenium_components-0.2.2.tar.gz.
File metadata
- Download URL: peoplesoft_selenium_components-0.2.2.tar.gz
- Upload date:
- Size: 13.0 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.1.0 CPython/3.11.12
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
0d6db1e728098afdeac836037c648df599a32b2a3f0961893ef788232d632b69
|
|
| MD5 |
23d20673763f8ea1372fd4447b921dc4
|
|
| BLAKE2b-256 |
bd99f1b4609fe6dad92ca355d59ecb06c3131df3c2470c8860c2365f5e9420ee
|
File details
Details for the file peoplesoft_selenium_components-0.2.2-py3-none-any.whl.
File metadata
- Download URL: peoplesoft_selenium_components-0.2.2-py3-none-any.whl
- Upload date:
- Size: 19.8 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.1.0 CPython/3.11.12
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
13402d225499b6b95d8a70b1dcc844e2d20042698fca0d3b314ed13ef840d1eb
|
|
| MD5 |
bf8aa39f7d9a2aa99ad09db1bc5bc56f
|
|
| BLAKE2b-256 |
2c6b1e34154c43b1a9c138c180be5d3629be9f23daa61c4b363741af1ac424b9
|