Skip to main content

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 BaseComponent class 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 (the value attribute 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 its alt attribute.

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


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)

Source distribution for peoplesoft-selenium-components 0.3.2
File Size Uploaded Provenance
peoplesoft_selenium_components-0.3.2.tar.gz 12.9 kB Without provenance Details

Built distribution (wheel)

Table of built distributions (wheels) for peoplesoft-selenium-components 0.3.2
File Interpreter ABI Platform
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.

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page