Skip to content

Robo Appian

Automate your Appian code testing with Python. Boost quality, save time.

🚀 Quick Start

Installation

pip install robo-appian

Basic Usage

from selenium import webdriver
from selenium.webdriver.support.ui import WebDriverWait
from robo_appian import ButtonUtils, InputUtils, TableUtils

# Setup your driver
driver = webdriver.Chrome()
wait = WebDriverWait(driver, 10)

# Interact with Appian components
ButtonUtils.click(wait, "Submit")
InputUtils.set_text(wait, "Username", "john.doe")
TableUtils.click_cell_link(wait, "Actions", 1, "Edit")

📚 Modules

Components

Utilities for interacting with Appian UI components:

  • ButtonUtils: Interact with button components
  • DateUtils: Interact with date fields and date pickers
  • DropdownUtils: Interact with dropdown/select components
  • InputUtils: Interact with input fields and text areas
  • LabelUtils: Find and interact with labels
  • LinkUtils: Interact with links and clickable elements
  • TableUtils: Interact with tables, grids, and data structures
  • TabUtils: Interact with tab components
  • ComponentUtils: General utilities for components

Controllers

High-level interfaces for component interaction:

  • ComponentDriver: High-level interface to execute actions on components

Exceptions

Custom exceptions for better error handling:

  • MyCustomError: Custom exception for specific error conditions

🛠️ Requirements

  • Python 3.12+
  • Selenium WebDriver 4.34.0+
  • A compatible web browser (Chrome, Firefox, etc.)

📖 Documentation Navigation

Use the navigation menu to explore detailed documentation for each component:

  • Click on any component in the Components section for detailed API documentation
  • Each component page includes method signatures, parameters, and usage examples
  • All methods include docstrings with clear explanations and examples

🤝 Contributing

We welcome contributions! Please see our contributing guidelines for more information.

📄 License

This project is licensed under the MIT License - see the LICENSE file for details.

from robo_appian import (
    ButtonUtils, ComponentUtils, DateUtils, DropdownUtils, InputUtils,
    LabelUtils, LinkUtils, TableUtils, TabUtils
)

Set a Date Value

DateUtils.set_date_value("date_field_id", "2023-10-01")

Click a Button

ButtonUtils.click_button("submit_button_id")

Select a Dropdown Value

DropdownUtils.select_value("dropdown_id", "Option 1")

Enter Text in an Input Field

InputUtils.enter_text("input_field_id", "Sample Text")

Click a Link

LinkUtils.click_link("link_id")

Click a Tab

TabUtils.click_tab("tab_id")

Get a Table Cell Value

TableUtils.get_cell_value("table_id", 1, 2)  # Row 1, Column 2

Get a Label Value

LabelUtils.get_label_value("label_id")

Get a Component Value

ComponentUtils.get_component_value("component_id")

Use the Component Driver

from robo_appian.utils.controllers.ComponentDriver import ComponentDriver
ComponentDriver.execute(wait, "Button", "Click", "Submit", None)

Dependencies

Python >= 3.8
Uses selenium