Appian Selenium API

Overview

The library contains methods which allow you to interact with Appian components in a browser. It can be used in a Java application or integrated directly into any Selenium or Java-based testing tool.

Appian Selenium API contains the methods that are at the core of both Cucumber for Appian and FitNesse for Appian. If you are familiar with either Appian’s FitNesse or Cucumber tools then you are already familiar with the methods provided by the Appian Selenium API. For example, the table below shows the corresponding FitNesse and Cucumber methods for the same underlying Appian Selenium API method.

Appian Selenium API

loginWithUsernameAndPassword(jString userName, String password)

FitNesse for Appian

| login with username | USERNAME | and password | PASSWORD |

Cucumber for Appian

Given I login with username "USERNAME" and password "PASSWORD"

Note: Java 11 required for plugin version 23.4

Key Features & Functionality

The Appian Selenium API plug-in package includes:

  • The Appian Selenium API jar
  • Javadocs
  • An example of how to use the API in a Java application
  • An example of how to use the API in a Cucumber test 

The Appian Selenium API plug-in supports both Chrome and Firefox browsers. See the Appian Playbook for more information: Automated Testing with Appian Selenium API

Note on Appian Versions:

With each Appian release, a new version of the plug-in is also released to support the latest Appian components. This plug-in is backwards compatible, ensuring that you do not need to update your test cases when upgrading to new Appian versions.

Anonymous
  • some of the Appian feature not covered predefine method , so this time we are forced to customize some script in both Appian selenium and API as well 
    ex  

    dr.findelement(locatortype(locator)).click()

    Thanks 

  • How to click on StampField link? Thanks.

  • v23.4.1 Release Notes
    • Bug Fixes
    • Backport support for Date Range user filter

  • v23.4 Release Notes
    • Project updated to require Java 11 JRE
    • Bug Fixes
    • Honor the download directory given in custom.properties for RemoteDrivers
    • Update dropdowns for versions greater than 23.3 to ignore the aria-checked value
    • Fixed Populate Record Type Date Range User Filter method
    • Enhancements
    • Add support for the Side navigation menu in sites
    • Add support for downloading charts
    • Add support for buttons configured with custom colors

  • v23.3 Release Notes
    • Bug Fixes
    • Update checkboxes to support CARD style for 23.3 and later Appian versions

  • v23.3 Release Notes
    • Enhancements
    • Supports Appian version 23.3
    • Added functionality to interact with new site group headers
    • Updated to Selenium 4.11.0

  • Good Morning, 

    When will the update for Appian 23.3 be available?

  • How can we use clickOnSitePage to click on Top Nav Page link? It is giving error 

    org.openqa.selenium.ElementNotInteractableException: element not interactable

  • it is available from what i can see

      public void clickOnMenu(String tempoMenu) {
    TempoMenu.getInstance(settings).waitFor(tempoMenu);
    TempoMenu.getInstance(settings).click(tempoMenu);
    }

  • and even if i use REMOTE_CHROME option for browser type this is the error I get:

     

    2023-07-27 15:10:17,357 [main] DEBUG com.appiancorp.ps.automatedtest.fixture.BaseFixture - browser=REMOTE_CHROME
    Jul 27, 2023 3:10:17 PM com.appiancorp.ps.automatedtest.common.RemoteWebDriverBuilder createRemoteDriver
    INFO: Creating remote driver for browser 'REMOTE_CHROME'
    Jul 27, 2023 3:10:17 PM org.openqa.selenium.remote.tracing.opentelemetry.OpenTelemetryTracer createTracer
    INFO: Using OpenTelemetry for tracing
    Jul 27, 2023 3:10:17 PM org.openqa.selenium.remote.RemoteWebDriver checkNonW3CCapabilities
    WARNING: Support for Legacy Capabilities is deprecated; You are sending the following invalid capabilities: [chromeOptions]; Please update to W3C Syntax: https://www.seleni
    um.dev/blog/2022/legacy-protocol-support/
    Could not start a new session. Possible causes are invalid address of the remote server or browser start-up failure.

    Build info: version: '4.8.2', revision: '826dbfc730'
    System info: os.name: 'Windows 10', os.arch: 'amd64', os.version: '10.0', java.version: '18'
    Driver info: org.openqa.selenium.remote.RemoteWebDriver
    Command: [null, newSession {capabilities=[Capabilities {chromeOptions: Capabilities {browserName: ...}]}]
    Capabilities {chromeOptions: Capabilities {browserName: ...}