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 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.
Is appian-selenium-api published to the maven central repository? I can't seem to locate it and I was wondering why it would not be. The solution of including it as a system jar like I have pasted below is flagged by Maven as a warning that it may not be supported in future Maven versions
<dependency> <groupId>com.appiancorp.ps.automatedtest</groupId> <artifactId>appian-selenium-api</artifactId> <version>22.2</version> <scope>system</scope> <systemPath>${project.basedir}/lib/appian-selenium-api-22.2.jar</systemPath> </dependency>
Hi,
Hi Appian,
I have opened the example project (Appianselenium in java) in java.
I am getting the below error.
Exception in thread "main" java.lang.NoSuchMethodError: 'java.util.List org.apache.commons.io.IOUtils.readLines(java.io.InputStream, java.nio.charset.Charset)' at com.appiancorp.ps.automatedtest.common.PropertiesUtilities.loadProperties(PropertiesUtilities.java:28) at com.appiancorp.ps.automatedtest.fixture.BaseFixture.<init>(BaseFixture.java:66) at com.appiancorp.ps.automatedtest.fixture.TempoFixture.<init>(TempoFixture.java:104) at com.appiancorp.ps.automatedtest.fixture.SitesFixture.<init>(SitesFixture.java:11) at com.appiancorp.example.HelloAppian.main(HelloAppian.java:22)
Note: I have added the below jar files
log4j api 2.11.1selenium-server-3.141.59common-lang3.jarcommons-io-2.11.jar'com.fasterxml.jackson.core:jackson-annotations:2.12.1''com.fasterxml.jackson.core:jackson-databind:2.12.1''com.fasterxml.jackson.core:jackson-core:2.12.1'
Kindly help to resolve the errors.
Hi, I am trying to instantiate the driver object and use fixture.setWebDriver(driver) to use it further. However, what I noticed is that test becomes very very slow. I am not why does that happens. Any Idea?
Its totally different when is use fixture.setupWithBrowser(browser) method to let this library create its own driver.
The process of initiating driver is same in both the case.
I want to use this because I want to have it running in non-gui mode, at present this capability is not there in appian selenium API.