<?xml version="1.0" encoding="UTF-8" ?>
<?xml-stylesheet type="text/xsl" href="https://community.appian.com/cfs-file/__key/system/syndication/rss.xsl" media="screen"?><rss version="2.0" xmlns:dc="http://purl.org/dc/elements/1.1/"><channel><title>Automated Testing with Appian Selenium API</title><link>https://community.appian.com/success/w/guide/3312/automated-testing-with-appian-selenium-api</link><description /><dc:language>en-US</dc:language><generator>Telligent Community 12</generator><item><title>Automated Testing with Appian Selenium API</title><link>https://community.appian.com/success/w/guide/3312/automated-testing-with-appian-selenium-api</link><pubDate>Tue, 10 Jun 2025 23:23:25 GMT</pubDate><guid isPermaLink="false">d3a83456-d57b-489c-a84c-4e8267bb592a:af6be428-e229-4a89-9844-d99ca095396c</guid><dc:creator>joel.larin</dc:creator><comments>https://community.appian.com/success/w/guide/3312/automated-testing-with-appian-selenium-api#comments</comments><description>Current Revision posted to Guide by joel.larin on 6/10/2025 11:23:25 PM&lt;br /&gt;
&lt;div style="margin:8px 16% 8px 8%;"&gt;
&lt;div class="callout-box callout-info"&gt;Please be advised that this package has moved to a new &lt;a href="https://gitlab.com/appian-oss/appian-selenium-api"&gt;open-source repository&lt;/a&gt;, as future updates on the App Market will be discontinued. We encourage all users to switch to the new repository to gain the ability to contribute, receive immediate access to bug fixes and new functionality, and improve communication with other users and maintainers via GitLab issues.&lt;/div&gt;
&lt;h2 id="requirements"&gt;Requirements&lt;/h2&gt;
&lt;ul style="font-size:110%;"&gt;
&lt;li&gt;Appian 22.2 and above&lt;/li&gt;
&lt;li&gt;Java Runtime Environment 11&lt;/li&gt;
&lt;li&gt;Chrome or Firefox browsers
&lt;div class="callout-box callout-info"&gt;If using Chrome, we recommend using &lt;a href="https://developer.chrome.com/blog/chrome-for-testing/"&gt;Chrome For Testing&lt;/a&gt; for a more consistent testing experience.&lt;/div&gt;
&lt;/li&gt;
&lt;li&gt;An IDE, such as IntelliJ IDEA or Eclipse&lt;/li&gt;
&lt;/ul&gt;
&lt;h2 id="setup"&gt;Setup&lt;/h2&gt;
&lt;p&gt;The &lt;a href="/b/appmarket/posts/appian_2d00_selenium_2d00_api"&gt;Appian Selenium API&lt;/a&gt; plug-in is a Java library which allows you to write automated tests for your Appian UIs. It contains methods which allow you to interact with Appian components in a browser. It provides methods and fixtures to interact with Appian applications in its various environments, e.g. Tempo or Sites. When writing tests, be sure to use methods from the correct fixture for the environment under test, e.g. use SitesFixture where possible to test Sites. Methods defined in fixtures that are intended for different environments are not guaranteed to work in future versions of the plugin.&lt;/p&gt;
&lt;p&gt;It can be used in a Java application or integrated directly into any Selenium or Java-based testing tool.&lt;/p&gt;
&lt;p&gt;Appian Selenium API contains the underlying Selenium methods used by &lt;a href="/b/appmarket/posts/cucumber-for-appian"&gt;Cucumber for Appian&lt;/a&gt; and &lt;a href="/b/appmarket/posts/fitnesse-for-appian"&gt;FitNesse for Appian&lt;/a&gt;, but offers you more flexibility by allowing you to define your own automated test cases. You can create your own Cucumber Step Definitions, your own testNG test, or the Java Framework of your choosing. You are no longer tied to Cucumber for Appian or FitNesse for Appian yet you get the same ease and simplicity of those respective frameworks.&lt;/p&gt;
&lt;ol style="font-size:110%;"&gt;
&lt;li&gt;Open this project in an IDE, such as IntelliJ IDEA or Eclipse.&lt;/li&gt;
&lt;li&gt;Update configurations:
&lt;ol&gt;
&lt;li&gt;&amp;nbsp;Open file &lt;strong&gt;configs/custom.properties&lt;/strong&gt;
&lt;ol&gt;
&lt;li&gt;Update &lt;strong&gt;automated.testing.hom&lt;/strong&gt;e with the path to this installation. Examples:
&lt;ol&gt;
&lt;li&gt;Windows: &lt;strong&gt;automated.testing.home=C:\\testFolder\\appian-selenium-api-example-java&lt;/strong&gt;&lt;/li&gt;
&lt;li&gt;Mac: &lt;strong&gt;automated.testing.home=/Users/tester/Desktop/appian-selenium-api-example-java&lt;/strong&gt;&lt;/li&gt;
&lt;/ol&gt;
&lt;/li&gt;
&lt;li&gt;Update &lt;strong&gt;chrome.driver.home&lt;/strong&gt; with the path to the Chrome driver that comes with this installation. Examples: * Windows: &lt;strong&gt;automated.testing.home=C:\\testFolder\\appian-selenium-api-example-java\\lib\\drivers\\chromedriver.exe&lt;/strong&gt; * Mac: &lt;strong&gt;automated.testing.home=/Users/tester/Desktop/appian-selenium-api-example-java/lib/drivers/chromedriver-mac&lt;/strong&gt;&lt;/li&gt;
&lt;/ol&gt;
&lt;/li&gt;
&lt;li&gt;Open file&lt;strong&gt; configs/users.properties&lt;/strong&gt;, for each username used in a test add a line in the format of &lt;strong&gt;&amp;lt;username&amp;gt;=&amp;lt;password&amp;gt;&lt;/strong&gt; to this file.
&lt;ol&gt;
&lt;li&gt;If you prefer not to disclose your password in plain text, you can also choose to use &lt;strong&gt;com.appiancorp.ps.automatedtest.fixture.BaseFixture.loginIntoWithUsernameAndPassword&lt;/strong&gt; fixture method to login by passing in the password from a system property value.&lt;/li&gt;
&lt;/ol&gt;
&lt;/li&gt;
&lt;/ol&gt;
&lt;/li&gt;
&lt;li&gt;Open &amp;quot;src/main/java/com/appiancorp/example/HelloAppian.java&amp;quot;:
&lt;ol&gt;
&lt;li&gt;Update &lt;strong&gt;TEST_SITE_URL&lt;/strong&gt; to your Appian URL, such as &lt;strong&gt;protected static String TEST_SITE_URL = &amp;quot;https://example.appiancloud.com/suite&amp;quot;;&lt;/strong&gt;&lt;/li&gt;
&lt;li&gt;Update &lt;strong&gt;TEST_USERNAME&lt;/strong&gt; with a username, such as &lt;strong&gt;protected static String TEST_USERNAME = &amp;quot;tester.tester&amp;quot;;&lt;/strong&gt; * Make sure this user exists in &lt;strong&gt;configs/users.properties&lt;/strong&gt;&lt;/li&gt;
&lt;/ol&gt;
&lt;/li&gt;
&lt;li&gt;Run the &lt;strong&gt;main()&lt;/strong&gt; method of this class:
&lt;ol&gt;
&lt;li&gt;&amp;nbsp;You should see that a Chrome browser will open up, and the fixture commands in &lt;strong&gt;HelloAppian.java&lt;/strong&gt; will execute accordingly.&lt;/li&gt;
&lt;li&gt;Note that this test will fail since your site might not have an action &amp;quot;Create a Case&amp;quot; under menu &amp;quot;Actions&amp;quot; that opens up an interface that has a &amp;quot;Submit&amp;quot; button.&lt;/li&gt;
&lt;/ol&gt;
&lt;/li&gt;
&lt;/ol&gt;
&lt;h2 id="features"&gt;Features&lt;/h2&gt;
&lt;p&gt;Multiple browser support&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;Chrome&lt;/li&gt;
&lt;li&gt;Firefox&lt;/li&gt;
&lt;/ul&gt;
&lt;h2 id="benefits"&gt;Benefits&lt;/h2&gt;
&lt;ul&gt;
&lt;li&gt;Define your own integration tests without being limited by a third-party testing tool&lt;/li&gt;
&lt;li&gt;Selenium-based test scripts can be created for reusability throughout test suites&lt;/li&gt;
&lt;li&gt;Methods created specifically to operate within Appian applications and Tempo&lt;/li&gt;
&lt;li&gt;Test scripts do not need to be updated when upgrading between supported Appian versions&lt;/li&gt;
&lt;li&gt;Test scripts are easily updated for new UI changes to a form or interface&lt;/li&gt;
&lt;li&gt;Appian design knowledge is not required to create test scripts&lt;/li&gt;
&lt;/ul&gt;
&lt;h2 id="release_notes"&gt;Release Notes&lt;/h2&gt;
&lt;h3 id="25.1"&gt;March 2025 - Release 25.1&lt;/h3&gt;
&lt;ul&gt;
&lt;li class="ql-indent-1"&gt;Enhancements
&lt;ul&gt;
&lt;li class="ql-indent-1"&gt;Added support for defining and using custom locales. Use create appian locale | PATH TO File. This method must be called after setting the version.&lt;br /&gt;
&lt;ul&gt;
&lt;li class="ql-indent-1"&gt;&lt;strong&gt;File must be JSON file with the format&lt;/strong&gt;:&amp;nbsp;{ &amp;quot;dateFormats&amp;quot;: [ { "label": "dateFormat", "value": &amp;lt;FORMAT_STRING&amp;gt; }, { "label": "dateDisplayFormat", "value": &amp;lt;FORMAT_STRING&amp;gt; }, { "label": "timeFormat", "value": &amp;lt;FORMAT_STRING&amp;gt; }, { "label": "timeDisplayFormat", "value": &amp;lt;FORMAT_STRING&amp;gt; }, { "label": "datetimeFormat", "value": &amp;lt;FORMAT_STRING&amp;gt; }, { "label": "datetimeDisplayFormat","value": &amp;lt;FORMAT_STRING&amp;gt; } ], &amp;quot;labels&amp;quot;: [ { "label": "acceptButton", "value": "Accept" } ], &amp;quot;locale&amp;quot;: &amp;lt;LOCALE_CODE&amp;gt; }&lt;!-- notionvc: a0caf744-193a-430a-a07c-8fec6fed1e37 --&gt;&lt;!-- notionvc: bac86f8d-84e2-4689-b153-1bb90e3d5c2e --&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li class="ql-indent-1"&gt;Bug Fixes
&lt;ul&gt;
&lt;li class="ql-indent-1"&gt;Fixed clickOnRecordRelatedAction to function correctly when the Record Summary page contains more than three action items.&lt;!-- notionvc: dd49e574-46f8-4e3a-8588-5e6b22f5c63a --&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;h3 id="24.3"&gt;August 2024 - Release 24.3&lt;/h3&gt;
&lt;ul&gt;
&lt;li class="ql-indent-1"&gt;Enhancements
&lt;ul&gt;
&lt;li class="ql-indent-1"&gt;Added built-in retry to click operation in case of element not interactable exception.&lt;/li&gt;
&lt;li class="ql-indent-1"&gt;Updated the milestone locator.&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;h3 id="24.2"&gt;June 2024 - Release 24.2&lt;/h3&gt;
&lt;ul&gt;
&lt;li class="ql-indent-1"&gt;Enhancements
&lt;ul&gt;
&lt;li class="ql-indent-1"&gt;Updated locator for site menu links&lt;/li&gt;
&lt;li class="ql-indent-1"&gt;Created method which supports clicking on text within an interface. This is particularly useful for nested cards such as tab layouts, but can also be used as a fallback when existing methods don&amp;#39;t work. This method is available for all Appian versions.&lt;/li&gt;
&lt;li class="ql-indent-1"&gt;Click operation on Card layout will be performed on the left side of the element instead of the right. We&amp;#39;re not expecting any impact on existing test cases.&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;h3 id="june&amp;nbsp;2023_-_release_23.2.1"&gt;March 2024 - Release 24.1&lt;/h3&gt;
&lt;ul&gt;
&lt;li class="ql-indent-1"&gt;Enhancements
&lt;ul&gt;
&lt;li style="font-weight:400;"&gt;&lt;span style="font-weight:400;"&gt;Support for Appian version 24.1&lt;/span&gt;&lt;/li&gt;
&lt;li style="font-weight:400;"&gt;Adds support for collapsing/opening sidebars&lt;/li&gt;
&lt;li style="font-weight:400;"&gt;ClickOnCard updated to support clicking on cards with complex content. For example, the method can now click on cards that have a component nested in multiple layouts within the card&lt;!--mce:protected %3C%21--mce%3Aprotected%20%253C%2521--mce%253Aprotected%2520%25253C%252521--%252520notionvc%25253A%252520c9bfab53-e4e1-4301-9c43-08f4d6f59a50%252520--%25253E--%253E--%3E--&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;h3 id="june&amp;nbsp;2023_-_release_23.2.1"&gt;November&amp;nbsp;2023 - Release 23.4&lt;/h3&gt;
&lt;ul&gt;
&lt;li class="ql-indent-1"&gt;&lt;strong&gt;NOTE&lt;/strong&gt;: &lt;span style="font-weight:400;"&gt;Project has been updated to require Java 11 JRE&lt;/span&gt;&lt;/li&gt;
&lt;li class="ql-indent-1"&gt;Enhancements
&lt;ul&gt;
&lt;li style="font-weight:400;"&gt;&lt;span style="font-weight:400;"&gt;Support for Appian version 23.4&lt;/span&gt;&lt;/li&gt;
&lt;li style="font-weight:400;"&gt;&lt;span style="font-weight:400;"&gt;Add support for the side navigation menu in sites&lt;/span&gt;&lt;/li&gt;
&lt;li style="font-weight:400;"&gt;&lt;span style="font-weight:400;"&gt;Add support for downloading charts&lt;/span&gt;&lt;/li&gt;
&lt;li style="font-weight:400;"&gt;&lt;span style="font-weight:400;"&gt;Add support for buttons configured with custom colors&lt;/span&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;Bug Fixes
&lt;ul&gt;
&lt;li style="font-weight:400;"&gt;&lt;span style="font-weight:400;"&gt;Honor the download directory given in custom.properties for Remote Drivers&lt;/span&gt;&lt;/li&gt;
&lt;li style="font-weight:400;"&gt;&lt;span style="font-weight:400;"&gt;Update dropdowns for versions greater than 23.3 to ignore the aria-checked value&lt;/span&gt;&lt;/li&gt;
&lt;li style="font-weight:400;"&gt;&lt;span style="font-weight:400;"&gt;Fixed Populate Record Type Data Range User Filter method&lt;/span&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;h3 id="june&amp;nbsp;2023_-_release_23.2.1"&gt;August 2023 - Release 23.3&lt;/h3&gt;
&lt;ul&gt;
&lt;li class="ql-indent-1"&gt;&lt;strong&gt;NOTE&lt;/strong&gt;: &lt;span style="font-weight:400;"&gt;Project has been updated to require Java 11 JRE&lt;/span&gt;&lt;/li&gt;
&lt;li class="ql-indent-1"&gt;Enhancements
&lt;ul&gt;
&lt;li style="font-weight:400;"&gt;&lt;span style="font-weight:400;"&gt;Supports Appian version 23.3&lt;/span&gt;&lt;/li&gt;
&lt;li style="font-weight:400;"&gt;&lt;span style="font-weight:400;"&gt;Added functionality to interact with new site group headers&lt;/span&gt;&lt;/li&gt;
&lt;li style="font-weight:400;"&gt;&lt;span style="font-weight:400;"&gt;Updated to Selenium 4.11.0&lt;/span&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;Bug Fixes
&lt;ul&gt;
&lt;li style="font-weight:400;"&gt;&lt;span style="font-weight:400;"&gt;Update checkboxes to support CARD style for 23.3 and later Appian versions&lt;/span&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;h3 id="june&amp;nbsp;2023_-_release_23.2.1"&gt;June&amp;nbsp;2023 - Release 23.2.1&lt;/h3&gt;
&lt;ul&gt;
&lt;li class="ql-indent-1"&gt;&lt;strong&gt;NOTE&lt;/strong&gt;: Updates to site navigation in the 23.2 product breaks the use of the clickOnMenu method defined in TempoFixtures for site environments. clickOnMenu, and other navigation methods defined in TempoFixtures, are guaranteed&amp;nbsp;to work only in Tempo environments. Use the clickOnSitePage method defined in SitesFixtures instead&lt;/li&gt;
&lt;li&gt;Bug Fixes
&lt;ul&gt;
&lt;li&gt;Update pickers to recognize selections with links (e.g. Record Pickers)&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;h3 id="june&amp;nbsp;2023_-_release_23.2"&gt;June&amp;nbsp;2023 - Release 23.2&lt;/h3&gt;
&lt;ul&gt;
&lt;li&gt;Enhancements
&lt;ul&gt;
&lt;li class="ql-indent-1"&gt;Supports Appian version 23.2
&lt;ul&gt;
&lt;li class="ql-indent-1"&gt;&lt;strong&gt;NOTE&lt;/strong&gt;: Updates to site navigation in the 23.2 product breaks the use of the clickOnMenu method defined in TempoFixtures for site environments. clickOnMenu, and other navigation methods defined in TempoFixtures, are guaranteed&amp;nbsp;to work only in Tempo environments. Use the clickOnSitePage method defined in SitesFixtures instead&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;h3 id="may_2023_-_release_23.1.2"&gt;May 2023 - Release 23.1.2&lt;/h3&gt;
&lt;ul&gt;
&lt;li&gt;Bug Fixes
&lt;ul&gt;
&lt;li&gt;Fixes an issue where Dropdowns with Search were not working&lt;/li&gt;
&lt;li&gt;Fixes an Issue where verifyText did not work on multi-node components&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;h3 id="february_2023_-_release_23.1"&gt;February 2023 - Release 23.1&lt;/h3&gt;
&lt;ul&gt;
&lt;li&gt;Enhancements
&lt;ul&gt;
&lt;li&gt;Supports Appian version 23.1&lt;/li&gt;
&lt;li&gt;Updated locator for Dropdown class&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;Bug Fixes
&lt;ul&gt;
&lt;li&gt;Update CVEs&lt;/li&gt;
&lt;li&gt;Update scripts (start.bat, start-mac.sh, start-unix.sh, runFitNesseTest.sh) to reference the new fitnesse-20221219-standalone.jar&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;h3 id="august&amp;nbsp;2022_-_release_22.3"&gt;August&amp;nbsp;2022 - Release 22.3&lt;/h3&gt;
&lt;ul&gt;
&lt;li&gt;Appian Selenium API is released and supported&lt;/li&gt;
&lt;li&gt;Removed support for 20.3&lt;/li&gt;
&lt;/ul&gt;
&lt;h3 id="november&amp;nbsp;2021_-_release_21.4"&gt;November&amp;nbsp;2021 - Release 21.4&lt;/h3&gt;
&lt;ul&gt;
&lt;li&gt;Enhancements
&lt;ul&gt;
&lt;li&gt;Support new card choice components&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;Bug Fixes
&lt;ul&gt;
&lt;li class="ql-indent-1"&gt;Update CVEs&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;h3 id="august&amp;nbsp;2021_-_release_21.3"&gt;August&amp;nbsp;2021 - Release 21.3&lt;/h3&gt;
&lt;ul&gt;
&lt;li&gt;Bug Fixes
&lt;ul&gt;
&lt;li class="ql-indent-1"&gt;Fix bug for radio button card&lt;/li&gt;
&lt;li class="ql-indent-1"&gt;Fix bug for date picker&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;h3 id="june_2021_-_release_21.2"&gt;June 2021 - Release 21.2&lt;/h3&gt;
&lt;ul&gt;
&lt;li&gt;Enhancements
&lt;ul&gt;
&lt;li class="ql-indent-1"&gt;Support new SectionLayout&lt;/li&gt;
&lt;li class="ql-indent-1"&gt;Upgrade Selenium Server to 3.141.59&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;Bug Fixes
&lt;ul&gt;
&lt;li class="ql-indent-1"&gt;Fix bug for radio button card&lt;/li&gt;
&lt;li class="ql-indent-1"&gt;Fix bug for icon link alt text&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;h3 id="march&amp;nbsp;2021_-_release_21.1"&gt;March&amp;nbsp;2021 - Release 21.1&lt;/h3&gt;
&lt;ul&gt;
&lt;li&gt;Appian Selenium API is released and supported&lt;/li&gt;
&lt;/ul&gt;
&lt;/div&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;

&lt;div style="font-size: 90%;"&gt;Tags: testing, Architecture&lt;/div&gt;
</description></item><item><title>Automated Testing with Appian Selenium API</title><link>https://community.appian.com/success/w/guide/3312/automated-testing-with-appian-selenium-api/revision/34</link><pubDate>Wed, 05 Mar 2025 20:51:00 GMT</pubDate><guid isPermaLink="false">d3a83456-d57b-489c-a84c-4e8267bb592a:af6be428-e229-4a89-9844-d99ca095396c</guid><dc:creator>Appian Max Team</dc:creator><comments>https://community.appian.com/success/w/guide/3312/automated-testing-with-appian-selenium-api#comments</comments><description>Revision 34 posted to Guide by Appian Max Team on 3/5/2025 8:51:00 PM&lt;br /&gt;
&lt;div style="margin:8px 16% 8px 8%;"&gt;
&lt;h2 id="requirements"&gt;Requirements&lt;/h2&gt;
&lt;ul style="font-size:110%;"&gt;
&lt;li&gt;Appian 22.2 and above&lt;/li&gt;
&lt;li&gt;Java Runtime Environment 11&lt;/li&gt;
&lt;li&gt;Chrome or Firefox browsers
&lt;div class="callout-box callout-info"&gt;If using Chrome, we recommend using &lt;a href="https://developer.chrome.com/blog/chrome-for-testing/"&gt;Chrome For Testing&lt;/a&gt; for a more consistent testing experience.&lt;/div&gt;
&lt;/li&gt;
&lt;li&gt;An IDE, such as IntelliJ IDEA or Eclipse&lt;/li&gt;
&lt;/ul&gt;
&lt;h2 id="setup"&gt;Setup&lt;/h2&gt;
&lt;p&gt;The &lt;a href="/b/appmarket/posts/appian_2d00_selenium_2d00_api"&gt;Appian Selenium API&lt;/a&gt; plug-in is a Java library which allows you to write automated tests for your Appian UIs. It contains methods which allow you to interact with Appian components in a browser. It provides methods and fixtures to interact with Appian applications in its various environments, e.g. Tempo or Sites. When writing tests, be sure to use methods from the correct fixture for the environment under test, e.g. use SitesFixture where possible to test Sites. Methods defined in fixtures that are intended for different environments are not guaranteed to work in future versions of the plugin.&lt;/p&gt;
&lt;p&gt;It can be used in a Java application or integrated directly into any Selenium or Java-based testing tool.&lt;/p&gt;
&lt;p&gt;Appian Selenium API contains the underlying Selenium methods used by &lt;a href="/b/appmarket/posts/cucumber-for-appian"&gt;Cucumber for Appian&lt;/a&gt; and &lt;a href="/b/appmarket/posts/fitnesse-for-appian"&gt;FitNesse for Appian&lt;/a&gt;, but offers you more flexibility by allowing you to define your own automated test cases. You can create your own Cucumber Step Definitions, your own testNG test, or the Java Framework of your choosing. You are no longer tied to Cucumber for Appian or FitNesse for Appian yet you get the same ease and simplicity of those respective frameworks.&lt;/p&gt;
&lt;ol style="font-size:110%;"&gt;
&lt;li&gt;Open this project in an IDE, such as IntelliJ IDEA or Eclipse.&lt;/li&gt;
&lt;li&gt;Update configurations:
&lt;ol&gt;
&lt;li&gt;&amp;nbsp;Open file &lt;strong&gt;configs/custom.properties&lt;/strong&gt;
&lt;ol&gt;
&lt;li&gt;Update &lt;strong&gt;automated.testing.hom&lt;/strong&gt;e with the path to this installation. Examples:
&lt;ol&gt;
&lt;li&gt;Windows: &lt;strong&gt;automated.testing.home=C:\\testFolder\\appian-selenium-api-example-java&lt;/strong&gt;&lt;/li&gt;
&lt;li&gt;Mac: &lt;strong&gt;automated.testing.home=/Users/tester/Desktop/appian-selenium-api-example-java&lt;/strong&gt;&lt;/li&gt;
&lt;/ol&gt;
&lt;/li&gt;
&lt;li&gt;Update &lt;strong&gt;chrome.driver.home&lt;/strong&gt; with the path to the Chrome driver that comes with this installation. Examples: * Windows: &lt;strong&gt;automated.testing.home=C:\\testFolder\\appian-selenium-api-example-java\\lib\\drivers\\chromedriver.exe&lt;/strong&gt; * Mac: &lt;strong&gt;automated.testing.home=/Users/tester/Desktop/appian-selenium-api-example-java/lib/drivers/chromedriver-mac&lt;/strong&gt;&lt;/li&gt;
&lt;/ol&gt;
&lt;/li&gt;
&lt;li&gt;Open file&lt;strong&gt; configs/users.properties&lt;/strong&gt;, for each username used in a test add a line in the format of &lt;strong&gt;&amp;lt;username&amp;gt;=&amp;lt;password&amp;gt;&lt;/strong&gt; to this file.
&lt;ol&gt;
&lt;li&gt;If you prefer not to disclose your password in plain text, you can also choose to use &lt;strong&gt;com.appiancorp.ps.automatedtest.fixture.BaseFixture.loginIntoWithUsernameAndPassword&lt;/strong&gt; fixture method to login by passing in the password from a system property value.&lt;/li&gt;
&lt;/ol&gt;
&lt;/li&gt;
&lt;/ol&gt;
&lt;/li&gt;
&lt;li&gt;Open &amp;quot;src/main/java/com/appiancorp/example/HelloAppian.java&amp;quot;:
&lt;ol&gt;
&lt;li&gt;Update &lt;strong&gt;TEST_SITE_URL&lt;/strong&gt; to your Appian URL, such as &lt;strong&gt;protected static String TEST_SITE_URL = &amp;quot;https://example.appiancloud.com/suite&amp;quot;;&lt;/strong&gt;&lt;/li&gt;
&lt;li&gt;Update &lt;strong&gt;TEST_USERNAME&lt;/strong&gt; with a username, such as &lt;strong&gt;protected static String TEST_USERNAME = &amp;quot;tester.tester&amp;quot;;&lt;/strong&gt; * Make sure this user exists in &lt;strong&gt;configs/users.properties&lt;/strong&gt;&lt;/li&gt;
&lt;/ol&gt;
&lt;/li&gt;
&lt;li&gt;Run the &lt;strong&gt;main()&lt;/strong&gt; method of this class:
&lt;ol&gt;
&lt;li&gt;&amp;nbsp;You should see that a Chrome browser will open up, and the fixture commands in &lt;strong&gt;HelloAppian.java&lt;/strong&gt; will execute accordingly.&lt;/li&gt;
&lt;li&gt;Note that this test will fail since your site might not have an action &amp;quot;Create a Case&amp;quot; under menu &amp;quot;Actions&amp;quot; that opens up an interface that has a &amp;quot;Submit&amp;quot; button.&lt;/li&gt;
&lt;/ol&gt;
&lt;/li&gt;
&lt;/ol&gt;
&lt;h2 id="features"&gt;Features&lt;/h2&gt;
&lt;p&gt;Multiple browser support&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;Chrome&lt;/li&gt;
&lt;li&gt;Firefox&lt;/li&gt;
&lt;/ul&gt;
&lt;h2 id="benefits"&gt;Benefits&lt;/h2&gt;
&lt;ul&gt;
&lt;li&gt;Define your own integration tests without being limited by a third-party testing tool&lt;/li&gt;
&lt;li&gt;Selenium-based test scripts can be created for reusability throughout test suites&lt;/li&gt;
&lt;li&gt;Methods created specifically to operate within Appian applications and Tempo&lt;/li&gt;
&lt;li&gt;Test scripts do not need to be updated when upgrading between supported Appian versions&lt;/li&gt;
&lt;li&gt;Test scripts are easily updated for new UI changes to a form or interface&lt;/li&gt;
&lt;li&gt;Appian design knowledge is not required to create test scripts&lt;/li&gt;
&lt;/ul&gt;
&lt;h2 id="release_notes"&gt;Release Notes&lt;/h2&gt;
&lt;h3 id="25.1"&gt;March 2025 - Release 25.1&lt;/h3&gt;
&lt;ul&gt;
&lt;li class="ql-indent-1"&gt;Enhancements
&lt;ul&gt;
&lt;li class="ql-indent-1"&gt;Added support for defining and using custom locales. Use create appian locale | PATH TO File. This method must be called after setting the version.&lt;br /&gt;
&lt;ul&gt;
&lt;li class="ql-indent-1"&gt;&lt;strong&gt;File must be JSON file with the format&lt;/strong&gt;:&amp;nbsp;{ &amp;quot;dateFormats&amp;quot;: [ { "label": "dateFormat", "value": &amp;lt;FORMAT_STRING&amp;gt; }, { "label": "dateDisplayFormat", "value": &amp;lt;FORMAT_STRING&amp;gt; }, { "label": "timeFormat", "value": &amp;lt;FORMAT_STRING&amp;gt; }, { "label": "timeDisplayFormat", "value": &amp;lt;FORMAT_STRING&amp;gt; }, { "label": "datetimeFormat", "value": &amp;lt;FORMAT_STRING&amp;gt; }, { "label": "datetimeDisplayFormat","value": &amp;lt;FORMAT_STRING&amp;gt; } ], &amp;quot;labels&amp;quot;: [ { "label": "acceptButton", "value": "Accept" } ], &amp;quot;locale&amp;quot;: &amp;lt;LOCALE_CODE&amp;gt; }&lt;!-- notionvc: a0caf744-193a-430a-a07c-8fec6fed1e37 --&gt;&lt;!-- notionvc: bac86f8d-84e2-4689-b153-1bb90e3d5c2e --&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li class="ql-indent-1"&gt;Bug Fixes
&lt;ul&gt;
&lt;li class="ql-indent-1"&gt;Fixed clickOnRecordRelatedAction to function correctly when the Record Summary page contains more than three action items.&lt;!-- notionvc: dd49e574-46f8-4e3a-8588-5e6b22f5c63a --&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;h3 id="24.3"&gt;August 2024 - Release 24.3&lt;/h3&gt;
&lt;ul&gt;
&lt;li class="ql-indent-1"&gt;Enhancements
&lt;ul&gt;
&lt;li class="ql-indent-1"&gt;Added built-in retry to click operation in case of element not interactable exception.&lt;/li&gt;
&lt;li class="ql-indent-1"&gt;Updated the milestone locator.&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;h3 id="24.2"&gt;June 2024 - Release 24.2&lt;/h3&gt;
&lt;ul&gt;
&lt;li class="ql-indent-1"&gt;Enhancements
&lt;ul&gt;
&lt;li class="ql-indent-1"&gt;Updated locator for site menu links&lt;/li&gt;
&lt;li class="ql-indent-1"&gt;Created method which supports clicking on text within an interface. This is particularly useful for nested cards such as tab layouts, but can also be used as a fallback when existing methods don&amp;#39;t work. This method is available for all Appian versions.&lt;/li&gt;
&lt;li class="ql-indent-1"&gt;Click operation on Card layout will be performed on the left side of the element instead of the right. We&amp;#39;re not expecting any impact on existing test cases.&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;h3 id="june&amp;nbsp;2023_-_release_23.2.1"&gt;March 2024 - Release 24.1&lt;/h3&gt;
&lt;ul&gt;
&lt;li class="ql-indent-1"&gt;Enhancements
&lt;ul&gt;
&lt;li style="font-weight:400;"&gt;&lt;span style="font-weight:400;"&gt;Support for Appian version 24.1&lt;/span&gt;&lt;/li&gt;
&lt;li style="font-weight:400;"&gt;Adds support for collapsing/opening sidebars&lt;/li&gt;
&lt;li style="font-weight:400;"&gt;ClickOnCard updated to support clicking on cards with complex content. For example, the method can now click on cards that have a component nested in multiple layouts within the card&lt;!--mce:protected %3C%21--mce%3Aprotected%20%253C%2521--mce%253Aprotected%2520%25253C%252521--%252520notionvc%25253A%252520c9bfab53-e4e1-4301-9c43-08f4d6f59a50%252520--%25253E--%253E--%3E--&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;h3 id="june&amp;nbsp;2023_-_release_23.2.1"&gt;November&amp;nbsp;2023 - Release 23.4&lt;/h3&gt;
&lt;ul&gt;
&lt;li class="ql-indent-1"&gt;&lt;strong&gt;NOTE&lt;/strong&gt;: &lt;span style="font-weight:400;"&gt;Project has been updated to require Java 11 JRE&lt;/span&gt;&lt;/li&gt;
&lt;li class="ql-indent-1"&gt;Enhancements
&lt;ul&gt;
&lt;li style="font-weight:400;"&gt;&lt;span style="font-weight:400;"&gt;Support for Appian version 23.4&lt;/span&gt;&lt;/li&gt;
&lt;li style="font-weight:400;"&gt;&lt;span style="font-weight:400;"&gt;Add support for the side navigation menu in sites&lt;/span&gt;&lt;/li&gt;
&lt;li style="font-weight:400;"&gt;&lt;span style="font-weight:400;"&gt;Add support for downloading charts&lt;/span&gt;&lt;/li&gt;
&lt;li style="font-weight:400;"&gt;&lt;span style="font-weight:400;"&gt;Add support for buttons configured with custom colors&lt;/span&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;Bug Fixes
&lt;ul&gt;
&lt;li style="font-weight:400;"&gt;&lt;span style="font-weight:400;"&gt;Honor the download directory given in custom.properties for Remote Drivers&lt;/span&gt;&lt;/li&gt;
&lt;li style="font-weight:400;"&gt;&lt;span style="font-weight:400;"&gt;Update dropdowns for versions greater than 23.3 to ignore the aria-checked value&lt;/span&gt;&lt;/li&gt;
&lt;li style="font-weight:400;"&gt;&lt;span style="font-weight:400;"&gt;Fixed Populate Record Type Data Range User Filter method&lt;/span&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;h3 id="june&amp;nbsp;2023_-_release_23.2.1"&gt;August 2023 - Release 23.3&lt;/h3&gt;
&lt;ul&gt;
&lt;li class="ql-indent-1"&gt;&lt;strong&gt;NOTE&lt;/strong&gt;: &lt;span style="font-weight:400;"&gt;Project has been updated to require Java 11 JRE&lt;/span&gt;&lt;/li&gt;
&lt;li class="ql-indent-1"&gt;Enhancements
&lt;ul&gt;
&lt;li style="font-weight:400;"&gt;&lt;span style="font-weight:400;"&gt;Supports Appian version 23.3&lt;/span&gt;&lt;/li&gt;
&lt;li style="font-weight:400;"&gt;&lt;span style="font-weight:400;"&gt;Added functionality to interact with new site group headers&lt;/span&gt;&lt;/li&gt;
&lt;li style="font-weight:400;"&gt;&lt;span style="font-weight:400;"&gt;Updated to Selenium 4.11.0&lt;/span&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;Bug Fixes
&lt;ul&gt;
&lt;li style="font-weight:400;"&gt;&lt;span style="font-weight:400;"&gt;Update checkboxes to support CARD style for 23.3 and later Appian versions&lt;/span&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;h3 id="june&amp;nbsp;2023_-_release_23.2.1"&gt;June&amp;nbsp;2023 - Release 23.2.1&lt;/h3&gt;
&lt;ul&gt;
&lt;li class="ql-indent-1"&gt;&lt;strong&gt;NOTE&lt;/strong&gt;: Updates to site navigation in the 23.2 product breaks the use of the clickOnMenu method defined in TempoFixtures for site environments. clickOnMenu, and other navigation methods defined in TempoFixtures, are guaranteed&amp;nbsp;to work only in Tempo environments. Use the clickOnSitePage method defined in SitesFixtures instead&lt;/li&gt;
&lt;li&gt;Bug Fixes
&lt;ul&gt;
&lt;li&gt;Update pickers to recognize selections with links (e.g. Record Pickers)&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;h3 id="june&amp;nbsp;2023_-_release_23.2"&gt;June&amp;nbsp;2023 - Release 23.2&lt;/h3&gt;
&lt;ul&gt;
&lt;li&gt;Enhancements
&lt;ul&gt;
&lt;li class="ql-indent-1"&gt;Supports Appian version 23.2
&lt;ul&gt;
&lt;li class="ql-indent-1"&gt;&lt;strong&gt;NOTE&lt;/strong&gt;: Updates to site navigation in the 23.2 product breaks the use of the clickOnMenu method defined in TempoFixtures for site environments. clickOnMenu, and other navigation methods defined in TempoFixtures, are guaranteed&amp;nbsp;to work only in Tempo environments. Use the clickOnSitePage method defined in SitesFixtures instead&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;h3 id="may_2023_-_release_23.1.2"&gt;May 2023 - Release 23.1.2&lt;/h3&gt;
&lt;ul&gt;
&lt;li&gt;Bug Fixes
&lt;ul&gt;
&lt;li&gt;Fixes an issue where Dropdowns with Search were not working&lt;/li&gt;
&lt;li&gt;Fixes an Issue where verifyText did not work on multi-node components&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;h3 id="february_2023_-_release_23.1"&gt;February 2023 - Release 23.1&lt;/h3&gt;
&lt;ul&gt;
&lt;li&gt;Enhancements
&lt;ul&gt;
&lt;li&gt;Supports Appian version 23.1&lt;/li&gt;
&lt;li&gt;Updated locator for Dropdown class&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;Bug Fixes
&lt;ul&gt;
&lt;li&gt;Update CVEs&lt;/li&gt;
&lt;li&gt;Update scripts (start.bat, start-mac.sh, start-unix.sh, runFitNesseTest.sh) to reference the new fitnesse-20221219-standalone.jar&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;h3 id="august&amp;nbsp;2022_-_release_22.3"&gt;August&amp;nbsp;2022 - Release 22.3&lt;/h3&gt;
&lt;ul&gt;
&lt;li&gt;Appian Selenium API is released and supported&lt;/li&gt;
&lt;li&gt;Removed support for 20.3&lt;/li&gt;
&lt;/ul&gt;
&lt;h3 id="november&amp;nbsp;2021_-_release_21.4"&gt;November&amp;nbsp;2021 - Release 21.4&lt;/h3&gt;
&lt;ul&gt;
&lt;li&gt;Enhancements
&lt;ul&gt;
&lt;li&gt;Support new card choice components&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;Bug Fixes
&lt;ul&gt;
&lt;li class="ql-indent-1"&gt;Update CVEs&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;h3 id="august&amp;nbsp;2021_-_release_21.3"&gt;August&amp;nbsp;2021 - Release 21.3&lt;/h3&gt;
&lt;ul&gt;
&lt;li&gt;Bug Fixes
&lt;ul&gt;
&lt;li class="ql-indent-1"&gt;Fix bug for radio button card&lt;/li&gt;
&lt;li class="ql-indent-1"&gt;Fix bug for date picker&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;h3 id="june_2021_-_release_21.2"&gt;June 2021 - Release 21.2&lt;/h3&gt;
&lt;ul&gt;
&lt;li&gt;Enhancements
&lt;ul&gt;
&lt;li class="ql-indent-1"&gt;Support new SectionLayout&lt;/li&gt;
&lt;li class="ql-indent-1"&gt;Upgrade Selenium Server to 3.141.59&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;Bug Fixes
&lt;ul&gt;
&lt;li class="ql-indent-1"&gt;Fix bug for radio button card&lt;/li&gt;
&lt;li class="ql-indent-1"&gt;Fix bug for icon link alt text&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;h3 id="march&amp;nbsp;2021_-_release_21.1"&gt;March&amp;nbsp;2021 - Release 21.1&lt;/h3&gt;
&lt;ul&gt;
&lt;li&gt;Appian Selenium API is released and supported&lt;/li&gt;
&lt;/ul&gt;
&lt;/div&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;

&lt;div style="font-size: 90%;"&gt;Tags: testing, Architecture&lt;/div&gt;
</description></item><item><title>Automated Testing with Appian Selenium API</title><link>https://community.appian.com/success/w/guide/3312/automated-testing-with-appian-selenium-api/revision/33</link><pubDate>Wed, 05 Mar 2025 20:48:14 GMT</pubDate><guid isPermaLink="false">d3a83456-d57b-489c-a84c-4e8267bb592a:af6be428-e229-4a89-9844-d99ca095396c</guid><dc:creator>Appian Max Team</dc:creator><comments>https://community.appian.com/success/w/guide/3312/automated-testing-with-appian-selenium-api#comments</comments><description>Revision 33 posted to Guide by Appian Max Team on 3/5/2025 8:48:14 PM&lt;br /&gt;
&lt;div style="margin:8px 16% 8px 8%;"&gt;
&lt;h2 id="requirements"&gt;Requirements&lt;/h2&gt;
&lt;ul style="font-size:110%;"&gt;
&lt;li&gt;Appian 22.2 and above&lt;/li&gt;
&lt;li&gt;Java Runtime Environment 11&lt;/li&gt;
&lt;li&gt;Chrome or Firefox browsers
&lt;div class="callout-box callout-info"&gt;If using Chrome, we recommend using &lt;a href="https://developer.chrome.com/blog/chrome-for-testing/"&gt;Chrome For Testing&lt;/a&gt; for a more consistent testing experience.&lt;/div&gt;
&lt;/li&gt;
&lt;li&gt;An IDE, such as IntelliJ IDEA or Eclipse&lt;/li&gt;
&lt;/ul&gt;
&lt;h2 id="setup"&gt;Setup&lt;/h2&gt;
&lt;p&gt;The &lt;a href="/b/appmarket/posts/appian_2d00_selenium_2d00_api"&gt;Appian Selenium API&lt;/a&gt; plug-in is a Java library which allows you to write automated tests for your Appian UIs. It contains methods which allow you to interact with Appian components in a browser. It provides methods and fixtures to interact with Appian applications in its various environments, e.g. Tempo or Sites. When writing tests, be sure to use methods from the correct fixture for the environment under test, e.g. use SitesFixture where possible to test Sites. Methods defined in fixtures that are intended for different environments are not guaranteed to work in future versions of the plugin.&lt;/p&gt;
&lt;p&gt;It can be used in a Java application or integrated directly into any Selenium or Java-based testing tool.&lt;/p&gt;
&lt;p&gt;Appian Selenium API contains the underlying Selenium methods used by &lt;a href="/b/appmarket/posts/cucumber-for-appian"&gt;Cucumber for Appian&lt;/a&gt; and &lt;a href="/b/appmarket/posts/fitnesse-for-appian"&gt;FitNesse for Appian&lt;/a&gt;, but offers you more flexibility by allowing you to define your own automated test cases. You can create your own Cucumber Step Definitions, your own testNG test, or the Java Framework of your choosing. You are no longer tied to Cucumber for Appian or FitNesse for Appian yet you get the same ease and simplicity of those respective frameworks.&lt;/p&gt;
&lt;ol style="font-size:110%;"&gt;
&lt;li&gt;Open this project in an IDE, such as IntelliJ IDEA or Eclipse.&lt;/li&gt;
&lt;li&gt;Update configurations:
&lt;ol&gt;
&lt;li&gt;&amp;nbsp;Open file &lt;strong&gt;configs/custom.properties&lt;/strong&gt;
&lt;ol&gt;
&lt;li&gt;Update &lt;strong&gt;automated.testing.hom&lt;/strong&gt;e with the path to this installation. Examples:
&lt;ol&gt;
&lt;li&gt;Windows: &lt;strong&gt;automated.testing.home=C:\\testFolder\\appian-selenium-api-example-java&lt;/strong&gt;&lt;/li&gt;
&lt;li&gt;Mac: &lt;strong&gt;automated.testing.home=/Users/tester/Desktop/appian-selenium-api-example-java&lt;/strong&gt;&lt;/li&gt;
&lt;/ol&gt;
&lt;/li&gt;
&lt;li&gt;Update &lt;strong&gt;chrome.driver.home&lt;/strong&gt; with the path to the Chrome driver that comes with this installation. Examples: * Windows: &lt;strong&gt;automated.testing.home=C:\\testFolder\\appian-selenium-api-example-java\\lib\\drivers\\chromedriver.exe&lt;/strong&gt; * Mac: &lt;strong&gt;automated.testing.home=/Users/tester/Desktop/appian-selenium-api-example-java/lib/drivers/chromedriver-mac&lt;/strong&gt;&lt;/li&gt;
&lt;/ol&gt;
&lt;/li&gt;
&lt;li&gt;Open file&lt;strong&gt; configs/users.properties&lt;/strong&gt;, for each username used in a test add a line in the format of &lt;strong&gt;&amp;lt;username&amp;gt;=&amp;lt;password&amp;gt;&lt;/strong&gt; to this file.
&lt;ol&gt;
&lt;li&gt;If you prefer not to disclose your password in plain text, you can also choose to use &lt;strong&gt;com.appiancorp.ps.automatedtest.fixture.BaseFixture.loginIntoWithUsernameAndPassword&lt;/strong&gt; fixture method to login by passing in the password from a system property value.&lt;/li&gt;
&lt;/ol&gt;
&lt;/li&gt;
&lt;/ol&gt;
&lt;/li&gt;
&lt;li&gt;Open &amp;quot;src/main/java/com/appiancorp/example/HelloAppian.java&amp;quot;:
&lt;ol&gt;
&lt;li&gt;Update &lt;strong&gt;TEST_SITE_URL&lt;/strong&gt; to your Appian URL, such as &lt;strong&gt;protected static String TEST_SITE_URL = &amp;quot;https://example.appiancloud.com/suite&amp;quot;;&lt;/strong&gt;&lt;/li&gt;
&lt;li&gt;Update &lt;strong&gt;TEST_USERNAME&lt;/strong&gt; with a username, such as &lt;strong&gt;protected static String TEST_USERNAME = &amp;quot;tester.tester&amp;quot;;&lt;/strong&gt; * Make sure this user exists in &lt;strong&gt;configs/users.properties&lt;/strong&gt;&lt;/li&gt;
&lt;/ol&gt;
&lt;/li&gt;
&lt;li&gt;Run the &lt;strong&gt;main()&lt;/strong&gt; method of this class:
&lt;ol&gt;
&lt;li&gt;&amp;nbsp;You should see that a Chrome browser will open up, and the fixture commands in &lt;strong&gt;HelloAppian.java&lt;/strong&gt; will execute accordingly.&lt;/li&gt;
&lt;li&gt;Note that this test will fail since your site might not have an action &amp;quot;Create a Case&amp;quot; under menu &amp;quot;Actions&amp;quot; that opens up an interface that has a &amp;quot;Submit&amp;quot; button.&lt;/li&gt;
&lt;/ol&gt;
&lt;/li&gt;
&lt;/ol&gt;
&lt;h2 id="features"&gt;Features&lt;/h2&gt;
&lt;p&gt;Multiple browser support&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;Chrome&lt;/li&gt;
&lt;li&gt;Firefox&lt;/li&gt;
&lt;/ul&gt;
&lt;h2 id="benefits"&gt;Benefits&lt;/h2&gt;
&lt;ul&gt;
&lt;li&gt;Define your own integration tests without being limited by a third-party testing tool&lt;/li&gt;
&lt;li&gt;Selenium-based test scripts can be created for reusability throughout test suites&lt;/li&gt;
&lt;li&gt;Methods created specifically to operate within Appian applications and Tempo&lt;/li&gt;
&lt;li&gt;Test scripts do not need to be updated when upgrading between supported Appian versions&lt;/li&gt;
&lt;li&gt;Test scripts are easily updated for new UI changes to a form or interface&lt;/li&gt;
&lt;li&gt;Appian design knowledge is not required to create test scripts&lt;/li&gt;
&lt;/ul&gt;
&lt;h2 id="release_notes"&gt;Release Notes&lt;/h2&gt;
&lt;h3 id="25.1"&gt;March 2025 - Release 25.1&lt;/h3&gt;
&lt;ul&gt;
&lt;li class="ql-indent-1"&gt;Enhancements
&lt;ul&gt;
&lt;li class="ql-indent-1"&gt;Added support for defining and using custom locales. Use create appian locale | PATH TO File. This method must be called after setting the version.&lt;br /&gt;
&lt;ul&gt;
&lt;li class="ql-indent-1"&gt;File must be JSON file with the format:&amp;nbsp;{ &amp;quot;dateFormats&amp;quot;: [ { "label": "dateFormat", "value": &amp;lt;FORMAT_STRING&amp;gt; }, { "label": "dateDisplayFormat", "value": &amp;lt;FORMAT_STRING&amp;gt; }, { "label": "timeFormat", "value": &amp;lt;FORMAT_STRING&amp;gt; }, { "label": "timeDisplayFormat", "value": &amp;lt;FORMAT_STRING&amp;gt; }, { "label": "datetimeFormat", "value": &amp;lt;FORMAT_STRING&amp;gt; }, { "label": "datetimeDisplayFormat","value": &amp;lt;FORMAT_STRING&amp;gt; } ], &amp;quot;labels&amp;quot;: [ { "label": "acceptButton", "value": "Accept" } ], &amp;quot;locale&amp;quot;: &amp;lt;LOCALE_CODE&amp;gt; }&lt;!-- notionvc: a0caf744-193a-430a-a07c-8fec6fed1e37 --&gt;&lt;!-- notionvc: bac86f8d-84e2-4689-b153-1bb90e3d5c2e --&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;h3 id="24.3"&gt;August 2024 - Release 24.3&lt;/h3&gt;
&lt;ul&gt;
&lt;li class="ql-indent-1"&gt;Enhancements
&lt;ul&gt;
&lt;li class="ql-indent-1"&gt;Added built-in retry to click operation in case of element not interactable exception.&lt;/li&gt;
&lt;li class="ql-indent-1"&gt;Updated the milestone locator.&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;h3 id="24.2"&gt;June 2024 - Release 24.2&lt;/h3&gt;
&lt;ul&gt;
&lt;li class="ql-indent-1"&gt;Enhancements
&lt;ul&gt;
&lt;li class="ql-indent-1"&gt;Updated locator for site menu links&lt;/li&gt;
&lt;li class="ql-indent-1"&gt;Created method which supports clicking on text within an interface. This is particularly useful for nested cards such as tab layouts, but can also be used as a fallback when existing methods don&amp;#39;t work. This method is available for all Appian versions.&lt;/li&gt;
&lt;li class="ql-indent-1"&gt;Click operation on Card layout will be performed on the left side of the element instead of the right. We&amp;#39;re not expecting any impact on existing test cases.&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;h3 id="june&amp;nbsp;2023_-_release_23.2.1"&gt;March 2024 - Release 24.1&lt;/h3&gt;
&lt;ul&gt;
&lt;li class="ql-indent-1"&gt;Enhancements
&lt;ul&gt;
&lt;li style="font-weight:400;"&gt;&lt;span style="font-weight:400;"&gt;Support for Appian version 24.1&lt;/span&gt;&lt;/li&gt;
&lt;li style="font-weight:400;"&gt;Adds support for collapsing/opening sidebars&lt;/li&gt;
&lt;li style="font-weight:400;"&gt;ClickOnCard updated to support clicking on cards with complex content. For example, the method can now click on cards that have a component nested in multiple layouts within the card&lt;!--mce:protected %3C%21--mce%3Aprotected%20%253C%2521--mce%253Aprotected%2520%25253C%252521--%252520notionvc%25253A%252520c9bfab53-e4e1-4301-9c43-08f4d6f59a50%252520--%25253E--%253E--%3E--&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;h3 id="june&amp;nbsp;2023_-_release_23.2.1"&gt;November&amp;nbsp;2023 - Release 23.4&lt;/h3&gt;
&lt;ul&gt;
&lt;li class="ql-indent-1"&gt;&lt;strong&gt;NOTE&lt;/strong&gt;: &lt;span style="font-weight:400;"&gt;Project has been updated to require Java 11 JRE&lt;/span&gt;&lt;/li&gt;
&lt;li class="ql-indent-1"&gt;Enhancements
&lt;ul&gt;
&lt;li style="font-weight:400;"&gt;&lt;span style="font-weight:400;"&gt;Support for Appian version 23.4&lt;/span&gt;&lt;/li&gt;
&lt;li style="font-weight:400;"&gt;&lt;span style="font-weight:400;"&gt;Add support for the side navigation menu in sites&lt;/span&gt;&lt;/li&gt;
&lt;li style="font-weight:400;"&gt;&lt;span style="font-weight:400;"&gt;Add support for downloading charts&lt;/span&gt;&lt;/li&gt;
&lt;li style="font-weight:400;"&gt;&lt;span style="font-weight:400;"&gt;Add support for buttons configured with custom colors&lt;/span&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;Bug Fixes
&lt;ul&gt;
&lt;li style="font-weight:400;"&gt;&lt;span style="font-weight:400;"&gt;Honor the download directory given in custom.properties for Remote Drivers&lt;/span&gt;&lt;/li&gt;
&lt;li style="font-weight:400;"&gt;&lt;span style="font-weight:400;"&gt;Update dropdowns for versions greater than 23.3 to ignore the aria-checked value&lt;/span&gt;&lt;/li&gt;
&lt;li style="font-weight:400;"&gt;&lt;span style="font-weight:400;"&gt;Fixed Populate Record Type Data Range User Filter method&lt;/span&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;h3 id="june&amp;nbsp;2023_-_release_23.2.1"&gt;August 2023 - Release 23.3&lt;/h3&gt;
&lt;ul&gt;
&lt;li class="ql-indent-1"&gt;&lt;strong&gt;NOTE&lt;/strong&gt;: &lt;span style="font-weight:400;"&gt;Project has been updated to require Java 11 JRE&lt;/span&gt;&lt;/li&gt;
&lt;li class="ql-indent-1"&gt;Enhancements
&lt;ul&gt;
&lt;li style="font-weight:400;"&gt;&lt;span style="font-weight:400;"&gt;Supports Appian version 23.3&lt;/span&gt;&lt;/li&gt;
&lt;li style="font-weight:400;"&gt;&lt;span style="font-weight:400;"&gt;Added functionality to interact with new site group headers&lt;/span&gt;&lt;/li&gt;
&lt;li style="font-weight:400;"&gt;&lt;span style="font-weight:400;"&gt;Updated to Selenium 4.11.0&lt;/span&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;Bug Fixes
&lt;ul&gt;
&lt;li style="font-weight:400;"&gt;&lt;span style="font-weight:400;"&gt;Update checkboxes to support CARD style for 23.3 and later Appian versions&lt;/span&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;h3 id="june&amp;nbsp;2023_-_release_23.2.1"&gt;June&amp;nbsp;2023 - Release 23.2.1&lt;/h3&gt;
&lt;ul&gt;
&lt;li class="ql-indent-1"&gt;&lt;strong&gt;NOTE&lt;/strong&gt;: Updates to site navigation in the 23.2 product breaks the use of the clickOnMenu method defined in TempoFixtures for site environments. clickOnMenu, and other navigation methods defined in TempoFixtures, are guaranteed&amp;nbsp;to work only in Tempo environments. Use the clickOnSitePage method defined in SitesFixtures instead&lt;/li&gt;
&lt;li&gt;Bug Fixes
&lt;ul&gt;
&lt;li&gt;Update pickers to recognize selections with links (e.g. Record Pickers)&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;h3 id="june&amp;nbsp;2023_-_release_23.2"&gt;June&amp;nbsp;2023 - Release 23.2&lt;/h3&gt;
&lt;ul&gt;
&lt;li&gt;Enhancements
&lt;ul&gt;
&lt;li class="ql-indent-1"&gt;Supports Appian version 23.2
&lt;ul&gt;
&lt;li class="ql-indent-1"&gt;&lt;strong&gt;NOTE&lt;/strong&gt;: Updates to site navigation in the 23.2 product breaks the use of the clickOnMenu method defined in TempoFixtures for site environments. clickOnMenu, and other navigation methods defined in TempoFixtures, are guaranteed&amp;nbsp;to work only in Tempo environments. Use the clickOnSitePage method defined in SitesFixtures instead&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;h3 id="may_2023_-_release_23.1.2"&gt;May 2023 - Release 23.1.2&lt;/h3&gt;
&lt;ul&gt;
&lt;li&gt;Bug Fixes
&lt;ul&gt;
&lt;li&gt;Fixes an issue where Dropdowns with Search were not working&lt;/li&gt;
&lt;li&gt;Fixes an Issue where verifyText did not work on multi-node components&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;h3 id="february_2023_-_release_23.1"&gt;February 2023 - Release 23.1&lt;/h3&gt;
&lt;ul&gt;
&lt;li&gt;Enhancements
&lt;ul&gt;
&lt;li&gt;Supports Appian version 23.1&lt;/li&gt;
&lt;li&gt;Updated locator for Dropdown class&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;Bug Fixes
&lt;ul&gt;
&lt;li&gt;Update CVEs&lt;/li&gt;
&lt;li&gt;Update scripts (start.bat, start-mac.sh, start-unix.sh, runFitNesseTest.sh) to reference the new fitnesse-20221219-standalone.jar&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;h3 id="august&amp;nbsp;2022_-_release_22.3"&gt;August&amp;nbsp;2022 - Release 22.3&lt;/h3&gt;
&lt;ul&gt;
&lt;li&gt;Appian Selenium API is released and supported&lt;/li&gt;
&lt;li&gt;Removed support for 20.3&lt;/li&gt;
&lt;/ul&gt;
&lt;h3 id="november&amp;nbsp;2021_-_release_21.4"&gt;November&amp;nbsp;2021 - Release 21.4&lt;/h3&gt;
&lt;ul&gt;
&lt;li&gt;Enhancements
&lt;ul&gt;
&lt;li&gt;Support new card choice components&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;Bug Fixes
&lt;ul&gt;
&lt;li class="ql-indent-1"&gt;Update CVEs&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;h3 id="august&amp;nbsp;2021_-_release_21.3"&gt;August&amp;nbsp;2021 - Release 21.3&lt;/h3&gt;
&lt;ul&gt;
&lt;li&gt;Bug Fixes
&lt;ul&gt;
&lt;li class="ql-indent-1"&gt;Fix bug for radio button card&lt;/li&gt;
&lt;li class="ql-indent-1"&gt;Fix bug for date picker&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;h3 id="june_2021_-_release_21.2"&gt;June 2021 - Release 21.2&lt;/h3&gt;
&lt;ul&gt;
&lt;li&gt;Enhancements
&lt;ul&gt;
&lt;li class="ql-indent-1"&gt;Support new SectionLayout&lt;/li&gt;
&lt;li class="ql-indent-1"&gt;Upgrade Selenium Server to 3.141.59&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;Bug Fixes
&lt;ul&gt;
&lt;li class="ql-indent-1"&gt;Fix bug for radio button card&lt;/li&gt;
&lt;li class="ql-indent-1"&gt;Fix bug for icon link alt text&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;h3 id="march&amp;nbsp;2021_-_release_21.1"&gt;March&amp;nbsp;2021 - Release 21.1&lt;/h3&gt;
&lt;ul&gt;
&lt;li&gt;Appian Selenium API is released and supported&lt;/li&gt;
&lt;/ul&gt;
&lt;/div&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;

&lt;div style="font-size: 90%;"&gt;Tags: testing, Architecture&lt;/div&gt;
</description></item><item><title>Automated Testing with Appian Selenium API</title><link>https://community.appian.com/success/w/guide/3312/automated-testing-with-appian-selenium-api/revision/32</link><pubDate>Tue, 03 Sep 2024 15:29:20 GMT</pubDate><guid isPermaLink="false">d3a83456-d57b-489c-a84c-4e8267bb592a:af6be428-e229-4a89-9844-d99ca095396c</guid><dc:creator>joel.larin</dc:creator><comments>https://community.appian.com/success/w/guide/3312/automated-testing-with-appian-selenium-api#comments</comments><description>Revision 32 posted to Guide by joel.larin on 9/3/2024 3:29:20 PM&lt;br /&gt;
&lt;div style="margin:8px 16% 8px 8%;"&gt;
&lt;h2 id="requirements"&gt;Requirements&lt;/h2&gt;
&lt;ul style="font-size:110%;"&gt;
&lt;li&gt;Appian 22.2 and above&lt;/li&gt;
&lt;li&gt;Java Runtime Environment 11&lt;/li&gt;
&lt;li&gt;Chrome or Firefox browsers
&lt;div class="callout-box callout-info"&gt;If using Chrome, we recommend using &lt;a href="https://developer.chrome.com/blog/chrome-for-testing/"&gt;Chrome For Testing&lt;/a&gt; for a more consistent testing experience.&lt;/div&gt;
&lt;/li&gt;
&lt;li&gt;An IDE, such as IntelliJ IDEA or Eclipse&lt;/li&gt;
&lt;/ul&gt;
&lt;h2 id="setup"&gt;Setup&lt;/h2&gt;
&lt;p&gt;The &lt;a href="/b/appmarket/posts/appian_2d00_selenium_2d00_api"&gt;Appian Selenium API&lt;/a&gt; plug-in is a Java library which allows you to write automated tests for your Appian UIs. It contains methods which allow you to interact with Appian components in a browser. It provides methods and fixtures to interact with Appian applications in its various environments, e.g. Tempo or Sites. When writing tests, be sure to use methods from the correct fixture for the environment under test, e.g. use SitesFixture where possible to test Sites. Methods defined in fixtures that are intended for different environments are not guaranteed to work in future versions of the plugin.&lt;/p&gt;
&lt;p&gt;It can be used in a Java application or integrated directly into any Selenium or Java-based testing tool.&lt;/p&gt;
&lt;p&gt;Appian Selenium API contains the underlying Selenium methods used by &lt;a href="/b/appmarket/posts/cucumber-for-appian"&gt;Cucumber for Appian&lt;/a&gt; and &lt;a href="/b/appmarket/posts/fitnesse-for-appian"&gt;FitNesse for Appian&lt;/a&gt;, but offers you more flexibility by allowing you to define your own automated test cases. You can create your own Cucumber Step Definitions, your own testNG test, or the Java Framework of your choosing. You are no longer tied to Cucumber for Appian or FitNesse for Appian yet you get the same ease and simplicity of those respective frameworks.&lt;/p&gt;
&lt;ol style="font-size:110%;"&gt;
&lt;li&gt;Open this project in an IDE, such as IntelliJ IDEA or Eclipse.&lt;/li&gt;
&lt;li&gt;Update configurations:
&lt;ol&gt;
&lt;li&gt;&amp;nbsp;Open file &lt;strong&gt;configs/custom.properties&lt;/strong&gt;
&lt;ol&gt;
&lt;li&gt;Update &lt;strong&gt;automated.testing.hom&lt;/strong&gt;e with the path to this installation. Examples:
&lt;ol&gt;
&lt;li&gt;Windows: &lt;strong&gt;automated.testing.home=C:\\testFolder\\appian-selenium-api-example-java&lt;/strong&gt;&lt;/li&gt;
&lt;li&gt;Mac: &lt;strong&gt;automated.testing.home=/Users/tester/Desktop/appian-selenium-api-example-java&lt;/strong&gt;&lt;/li&gt;
&lt;/ol&gt;
&lt;/li&gt;
&lt;li&gt;Update &lt;strong&gt;chrome.driver.home&lt;/strong&gt; with the path to the Chrome driver that comes with this installation. Examples: * Windows: &lt;strong&gt;automated.testing.home=C:\\testFolder\\appian-selenium-api-example-java\\lib\\drivers\\chromedriver.exe&lt;/strong&gt; * Mac: &lt;strong&gt;automated.testing.home=/Users/tester/Desktop/appian-selenium-api-example-java/lib/drivers/chromedriver-mac&lt;/strong&gt;&lt;/li&gt;
&lt;/ol&gt;
&lt;/li&gt;
&lt;li&gt;Open file&lt;strong&gt; configs/users.properties&lt;/strong&gt;, for each username used in a test add a line in the format of &lt;strong&gt;&amp;lt;username&amp;gt;=&amp;lt;password&amp;gt;&lt;/strong&gt; to this file.
&lt;ol&gt;
&lt;li&gt;If you prefer not to disclose your password in plain text, you can also choose to use &lt;strong&gt;com.appiancorp.ps.automatedtest.fixture.BaseFixture.loginIntoWithUsernameAndPassword&lt;/strong&gt; fixture method to login by passing in the password from a system property value.&lt;/li&gt;
&lt;/ol&gt;
&lt;/li&gt;
&lt;/ol&gt;
&lt;/li&gt;
&lt;li&gt;Open &amp;quot;src/main/java/com/appiancorp/example/HelloAppian.java&amp;quot;:
&lt;ol&gt;
&lt;li&gt;Update &lt;strong&gt;TEST_SITE_URL&lt;/strong&gt; to your Appian URL, such as &lt;strong&gt;protected static String TEST_SITE_URL = &amp;quot;https://example.appiancloud.com/suite&amp;quot;;&lt;/strong&gt;&lt;/li&gt;
&lt;li&gt;Update &lt;strong&gt;TEST_USERNAME&lt;/strong&gt; with a username, such as &lt;strong&gt;protected static String TEST_USERNAME = &amp;quot;tester.tester&amp;quot;;&lt;/strong&gt; * Make sure this user exists in &lt;strong&gt;configs/users.properties&lt;/strong&gt;&lt;/li&gt;
&lt;/ol&gt;
&lt;/li&gt;
&lt;li&gt;Run the &lt;strong&gt;main()&lt;/strong&gt; method of this class:
&lt;ol&gt;
&lt;li&gt;&amp;nbsp;You should see that a Chrome browser will open up, and the fixture commands in &lt;strong&gt;HelloAppian.java&lt;/strong&gt; will execute accordingly.&lt;/li&gt;
&lt;li&gt;Note that this test will fail since your site might not have an action &amp;quot;Create a Case&amp;quot; under menu &amp;quot;Actions&amp;quot; that opens up an interface that has a &amp;quot;Submit&amp;quot; button.&lt;/li&gt;
&lt;/ol&gt;
&lt;/li&gt;
&lt;/ol&gt;
&lt;h2 id="features"&gt;Features&lt;/h2&gt;
&lt;p&gt;Multiple browser support&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;Chrome&lt;/li&gt;
&lt;li&gt;Firefox&lt;/li&gt;
&lt;/ul&gt;
&lt;h2 id="benefits"&gt;Benefits&lt;/h2&gt;
&lt;ul&gt;
&lt;li&gt;Define your own integration tests without being limited by a third-party testing tool&lt;/li&gt;
&lt;li&gt;Selenium-based test scripts can be created for reusability throughout test suites&lt;/li&gt;
&lt;li&gt;Methods created specifically to operate within Appian applications and Tempo&lt;/li&gt;
&lt;li&gt;Test scripts do not need to be updated when upgrading between supported Appian versions&lt;/li&gt;
&lt;li&gt;Test scripts are easily updated for new UI changes to a form or interface&lt;/li&gt;
&lt;li&gt;Appian design knowledge is not required to create test scripts&lt;/li&gt;
&lt;/ul&gt;
&lt;h2 id="release_notes"&gt;Release Notes&lt;/h2&gt;
&lt;h3 id="24.3"&gt;August 2024 - Release 24.3&lt;/h3&gt;
&lt;ul&gt;
&lt;li class="ql-indent-1"&gt;Enhancements
&lt;ul&gt;
&lt;li class="ql-indent-1"&gt;Added built-in retry to click operation in case of element not interactable exception.&lt;/li&gt;
&lt;li class="ql-indent-1"&gt;Updated the milestone locator.&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;h3 id="24.2"&gt;June 2024 - Release 24.2&lt;/h3&gt;
&lt;ul&gt;
&lt;li class="ql-indent-1"&gt;Enhancements
&lt;ul&gt;
&lt;li class="ql-indent-1"&gt;Updated locator for site menu links&lt;/li&gt;
&lt;li class="ql-indent-1"&gt;Created method which supports clicking on text within an interface. This is particularly useful for nested cards such as tab layouts, but can also be used as a fallback when existing methods don&amp;#39;t work. This method is available for all Appian versions.&lt;/li&gt;
&lt;li class="ql-indent-1"&gt;Click operation on Card layout will be performed on the left side of the element instead of the right. We&amp;#39;re not expecting any impact on existing test cases.&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;h3 id="june&amp;nbsp;2023_-_release_23.2.1"&gt;March 2024 - Release 24.1&lt;/h3&gt;
&lt;ul&gt;
&lt;li class="ql-indent-1"&gt;Enhancements
&lt;ul&gt;
&lt;li style="font-weight:400;"&gt;&lt;span style="font-weight:400;"&gt;Support for Appian version 24.1&lt;/span&gt;&lt;/li&gt;
&lt;li style="font-weight:400;"&gt;Adds support for collapsing/opening sidebars&lt;/li&gt;
&lt;li style="font-weight:400;"&gt;ClickOnCard updated to support clicking on cards with complex content. For example, the method can now click on cards that have a component nested in multiple layouts within the card&lt;!--mce:protected %3C%21--mce%3Aprotected%20%253C%2521--mce%253Aprotected%2520%25253C%252521--%252520notionvc%25253A%252520c9bfab53-e4e1-4301-9c43-08f4d6f59a50%252520--%25253E--%253E--%3E--&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;h3 id="june&amp;nbsp;2023_-_release_23.2.1"&gt;November&amp;nbsp;2023 - Release 23.4&lt;/h3&gt;
&lt;ul&gt;
&lt;li class="ql-indent-1"&gt;&lt;strong&gt;NOTE&lt;/strong&gt;: &lt;span style="font-weight:400;"&gt;Project has been updated to require Java 11 JRE&lt;/span&gt;&lt;/li&gt;
&lt;li class="ql-indent-1"&gt;Enhancements
&lt;ul&gt;
&lt;li style="font-weight:400;"&gt;&lt;span style="font-weight:400;"&gt;Support for Appian version 23.4&lt;/span&gt;&lt;/li&gt;
&lt;li style="font-weight:400;"&gt;&lt;span style="font-weight:400;"&gt;Add support for the side navigation menu in sites&lt;/span&gt;&lt;/li&gt;
&lt;li style="font-weight:400;"&gt;&lt;span style="font-weight:400;"&gt;Add support for downloading charts&lt;/span&gt;&lt;/li&gt;
&lt;li style="font-weight:400;"&gt;&lt;span style="font-weight:400;"&gt;Add support for buttons configured with custom colors&lt;/span&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;Bug Fixes
&lt;ul&gt;
&lt;li style="font-weight:400;"&gt;&lt;span style="font-weight:400;"&gt;Honor the download directory given in custom.properties for Remote Drivers&lt;/span&gt;&lt;/li&gt;
&lt;li style="font-weight:400;"&gt;&lt;span style="font-weight:400;"&gt;Update dropdowns for versions greater than 23.3 to ignore the aria-checked value&lt;/span&gt;&lt;/li&gt;
&lt;li style="font-weight:400;"&gt;&lt;span style="font-weight:400;"&gt;Fixed Populate Record Type Data Range User Filter method&lt;/span&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;h3 id="june&amp;nbsp;2023_-_release_23.2.1"&gt;August 2023 - Release 23.3&lt;/h3&gt;
&lt;ul&gt;
&lt;li class="ql-indent-1"&gt;&lt;strong&gt;NOTE&lt;/strong&gt;: &lt;span style="font-weight:400;"&gt;Project has been updated to require Java 11 JRE&lt;/span&gt;&lt;/li&gt;
&lt;li class="ql-indent-1"&gt;Enhancements
&lt;ul&gt;
&lt;li style="font-weight:400;"&gt;&lt;span style="font-weight:400;"&gt;Supports Appian version 23.3&lt;/span&gt;&lt;/li&gt;
&lt;li style="font-weight:400;"&gt;&lt;span style="font-weight:400;"&gt;Added functionality to interact with new site group headers&lt;/span&gt;&lt;/li&gt;
&lt;li style="font-weight:400;"&gt;&lt;span style="font-weight:400;"&gt;Updated to Selenium 4.11.0&lt;/span&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;Bug Fixes
&lt;ul&gt;
&lt;li style="font-weight:400;"&gt;&lt;span style="font-weight:400;"&gt;Update checkboxes to support CARD style for 23.3 and later Appian versions&lt;/span&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;h3 id="june&amp;nbsp;2023_-_release_23.2.1"&gt;June&amp;nbsp;2023 - Release 23.2.1&lt;/h3&gt;
&lt;ul&gt;
&lt;li class="ql-indent-1"&gt;&lt;strong&gt;NOTE&lt;/strong&gt;: Updates to site navigation in the 23.2 product breaks the use of the clickOnMenu method defined in TempoFixtures for site environments. clickOnMenu, and other navigation methods defined in TempoFixtures, are guaranteed&amp;nbsp;to work only in Tempo environments. Use the clickOnSitePage method defined in SitesFixtures instead&lt;/li&gt;
&lt;li&gt;Bug Fixes
&lt;ul&gt;
&lt;li&gt;Update pickers to recognize selections with links (e.g. Record Pickers)&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;h3 id="june&amp;nbsp;2023_-_release_23.2"&gt;June&amp;nbsp;2023 - Release 23.2&lt;/h3&gt;
&lt;ul&gt;
&lt;li&gt;Enhancements
&lt;ul&gt;
&lt;li class="ql-indent-1"&gt;Supports Appian version 23.2
&lt;ul&gt;
&lt;li class="ql-indent-1"&gt;&lt;strong&gt;NOTE&lt;/strong&gt;: Updates to site navigation in the 23.2 product breaks the use of the clickOnMenu method defined in TempoFixtures for site environments. clickOnMenu, and other navigation methods defined in TempoFixtures, are guaranteed&amp;nbsp;to work only in Tempo environments. Use the clickOnSitePage method defined in SitesFixtures instead&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;h3 id="may_2023_-_release_23.1.2"&gt;May 2023 - Release 23.1.2&lt;/h3&gt;
&lt;ul&gt;
&lt;li&gt;Bug Fixes
&lt;ul&gt;
&lt;li&gt;Fixes an issue where Dropdowns with Search were not working&lt;/li&gt;
&lt;li&gt;Fixes an Issue where verifyText did not work on multi-node components&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;h3 id="february_2023_-_release_23.1"&gt;February 2023 - Release 23.1&lt;/h3&gt;
&lt;ul&gt;
&lt;li&gt;Enhancements
&lt;ul&gt;
&lt;li&gt;Supports Appian version 23.1&lt;/li&gt;
&lt;li&gt;Updated locator for Dropdown class&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;Bug Fixes
&lt;ul&gt;
&lt;li&gt;Update CVEs&lt;/li&gt;
&lt;li&gt;Update scripts (start.bat, start-mac.sh, start-unix.sh, runFitNesseTest.sh) to reference the new fitnesse-20221219-standalone.jar&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;h3 id="august&amp;nbsp;2022_-_release_22.3"&gt;August&amp;nbsp;2022 - Release 22.3&lt;/h3&gt;
&lt;ul&gt;
&lt;li&gt;Appian Selenium API is released and supported&lt;/li&gt;
&lt;li&gt;Removed support for 20.3&lt;/li&gt;
&lt;/ul&gt;
&lt;h3 id="november&amp;nbsp;2021_-_release_21.4"&gt;November&amp;nbsp;2021 - Release 21.4&lt;/h3&gt;
&lt;ul&gt;
&lt;li&gt;Enhancements
&lt;ul&gt;
&lt;li&gt;Support new card choice components&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;Bug Fixes
&lt;ul&gt;
&lt;li class="ql-indent-1"&gt;Update CVEs&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;h3 id="august&amp;nbsp;2021_-_release_21.3"&gt;August&amp;nbsp;2021 - Release 21.3&lt;/h3&gt;
&lt;ul&gt;
&lt;li&gt;Bug Fixes
&lt;ul&gt;
&lt;li class="ql-indent-1"&gt;Fix bug for radio button card&lt;/li&gt;
&lt;li class="ql-indent-1"&gt;Fix bug for date picker&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;h3 id="june_2021_-_release_21.2"&gt;June 2021 - Release 21.2&lt;/h3&gt;
&lt;ul&gt;
&lt;li&gt;Enhancements
&lt;ul&gt;
&lt;li class="ql-indent-1"&gt;Support new SectionLayout&lt;/li&gt;
&lt;li class="ql-indent-1"&gt;Upgrade Selenium Server to 3.141.59&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;Bug Fixes
&lt;ul&gt;
&lt;li class="ql-indent-1"&gt;Fix bug for radio button card&lt;/li&gt;
&lt;li class="ql-indent-1"&gt;Fix bug for icon link alt text&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;h3 id="march&amp;nbsp;2021_-_release_21.1"&gt;March&amp;nbsp;2021 - Release 21.1&lt;/h3&gt;
&lt;ul&gt;
&lt;li&gt;Appian Selenium API is released and supported&lt;/li&gt;
&lt;/ul&gt;
&lt;/div&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;

&lt;div style="font-size: 90%;"&gt;Tags: testing, Architecture&lt;/div&gt;
</description></item><item><title>Automated Testing with Appian Selenium API</title><link>https://community.appian.com/success/w/guide/3312/automated-testing-with-appian-selenium-api/revision/31</link><pubDate>Mon, 01 Jul 2024 17:12:26 GMT</pubDate><guid isPermaLink="false">d3a83456-d57b-489c-a84c-4e8267bb592a:af6be428-e229-4a89-9844-d99ca095396c</guid><dc:creator>joel.larin</dc:creator><comments>https://community.appian.com/success/w/guide/3312/automated-testing-with-appian-selenium-api#comments</comments><description>Revision 31 posted to Guide by joel.larin on 7/1/2024 5:12:26 PM&lt;br /&gt;
&lt;div style="margin:8px 16% 8px 8%;"&gt;
&lt;h2 id="requirements"&gt;Requirements&lt;/h2&gt;
&lt;ul style="font-size:110%;"&gt;
&lt;li&gt;Appian 22.2 and above&lt;/li&gt;
&lt;li&gt;Java Runtime Environment 11&lt;/li&gt;
&lt;li&gt;Chrome or Firefox browsers
&lt;div class="callout-box callout-info"&gt;If using Chrome, we recommend using &lt;a href="https://developer.chrome.com/blog/chrome-for-testing/"&gt;Chrome For Testing&lt;/a&gt; for a more consistent testing experience.&lt;/div&gt;
&lt;/li&gt;
&lt;li&gt;An IDE, such as IntelliJ IDEA or Eclipse&lt;/li&gt;
&lt;/ul&gt;
&lt;h2 id="setup"&gt;Setup&lt;/h2&gt;
&lt;p&gt;The &lt;a href="/b/appmarket/posts/appian_2d00_selenium_2d00_api"&gt;Appian Selenium API&lt;/a&gt; plug-in is a Java library which allows you to write automated tests for your Appian UIs. It contains methods which allow you to interact with Appian components in a browser. It provides methods and fixtures to interact with Appian applications in its various environments, e.g. Tempo or Sites. When writing tests, be sure to use methods from the correct fixture for the environment under test, e.g. use SitesFixture where possible to test Sites. Methods defined in fixtures that are intended for different environments are not guaranteed to work in future versions of the plugin.&lt;/p&gt;
&lt;p&gt;It can be used in a Java application or integrated directly into any Selenium or Java-based testing tool.&lt;/p&gt;
&lt;p&gt;Appian Selenium API contains the underlying Selenium methods used by &lt;a href="/b/appmarket/posts/cucumber-for-appian"&gt;Cucumber for Appian&lt;/a&gt; and &lt;a href="/b/appmarket/posts/fitnesse-for-appian"&gt;FitNesse for Appian&lt;/a&gt;, but offers you more flexibility by allowing you to define your own automated test cases. You can create your own Cucumber Step Definitions, your own testNG test, or the Java Framework of your choosing. You are no longer tied to Cucumber for Appian or FitNesse for Appian yet you get the same ease and simplicity of those respective frameworks.&lt;/p&gt;
&lt;ol style="font-size:110%;"&gt;
&lt;li&gt;Open this project in an IDE, such as IntelliJ IDEA or Eclipse.&lt;/li&gt;
&lt;li&gt;Update configurations:
&lt;ol&gt;
&lt;li&gt;&amp;nbsp;Open file &lt;strong&gt;configs/custom.properties&lt;/strong&gt;
&lt;ol&gt;
&lt;li&gt;Update &lt;strong&gt;automated.testing.hom&lt;/strong&gt;e with the path to this installation. Examples:
&lt;ol&gt;
&lt;li&gt;Windows: &lt;strong&gt;automated.testing.home=C:\\testFolder\\appian-selenium-api-example-java&lt;/strong&gt;&lt;/li&gt;
&lt;li&gt;Mac: &lt;strong&gt;automated.testing.home=/Users/tester/Desktop/appian-selenium-api-example-java&lt;/strong&gt;&lt;/li&gt;
&lt;/ol&gt;
&lt;/li&gt;
&lt;li&gt;Update &lt;strong&gt;chrome.driver.home&lt;/strong&gt; with the path to the Chrome driver that comes with this installation. Examples: * Windows: &lt;strong&gt;automated.testing.home=C:\\testFolder\\appian-selenium-api-example-java\\lib\\drivers\\chromedriver.exe&lt;/strong&gt; * Mac: &lt;strong&gt;automated.testing.home=/Users/tester/Desktop/appian-selenium-api-example-java/lib/drivers/chromedriver-mac&lt;/strong&gt;&lt;/li&gt;
&lt;/ol&gt;
&lt;/li&gt;
&lt;li&gt;Open file&lt;strong&gt; configs/users.properties&lt;/strong&gt;, for each username used in a test add a line in the format of &lt;strong&gt;&amp;lt;username&amp;gt;=&amp;lt;password&amp;gt;&lt;/strong&gt; to this file.
&lt;ol&gt;
&lt;li&gt;If you prefer not to disclose your password in plain text, you can also choose to use &lt;strong&gt;com.appiancorp.ps.automatedtest.fixture.BaseFixture.loginIntoWithUsernameAndPassword&lt;/strong&gt; fixture method to login by passing in the password from a system property value.&lt;/li&gt;
&lt;/ol&gt;
&lt;/li&gt;
&lt;/ol&gt;
&lt;/li&gt;
&lt;li&gt;Open &amp;quot;src/main/java/com/appiancorp/example/HelloAppian.java&amp;quot;:
&lt;ol&gt;
&lt;li&gt;Update &lt;strong&gt;TEST_SITE_URL&lt;/strong&gt; to your Appian URL, such as &lt;strong&gt;protected static String TEST_SITE_URL = &amp;quot;https://example.appiancloud.com/suite&amp;quot;;&lt;/strong&gt;&lt;/li&gt;
&lt;li&gt;Update &lt;strong&gt;TEST_USERNAME&lt;/strong&gt; with a username, such as &lt;strong&gt;protected static String TEST_USERNAME = &amp;quot;tester.tester&amp;quot;;&lt;/strong&gt; * Make sure this user exists in &lt;strong&gt;configs/users.properties&lt;/strong&gt;&lt;/li&gt;
&lt;/ol&gt;
&lt;/li&gt;
&lt;li&gt;Run the &lt;strong&gt;main()&lt;/strong&gt; method of this class:
&lt;ol&gt;
&lt;li&gt;&amp;nbsp;You should see that a Chrome browser will open up, and the fixture commands in &lt;strong&gt;HelloAppian.java&lt;/strong&gt; will execute accordingly.&lt;/li&gt;
&lt;li&gt;Note that this test will fail since your site might not have an action &amp;quot;Create a Case&amp;quot; under menu &amp;quot;Actions&amp;quot; that opens up an interface that has a &amp;quot;Submit&amp;quot; button.&lt;/li&gt;
&lt;/ol&gt;
&lt;/li&gt;
&lt;/ol&gt;
&lt;h2 id="features"&gt;Features&lt;/h2&gt;
&lt;p&gt;Multiple browser support&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;Chrome&lt;/li&gt;
&lt;li&gt;Firefox&lt;/li&gt;
&lt;/ul&gt;
&lt;h2 id="benefits"&gt;Benefits&lt;/h2&gt;
&lt;ul&gt;
&lt;li&gt;Define your own integration tests without being limited by a third-party testing tool&lt;/li&gt;
&lt;li&gt;Selenium-based test scripts can be created for reusability throughout test suites&lt;/li&gt;
&lt;li&gt;Methods created specifically to operate within Appian applications and Tempo&lt;/li&gt;
&lt;li&gt;Test scripts do not need to be updated when upgrading between supported Appian versions&lt;/li&gt;
&lt;li&gt;Test scripts are easily updated for new UI changes to a form or interface&lt;/li&gt;
&lt;li&gt;Appian design knowledge is not required to create test scripts&lt;/li&gt;
&lt;/ul&gt;
&lt;h2 id="release_notes"&gt;Release Notes&lt;/h2&gt;
&lt;h3 id="24.2"&gt;June 2024 - Release 24.2&lt;/h3&gt;
&lt;ul&gt;
&lt;li class="ql-indent-1"&gt;Enhancements
&lt;ul&gt;
&lt;li class="ql-indent-1"&gt;Updated locator for site menu links&lt;/li&gt;
&lt;li class="ql-indent-1"&gt;Created method which supports clicking on text within an interface. This is particularly useful for nested cards such as tab layouts, but can also be used as a fallback when existing methods don&amp;#39;t work. This method is available for all Appian versions.&lt;/li&gt;
&lt;li class="ql-indent-1"&gt;Click operation on Card layout will be performed on the left side of the element instead of the right. We&amp;#39;re not expecting any impact on existing test cases.&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;h3 id="june&amp;nbsp;2023_-_release_23.2.1"&gt;March 2024 - Release 24.1&lt;/h3&gt;
&lt;ul&gt;
&lt;li class="ql-indent-1"&gt;Enhancements
&lt;ul&gt;
&lt;li style="font-weight:400;"&gt;&lt;span style="font-weight:400;"&gt;Support for Appian version 24.1&lt;/span&gt;&lt;/li&gt;
&lt;li style="font-weight:400;"&gt;Adds support for collapsing/opening sidebars&lt;/li&gt;
&lt;li style="font-weight:400;"&gt;ClickOnCard updated to support clicking on cards with complex content. For example, the method can now click on cards that have a component nested in multiple layouts within the card&lt;!--mce:protected %3C%21--mce%3Aprotected%20%253C%2521--mce%253Aprotected%2520%25253C%252521--%252520notionvc%25253A%252520c9bfab53-e4e1-4301-9c43-08f4d6f59a50%252520--%25253E--%253E--%3E--&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;h3 id="june&amp;nbsp;2023_-_release_23.2.1"&gt;November&amp;nbsp;2023 - Release 23.4&lt;/h3&gt;
&lt;ul&gt;
&lt;li class="ql-indent-1"&gt;&lt;strong&gt;NOTE&lt;/strong&gt;: &lt;span style="font-weight:400;"&gt;Project has been updated to require Java 11 JRE&lt;/span&gt;&lt;/li&gt;
&lt;li class="ql-indent-1"&gt;Enhancements
&lt;ul&gt;
&lt;li style="font-weight:400;"&gt;&lt;span style="font-weight:400;"&gt;Support for Appian version 23.4&lt;/span&gt;&lt;/li&gt;
&lt;li style="font-weight:400;"&gt;&lt;span style="font-weight:400;"&gt;Add support for the side navigation menu in sites&lt;/span&gt;&lt;/li&gt;
&lt;li style="font-weight:400;"&gt;&lt;span style="font-weight:400;"&gt;Add support for downloading charts&lt;/span&gt;&lt;/li&gt;
&lt;li style="font-weight:400;"&gt;&lt;span style="font-weight:400;"&gt;Add support for buttons configured with custom colors&lt;/span&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;Bug Fixes
&lt;ul&gt;
&lt;li style="font-weight:400;"&gt;&lt;span style="font-weight:400;"&gt;Honor the download directory given in custom.properties for Remote Drivers&lt;/span&gt;&lt;/li&gt;
&lt;li style="font-weight:400;"&gt;&lt;span style="font-weight:400;"&gt;Update dropdowns for versions greater than 23.3 to ignore the aria-checked value&lt;/span&gt;&lt;/li&gt;
&lt;li style="font-weight:400;"&gt;&lt;span style="font-weight:400;"&gt;Fixed Populate Record Type Data Range User Filter method&lt;/span&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;h3 id="june&amp;nbsp;2023_-_release_23.2.1"&gt;August 2023 - Release 23.3&lt;/h3&gt;
&lt;ul&gt;
&lt;li class="ql-indent-1"&gt;&lt;strong&gt;NOTE&lt;/strong&gt;: &lt;span style="font-weight:400;"&gt;Project has been updated to require Java 11 JRE&lt;/span&gt;&lt;/li&gt;
&lt;li class="ql-indent-1"&gt;Enhancements
&lt;ul&gt;
&lt;li style="font-weight:400;"&gt;&lt;span style="font-weight:400;"&gt;Supports Appian version 23.3&lt;/span&gt;&lt;/li&gt;
&lt;li style="font-weight:400;"&gt;&lt;span style="font-weight:400;"&gt;Added functionality to interact with new site group headers&lt;/span&gt;&lt;/li&gt;
&lt;li style="font-weight:400;"&gt;&lt;span style="font-weight:400;"&gt;Updated to Selenium 4.11.0&lt;/span&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;Bug Fixes
&lt;ul&gt;
&lt;li style="font-weight:400;"&gt;&lt;span style="font-weight:400;"&gt;Update checkboxes to support CARD style for 23.3 and later Appian versions&lt;/span&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;h3 id="june&amp;nbsp;2023_-_release_23.2.1"&gt;June&amp;nbsp;2023 - Release 23.2.1&lt;/h3&gt;
&lt;ul&gt;
&lt;li class="ql-indent-1"&gt;&lt;strong&gt;NOTE&lt;/strong&gt;: Updates to site navigation in the 23.2 product breaks the use of the clickOnMenu method defined in TempoFixtures for site environments. clickOnMenu, and other navigation methods defined in TempoFixtures, are guaranteed&amp;nbsp;to work only in Tempo environments. Use the clickOnSitePage method defined in SitesFixtures instead&lt;/li&gt;
&lt;li&gt;Bug Fixes
&lt;ul&gt;
&lt;li&gt;Update pickers to recognize selections with links (e.g. Record Pickers)&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;h3 id="june&amp;nbsp;2023_-_release_23.2"&gt;June&amp;nbsp;2023 - Release 23.2&lt;/h3&gt;
&lt;ul&gt;
&lt;li&gt;Enhancements
&lt;ul&gt;
&lt;li class="ql-indent-1"&gt;Supports Appian version 23.2
&lt;ul&gt;
&lt;li class="ql-indent-1"&gt;&lt;strong&gt;NOTE&lt;/strong&gt;: Updates to site navigation in the 23.2 product breaks the use of the clickOnMenu method defined in TempoFixtures for site environments. clickOnMenu, and other navigation methods defined in TempoFixtures, are guaranteed&amp;nbsp;to work only in Tempo environments. Use the clickOnSitePage method defined in SitesFixtures instead&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;h3 id="may_2023_-_release_23.1.2"&gt;May 2023 - Release 23.1.2&lt;/h3&gt;
&lt;ul&gt;
&lt;li&gt;Bug Fixes
&lt;ul&gt;
&lt;li&gt;Fixes an issue where Dropdowns with Search were not working&lt;/li&gt;
&lt;li&gt;Fixes an Issue where verifyText did not work on multi-node components&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;h3 id="february_2023_-_release_23.1"&gt;February 2023 - Release 23.1&lt;/h3&gt;
&lt;ul&gt;
&lt;li&gt;Enhancements
&lt;ul&gt;
&lt;li&gt;Supports Appian version 23.1&lt;/li&gt;
&lt;li&gt;Updated locator for Dropdown class&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;Bug Fixes
&lt;ul&gt;
&lt;li&gt;Update CVEs&lt;/li&gt;
&lt;li&gt;Update scripts (start.bat, start-mac.sh, start-unix.sh, runFitNesseTest.sh) to reference the new fitnesse-20221219-standalone.jar&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;h3 id="august&amp;nbsp;2022_-_release_22.3"&gt;August&amp;nbsp;2022 - Release 22.3&lt;/h3&gt;
&lt;ul&gt;
&lt;li&gt;Appian Selenium API is released and supported&lt;/li&gt;
&lt;li&gt;Removed support for 20.3&lt;/li&gt;
&lt;/ul&gt;
&lt;h3 id="november&amp;nbsp;2021_-_release_21.4"&gt;November&amp;nbsp;2021 - Release 21.4&lt;/h3&gt;
&lt;ul&gt;
&lt;li&gt;Enhancements
&lt;ul&gt;
&lt;li&gt;Support new card choice components&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;Bug Fixes
&lt;ul&gt;
&lt;li class="ql-indent-1"&gt;Update CVEs&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;h3 id="august&amp;nbsp;2021_-_release_21.3"&gt;August&amp;nbsp;2021 - Release 21.3&lt;/h3&gt;
&lt;ul&gt;
&lt;li&gt;Bug Fixes
&lt;ul&gt;
&lt;li class="ql-indent-1"&gt;Fix bug for radio button card&lt;/li&gt;
&lt;li class="ql-indent-1"&gt;Fix bug for date picker&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;h3 id="june_2021_-_release_21.2"&gt;June 2021 - Release 21.2&lt;/h3&gt;
&lt;ul&gt;
&lt;li&gt;Enhancements
&lt;ul&gt;
&lt;li class="ql-indent-1"&gt;Support new SectionLayout&lt;/li&gt;
&lt;li class="ql-indent-1"&gt;Upgrade Selenium Server to 3.141.59&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;Bug Fixes
&lt;ul&gt;
&lt;li class="ql-indent-1"&gt;Fix bug for radio button card&lt;/li&gt;
&lt;li class="ql-indent-1"&gt;Fix bug for icon link alt text&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;h3 id="march&amp;nbsp;2021_-_release_21.1"&gt;March&amp;nbsp;2021 - Release 21.1&lt;/h3&gt;
&lt;ul&gt;
&lt;li&gt;Appian Selenium API is released and supported&lt;/li&gt;
&lt;/ul&gt;
&lt;/div&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;

&lt;div style="font-size: 90%;"&gt;Tags: testing, Architecture&lt;/div&gt;
</description></item><item><title>Automated Testing with Appian Selenium API</title><link>https://community.appian.com/success/w/guide/3312/automated-testing-with-appian-selenium-api/revision/30</link><pubDate>Mon, 01 Jul 2024 17:11:19 GMT</pubDate><guid isPermaLink="false">d3a83456-d57b-489c-a84c-4e8267bb592a:af6be428-e229-4a89-9844-d99ca095396c</guid><dc:creator>joel.larin</dc:creator><comments>https://community.appian.com/success/w/guide/3312/automated-testing-with-appian-selenium-api#comments</comments><description>Revision 30 posted to Guide by joel.larin on 7/1/2024 5:11:19 PM&lt;br /&gt;
&lt;div style="margin:8px 16% 8px 8%;"&gt;
&lt;h2 id="requirements"&gt;Requirements&lt;/h2&gt;
&lt;ul style="font-size:110%;"&gt;
&lt;li&gt;Appian 22.2 and above&lt;/li&gt;
&lt;li&gt;Java Runtime Environment 11&lt;/li&gt;
&lt;li&gt;Chrome or Firefox browsers
&lt;div class="callout-box callout-info"&gt;If using Chrome, we recommend using &lt;a href="https://developer.chrome.com/blog/chrome-for-testing/"&gt;Chrome For Testing&lt;/a&gt; for a more consistent testing experience.&lt;/div&gt;
&lt;/li&gt;
&lt;li&gt;An IDE, such as IntelliJ IDEA or Eclipse&lt;/li&gt;
&lt;/ul&gt;
&lt;h2 id="setup"&gt;Setup&lt;/h2&gt;
&lt;p&gt;The &lt;a href="/b/appmarket/posts/appian_2d00_selenium_2d00_api"&gt;Appian Selenium API&lt;/a&gt; plug-in is a Java library which allows you to write automated tests for your Appian UIs. It contains methods which allow you to interact with Appian components in a browser. It provides methods and fixtures to interact with Appian applications in its various environments, e.g. Tempo or Sites. When writing tests, be sure to use methods from the correct fixture for the environment under test, e.g. use SitesFixture where possible to test Sites. Methods defined in fixtures that are intended for different environments are not guaranteed to work in future versions of the plugin.&lt;/p&gt;
&lt;p&gt;It can be used in a Java application or integrated directly into any Selenium or Java-based testing tool.&lt;/p&gt;
&lt;p&gt;Appian Selenium API contains the underlying Selenium methods used by &lt;a href="/b/appmarket/posts/cucumber-for-appian"&gt;Cucumber for Appian&lt;/a&gt; and &lt;a href="/b/appmarket/posts/fitnesse-for-appian"&gt;FitNesse for Appian&lt;/a&gt;, but offers you more flexibility by allowing you to define your own automated test cases. You can create your own Cucumber Step Definitions, your own testNG test, or the Java Framework of your choosing. You are no longer tied to Cucumber for Appian or FitNesse for Appian yet you get the same ease and simplicity of those respective frameworks.&lt;/p&gt;
&lt;ol style="font-size:110%;"&gt;
&lt;li&gt;Open this project in an IDE, such as IntelliJ IDEA or Eclipse.&lt;/li&gt;
&lt;li&gt;Update configurations:
&lt;ol&gt;
&lt;li&gt;&amp;nbsp;Open file &lt;strong&gt;configs/custom.properties&lt;/strong&gt;
&lt;ol&gt;
&lt;li&gt;Update &lt;strong&gt;automated.testing.hom&lt;/strong&gt;e with the path to this installation. Examples:
&lt;ol&gt;
&lt;li&gt;Windows: &lt;strong&gt;automated.testing.home=C:\\testFolder\\appian-selenium-api-example-java&lt;/strong&gt;&lt;/li&gt;
&lt;li&gt;Mac: &lt;strong&gt;automated.testing.home=/Users/tester/Desktop/appian-selenium-api-example-java&lt;/strong&gt;&lt;/li&gt;
&lt;/ol&gt;
&lt;/li&gt;
&lt;li&gt;Update &lt;strong&gt;chrome.driver.home&lt;/strong&gt; with the path to the Chrome driver that comes with this installation. Examples: * Windows: &lt;strong&gt;automated.testing.home=C:\\testFolder\\appian-selenium-api-example-java\\lib\\drivers\\chromedriver.exe&lt;/strong&gt; * Mac: &lt;strong&gt;automated.testing.home=/Users/tester/Desktop/appian-selenium-api-example-java/lib/drivers/chromedriver-mac&lt;/strong&gt;&lt;/li&gt;
&lt;/ol&gt;
&lt;/li&gt;
&lt;li&gt;Open file&lt;strong&gt; configs/users.properties&lt;/strong&gt;, for each username used in a test add a line in the format of &lt;strong&gt;&amp;lt;username&amp;gt;=&amp;lt;password&amp;gt;&lt;/strong&gt; to this file.
&lt;ol&gt;
&lt;li&gt;If you prefer not to disclose your password in plain text, you can also choose to use &lt;strong&gt;com.appiancorp.ps.automatedtest.fixture.BaseFixture.loginIntoWithUsernameAndPassword&lt;/strong&gt; fixture method to login by passing in the password from a system property value.&lt;/li&gt;
&lt;/ol&gt;
&lt;/li&gt;
&lt;/ol&gt;
&lt;/li&gt;
&lt;li&gt;Open &amp;quot;src/main/java/com/appiancorp/example/HelloAppian.java&amp;quot;:
&lt;ol&gt;
&lt;li&gt;Update &lt;strong&gt;TEST_SITE_URL&lt;/strong&gt; to your Appian URL, such as &lt;strong&gt;protected static String TEST_SITE_URL = &amp;quot;https://example.appiancloud.com/suite&amp;quot;;&lt;/strong&gt;&lt;/li&gt;
&lt;li&gt;Update &lt;strong&gt;TEST_USERNAME&lt;/strong&gt; with a username, such as &lt;strong&gt;protected static String TEST_USERNAME = &amp;quot;tester.tester&amp;quot;;&lt;/strong&gt; * Make sure this user exists in &lt;strong&gt;configs/users.properties&lt;/strong&gt;&lt;/li&gt;
&lt;/ol&gt;
&lt;/li&gt;
&lt;li&gt;Run the &lt;strong&gt;main()&lt;/strong&gt; method of this class:
&lt;ol&gt;
&lt;li&gt;&amp;nbsp;You should see that a Chrome browser will open up, and the fixture commands in &lt;strong&gt;HelloAppian.java&lt;/strong&gt; will execute accordingly.&lt;/li&gt;
&lt;li&gt;Note that this test will fail since your site might not have an action &amp;quot;Create a Case&amp;quot; under menu &amp;quot;Actions&amp;quot; that opens up an interface that has a &amp;quot;Submit&amp;quot; button.&lt;/li&gt;
&lt;/ol&gt;
&lt;/li&gt;
&lt;/ol&gt;
&lt;h2 id="features"&gt;Features&lt;/h2&gt;
&lt;p&gt;Multiple browser support&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;Chrome&lt;/li&gt;
&lt;li&gt;Firefox&lt;/li&gt;
&lt;/ul&gt;
&lt;h2 id="benefits"&gt;Benefits&lt;/h2&gt;
&lt;ul&gt;
&lt;li&gt;Define your own integration tests without being limited by a third-party testing tool&lt;/li&gt;
&lt;li&gt;Selenium-based test scripts can be created for reusability throughout test suites&lt;/li&gt;
&lt;li&gt;Methods created specifically to operate within Appian applications and Tempo&lt;/li&gt;
&lt;li&gt;Test scripts do not need to be updated when upgrading between supported Appian versions&lt;/li&gt;
&lt;li&gt;Test scripts are easily updated for new UI changes to a form or interface&lt;/li&gt;
&lt;li&gt;Appian design knowledge is not required to create test scripts&lt;/li&gt;
&lt;/ul&gt;
&lt;h2 id="release_notes"&gt;Release Notes&lt;/h2&gt;
&lt;h3 id="24.2"&gt;June 2024 - Release 24.2&lt;/h3&gt;
&lt;ul&gt;
&lt;li class="ql-indent-1"&gt;Enhancements
&lt;ul&gt;
&lt;li class="ql-indent-1"&gt;Updated locator for site menu links&lt;/li&gt;
&lt;li class="ql-indent-1"&gt;Created method which supports clicking on text within an interface. This is particularly useful for nested cards such as tab layouts, but can also be used as a fallback when existing methods don&amp;#39;t work. This method is available for all Appian versions.&lt;/li&gt;
&lt;li class="ql-indent-1"&gt;Click operation on Card layout will be performed on the left side of the element instead of the right. We&amp;#39;re not expecting any impact on existing test cases.&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;h3 id="june&amp;nbsp;2023_-_release_23.2.1"&gt;March 2024 - Release 24.1&lt;/h3&gt;
&lt;ul&gt;
&lt;li class="ql-indent-1"&gt;Enhancements
&lt;ul&gt;
&lt;li style="font-weight:400;"&gt;&lt;span style="font-weight:400;"&gt;Support for Appian version 24.1&lt;/span&gt;&lt;/li&gt;
&lt;li style="font-weight:400;"&gt;Adds support for collapsing/opening sidebars&lt;/li&gt;
&lt;li style="font-weight:400;"&gt;ClickOnCard updated to support clicking on cards with complex content. For example, the method can now click on cards that have a component nested in multiple layouts within the card&lt;!--mce:protected %3C%21--mce%3Aprotected%20%253C%2521--mce%253Aprotected%2520%25253C%252521--%252520notionvc%25253A%252520c9bfab53-e4e1-4301-9c43-08f4d6f59a50%252520--%25253E--%253E--%3E--&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;h3 id="june&amp;nbsp;2023_-_release_23.2.1"&gt;November&amp;nbsp;2023 - Release 23.4&lt;/h3&gt;
&lt;ul&gt;
&lt;li class="ql-indent-1"&gt;&lt;strong&gt;NOTE&lt;/strong&gt;: &lt;span style="font-weight:400;"&gt;Project has been updated to require Java 11 JRE&lt;/span&gt;&lt;/li&gt;
&lt;li class="ql-indent-1"&gt;Enhancements
&lt;ul&gt;
&lt;li style="font-weight:400;"&gt;&lt;span style="font-weight:400;"&gt;Support for Appian version 23.4&lt;/span&gt;&lt;/li&gt;
&lt;li style="font-weight:400;"&gt;&lt;span style="font-weight:400;"&gt;Add support for the side navigation menu in sites&lt;/span&gt;&lt;/li&gt;
&lt;li style="font-weight:400;"&gt;&lt;span style="font-weight:400;"&gt;Add support for downloading charts&lt;/span&gt;&lt;/li&gt;
&lt;li style="font-weight:400;"&gt;&lt;span style="font-weight:400;"&gt;Add support for buttons configured with custom colors&lt;/span&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;Bug Fixes
&lt;ul&gt;
&lt;li style="font-weight:400;"&gt;&lt;span style="font-weight:400;"&gt;Honor the download directory given in custom.properties for Remote Drivers&lt;/span&gt;&lt;/li&gt;
&lt;li style="font-weight:400;"&gt;&lt;span style="font-weight:400;"&gt;Update dropdowns for versions greater than 23.3 to ignore the aria-checked value&lt;/span&gt;&lt;/li&gt;
&lt;li style="font-weight:400;"&gt;&lt;span style="font-weight:400;"&gt;Fixed Populate Record Type Data Range User Filter method&lt;/span&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;h3 id="june&amp;nbsp;2023_-_release_23.2.1"&gt;August 2023 - Release 23.3&lt;/h3&gt;
&lt;ul&gt;
&lt;li class="ql-indent-1"&gt;&lt;strong&gt;NOTE&lt;/strong&gt;: &lt;span style="font-weight:400;"&gt;Project has been updated to require Java 11 JRE&lt;/span&gt;&lt;/li&gt;
&lt;li class="ql-indent-1"&gt;Enhancements
&lt;ul&gt;
&lt;li style="font-weight:400;"&gt;&lt;span style="font-weight:400;"&gt;Supports Appian version 23.3&lt;/span&gt;&lt;/li&gt;
&lt;li style="font-weight:400;"&gt;&lt;span style="font-weight:400;"&gt;Added functionality to interact with new site group headers&lt;/span&gt;&lt;/li&gt;
&lt;li style="font-weight:400;"&gt;&lt;span style="font-weight:400;"&gt;Updated to Selenium 4.11.0&lt;/span&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;Bug Fixes
&lt;ul&gt;
&lt;li style="font-weight:400;"&gt;&lt;span style="font-weight:400;"&gt;Update checkboxes to support CARD style for 23.3 and later Appian versions&lt;/span&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;h3 id="june&amp;nbsp;2023_-_release_23.2.1"&gt;June&amp;nbsp;2023 - Release 23.2.1&lt;/h3&gt;
&lt;ul&gt;
&lt;li class="ql-indent-1"&gt;&lt;strong&gt;NOTE&lt;/strong&gt;: Updates to site navigation in the 23.2 product breaks the use of the clickOnMenu method defined in TempoFixtures for site environments. clickOnMenu, and other navigation methods defined in TempoFixtures, are guaranteed&amp;nbsp;to work only in Tempo environments. Use the clickOnSitePage method defined in SitesFixtures instead&lt;/li&gt;
&lt;li&gt;Bug Fixes
&lt;ul&gt;
&lt;li&gt;Update pickers to recognize selections with links (e.g. Record Pickers)&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;h3 id="june&amp;nbsp;2023_-_release_23.2"&gt;June&amp;nbsp;2023 - Release 23.2&lt;/h3&gt;
&lt;ul&gt;
&lt;li&gt;Enhancements
&lt;ul&gt;
&lt;li class="ql-indent-1"&gt;Supports Appian version 23.2
&lt;ul&gt;
&lt;li class="ql-indent-1"&gt;&lt;strong&gt;NOTE&lt;/strong&gt;: Updates to site navigation in the 23.2 product breaks the use of the clickOnMenu method defined in TempoFixtures for site environments. clickOnMenu, and other navigation methods defined in TempoFixtures, are guaranteed&amp;nbsp;to work only in Tempo environments. Use the clickOnSitePage method defined in SitesFixtures instead&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;h3 id="may_2023_-_release_23.1.2"&gt;May 2023 - Release 23.1.2&lt;/h3&gt;
&lt;ul&gt;
&lt;li&gt;Bug Fixes
&lt;ul&gt;
&lt;li&gt;Fixes an issue where Dropdowns with Search were not working&lt;/li&gt;
&lt;li&gt;Fixes an Issue where verifyText did not work on multi-node components&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;h3 id="february_2023_-_release_23.1"&gt;February 2023 - Release 23.1&lt;/h3&gt;
&lt;ul&gt;
&lt;li&gt;Enhancements
&lt;ul&gt;
&lt;li&gt;Supports Appian version 23.1&lt;/li&gt;
&lt;li&gt;Updated locator for Dropdown class&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;Bug Fixes
&lt;ul&gt;
&lt;li&gt;Update CVEs&lt;/li&gt;
&lt;li&gt;Update scripts (start.bat, start-mac.sh, start-unix.sh, runFitNesseTest.sh) to reference the new fitnesse-20221219-standalone.jar&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;h3 id="august&amp;nbsp;2022_-_release_22.3"&gt;August&amp;nbsp;2022 - Release 22.3&lt;/h3&gt;
&lt;ul&gt;
&lt;li&gt;Appian Selenium API is released and supported&lt;/li&gt;
&lt;li&gt;Removed support for 20.3&lt;/li&gt;
&lt;/ul&gt;
&lt;h3 id="november&amp;nbsp;2021_-_release_21.4"&gt;November&amp;nbsp;2021 - Release 21.4&lt;/h3&gt;
&lt;ul&gt;
&lt;li&gt;Enhancements
&lt;ul&gt;
&lt;li&gt;Support new card choice components&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;Bug Fixes
&lt;ul&gt;
&lt;li class="ql-indent-1"&gt;Update CVEs&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;h3 id="august&amp;nbsp;2021_-_release_21.3"&gt;August&amp;nbsp;2021 - Release 21.3&lt;/h3&gt;
&lt;ul&gt;
&lt;li&gt;Bug Fixes
&lt;ul&gt;
&lt;li class="ql-indent-1"&gt;Fix bug for radio button card&lt;/li&gt;
&lt;li class="ql-indent-1"&gt;Fix bug for date picker&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;h3 id="june_2021_-_release_21.2"&gt;June 2021 - Release 21.2&lt;/h3&gt;
&lt;ul&gt;
&lt;li&gt;Enhancements
&lt;ul&gt;
&lt;li class="ql-indent-1"&gt;Support new SectionLayout&lt;/li&gt;
&lt;li class="ql-indent-1"&gt;Upgrade Selenium Server to 3.141.59&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;Bug Fixes
&lt;ul&gt;
&lt;li class="ql-indent-1"&gt;Fix bug for radio button card&lt;/li&gt;
&lt;li class="ql-indent-1"&gt;Fix bug for icon link alt text&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;h3 id="march&amp;nbsp;2021_-_release_21.1"&gt;March&amp;nbsp;2021 - Release 21.1&lt;/h3&gt;
&lt;ul&gt;
&lt;li&gt;Appian Selenium API is released and supported&lt;/li&gt;
&lt;/ul&gt;
&lt;/div&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;

&lt;div style="font-size: 90%;"&gt;Tags: testing, Architecture&lt;/div&gt;
</description></item><item><title>Automated Testing with Appian Selenium API</title><link>https://community.appian.com/success/w/guide/3312/automated-testing-with-appian-selenium-api/revision/29</link><pubDate>Mon, 01 Jul 2024 17:10:23 GMT</pubDate><guid isPermaLink="false">d3a83456-d57b-489c-a84c-4e8267bb592a:af6be428-e229-4a89-9844-d99ca095396c</guid><dc:creator>joel.larin</dc:creator><comments>https://community.appian.com/success/w/guide/3312/automated-testing-with-appian-selenium-api#comments</comments><description>Revision 29 posted to Guide by joel.larin on 7/1/2024 5:10:23 PM&lt;br /&gt;
&lt;div style="margin:8px 16% 8px 8%;"&gt;
&lt;h2 id="requirements"&gt;Requirements&lt;/h2&gt;
&lt;ul style="font-size:110%;"&gt;
&lt;li&gt;Appian 22.2 and above.&lt;/li&gt;
&lt;li&gt;Java Runtime Environment 11.&lt;/li&gt;
&lt;li&gt;Chrome or Firefox browsers.
&lt;div class="callout-box callout-info"&gt;If using Chrome, we recommend using &lt;a href="https://developer.chrome.com/blog/chrome-for-testing/"&gt;Chrome For Testing&lt;/a&gt; for a more consistent testing experience.&lt;/div&gt;
&lt;/li&gt;
&lt;li&gt;An IDE, such as IntelliJ IDEA or Eclipse.&lt;/li&gt;
&lt;/ul&gt;
&lt;h2 id="setup"&gt;Setup&lt;/h2&gt;
&lt;p&gt;The &lt;a href="/b/appmarket/posts/appian_2d00_selenium_2d00_api"&gt;Appian Selenium API&lt;/a&gt; plug-in is a Java library which allows you to write automated tests for your Appian UIs. It contains methods which allow you to interact with Appian components in a browser. It provides methods and fixtures to interact with Appian applications in its various environments, e.g. Tempo or Sites. When writing tests, be sure to use methods from the correct fixture for the environment under test, e.g. use SitesFixture where possible to test Sites. Methods defined in fixtures that are intended for different environments are not guaranteed to work in future versions of the plugin.&lt;/p&gt;
&lt;p&gt;It can be used in a Java application or integrated directly into any Selenium or Java-based testing tool.&lt;/p&gt;
&lt;p&gt;Appian Selenium API contains the underlying Selenium methods used by &lt;a href="/b/appmarket/posts/cucumber-for-appian"&gt;Cucumber for Appian&lt;/a&gt; and &lt;a href="/b/appmarket/posts/fitnesse-for-appian"&gt;FitNesse for Appian&lt;/a&gt;, but offers you more flexibility by allowing you to define your own automated test cases. You can create your own Cucumber Step Definitions, your own testNG test, or the Java Framework of your choosing. You are no longer tied to Cucumber for Appian or FitNesse for Appian yet you get the same ease and simplicity of those respective frameworks.&lt;/p&gt;
&lt;ol style="font-size:110%;"&gt;
&lt;li&gt;Open this project in an IDE, such as IntelliJ IDEA or Eclipse.&lt;/li&gt;
&lt;li&gt;Update configurations:
&lt;ol&gt;
&lt;li&gt;&amp;nbsp;Open file &lt;strong&gt;configs/custom.properties&lt;/strong&gt;
&lt;ol&gt;
&lt;li&gt;Update &lt;strong&gt;automated.testing.hom&lt;/strong&gt;e with the path to this installation. Examples:
&lt;ol&gt;
&lt;li&gt;Windows: &lt;strong&gt;automated.testing.home=C:\\testFolder\\appian-selenium-api-example-java&lt;/strong&gt;&lt;/li&gt;
&lt;li&gt;Mac: &lt;strong&gt;automated.testing.home=/Users/tester/Desktop/appian-selenium-api-example-java&lt;/strong&gt;&lt;/li&gt;
&lt;/ol&gt;
&lt;/li&gt;
&lt;li&gt;Update &lt;strong&gt;chrome.driver.home&lt;/strong&gt; with the path to the Chrome driver that comes with this installation. Examples: * Windows: &lt;strong&gt;automated.testing.home=C:\\testFolder\\appian-selenium-api-example-java\\lib\\drivers\\chromedriver.exe&lt;/strong&gt; * Mac: &lt;strong&gt;automated.testing.home=/Users/tester/Desktop/appian-selenium-api-example-java/lib/drivers/chromedriver-mac&lt;/strong&gt;&lt;/li&gt;
&lt;/ol&gt;
&lt;/li&gt;
&lt;li&gt;Open file&lt;strong&gt; configs/users.properties&lt;/strong&gt;, for each username used in a test add a line in the format of &lt;strong&gt;&amp;lt;username&amp;gt;=&amp;lt;password&amp;gt;&lt;/strong&gt; to this file.
&lt;ol&gt;
&lt;li&gt;If you prefer not to disclose your password in plain text, you can also choose to use &lt;strong&gt;com.appiancorp.ps.automatedtest.fixture.BaseFixture.loginIntoWithUsernameAndPassword&lt;/strong&gt; fixture method to login by passing in the password from a system property value.&lt;/li&gt;
&lt;/ol&gt;
&lt;/li&gt;
&lt;/ol&gt;
&lt;/li&gt;
&lt;li&gt;Open &amp;quot;src/main/java/com/appiancorp/example/HelloAppian.java&amp;quot;:
&lt;ol&gt;
&lt;li&gt;Update &lt;strong&gt;TEST_SITE_URL&lt;/strong&gt; to your Appian URL, such as &lt;strong&gt;protected static String TEST_SITE_URL = &amp;quot;https://example.appiancloud.com/suite&amp;quot;;&lt;/strong&gt;&lt;/li&gt;
&lt;li&gt;Update &lt;strong&gt;TEST_USERNAME&lt;/strong&gt; with a username, such as &lt;strong&gt;protected static String TEST_USERNAME = &amp;quot;tester.tester&amp;quot;;&lt;/strong&gt; * Make sure this user exists in &lt;strong&gt;configs/users.properties&lt;/strong&gt;&lt;/li&gt;
&lt;/ol&gt;
&lt;/li&gt;
&lt;li&gt;Run the &lt;strong&gt;main()&lt;/strong&gt; method of this class:
&lt;ol&gt;
&lt;li&gt;&amp;nbsp;You should see that a Chrome browser will open up, and the fixture commands in &lt;strong&gt;HelloAppian.java&lt;/strong&gt; will execute accordingly.&lt;/li&gt;
&lt;li&gt;Note that this test will fail since your site might not have an action &amp;quot;Create a Case&amp;quot; under menu &amp;quot;Actions&amp;quot; that opens up an interface that has a &amp;quot;Submit&amp;quot; button.&lt;/li&gt;
&lt;/ol&gt;
&lt;/li&gt;
&lt;/ol&gt;
&lt;h2 id="features"&gt;Features&lt;/h2&gt;
&lt;p&gt;Multiple browser support&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;Chrome&lt;/li&gt;
&lt;li&gt;Firefox&lt;/li&gt;
&lt;/ul&gt;
&lt;h2 id="benefits"&gt;Benefits&lt;/h2&gt;
&lt;ul&gt;
&lt;li&gt;Define your own integration tests without being limited by a third-party testing tool&lt;/li&gt;
&lt;li&gt;Selenium-based test scripts can be created for reusability throughout test suites&lt;/li&gt;
&lt;li&gt;Methods created specifically to operate within Appian applications and Tempo&lt;/li&gt;
&lt;li&gt;Test scripts do not need to be updated when upgrading between supported Appian versions&lt;/li&gt;
&lt;li&gt;Test scripts are easily updated for new UI changes to a form or interface&lt;/li&gt;
&lt;li&gt;Appian design knowledge is not required to create test scripts&lt;/li&gt;
&lt;/ul&gt;
&lt;h2 id="release_notes"&gt;Release Notes&lt;/h2&gt;
&lt;h3 id="24.2"&gt;June 2024 - Release 24.2&lt;/h3&gt;
&lt;ul&gt;
&lt;li class="ql-indent-1"&gt;Enhancements
&lt;ul&gt;
&lt;li class="ql-indent-1"&gt;Updated locator for site menu links&lt;/li&gt;
&lt;li class="ql-indent-1"&gt;Created method which supports clicking on text within an interface. This is particularly useful for nested cards such as tab layouts, but can also be used as a fallback when existing methods don&amp;#39;t work. This method is available for all Appian versions.&lt;/li&gt;
&lt;li class="ql-indent-1"&gt;Click operation on Card layout will be performed on the left side of the element instead of the right. We&amp;#39;re not expecting any impact on existing test cases.&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;h3 id="june&amp;nbsp;2023_-_release_23.2.1"&gt;March 2024 - Release 24.1&lt;/h3&gt;
&lt;ul&gt;
&lt;li class="ql-indent-1"&gt;Enhancements
&lt;ul&gt;
&lt;li style="font-weight:400;"&gt;&lt;span style="font-weight:400;"&gt;Support for Appian version 24.1&lt;/span&gt;&lt;/li&gt;
&lt;li style="font-weight:400;"&gt;Adds support for collapsing/opening sidebars&lt;/li&gt;
&lt;li style="font-weight:400;"&gt;ClickOnCard updated to support clicking on cards with complex content. For example, the method can now click on cards that have a component nested in multiple layouts within the card&lt;!--mce:protected %3C%21--mce%3Aprotected%20%253C%2521--mce%253Aprotected%2520%25253C%252521--%252520notionvc%25253A%252520c9bfab53-e4e1-4301-9c43-08f4d6f59a50%252520--%25253E--%253E--%3E--&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;h3 id="june&amp;nbsp;2023_-_release_23.2.1"&gt;November&amp;nbsp;2023 - Release 23.4&lt;/h3&gt;
&lt;ul&gt;
&lt;li class="ql-indent-1"&gt;&lt;strong&gt;NOTE&lt;/strong&gt;: &lt;span style="font-weight:400;"&gt;Project has been updated to require Java 11 JRE&lt;/span&gt;&lt;/li&gt;
&lt;li class="ql-indent-1"&gt;Enhancements
&lt;ul&gt;
&lt;li style="font-weight:400;"&gt;&lt;span style="font-weight:400;"&gt;Support for Appian version 23.4&lt;/span&gt;&lt;/li&gt;
&lt;li style="font-weight:400;"&gt;&lt;span style="font-weight:400;"&gt;Add support for the side navigation menu in sites&lt;/span&gt;&lt;/li&gt;
&lt;li style="font-weight:400;"&gt;&lt;span style="font-weight:400;"&gt;Add support for downloading charts&lt;/span&gt;&lt;/li&gt;
&lt;li style="font-weight:400;"&gt;&lt;span style="font-weight:400;"&gt;Add support for buttons configured with custom colors&lt;/span&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;Bug Fixes
&lt;ul&gt;
&lt;li style="font-weight:400;"&gt;&lt;span style="font-weight:400;"&gt;Honor the download directory given in custom.properties for Remote Drivers&lt;/span&gt;&lt;/li&gt;
&lt;li style="font-weight:400;"&gt;&lt;span style="font-weight:400;"&gt;Update dropdowns for versions greater than 23.3 to ignore the aria-checked value&lt;/span&gt;&lt;/li&gt;
&lt;li style="font-weight:400;"&gt;&lt;span style="font-weight:400;"&gt;Fixed Populate Record Type Data Range User Filter method&lt;/span&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;h3 id="june&amp;nbsp;2023_-_release_23.2.1"&gt;August 2023 - Release 23.3&lt;/h3&gt;
&lt;ul&gt;
&lt;li class="ql-indent-1"&gt;&lt;strong&gt;NOTE&lt;/strong&gt;: &lt;span style="font-weight:400;"&gt;Project has been updated to require Java 11 JRE&lt;/span&gt;&lt;/li&gt;
&lt;li class="ql-indent-1"&gt;Enhancements
&lt;ul&gt;
&lt;li style="font-weight:400;"&gt;&lt;span style="font-weight:400;"&gt;Supports Appian version 23.3&lt;/span&gt;&lt;/li&gt;
&lt;li style="font-weight:400;"&gt;&lt;span style="font-weight:400;"&gt;Added functionality to interact with new site group headers&lt;/span&gt;&lt;/li&gt;
&lt;li style="font-weight:400;"&gt;&lt;span style="font-weight:400;"&gt;Updated to Selenium 4.11.0&lt;/span&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;Bug Fixes
&lt;ul&gt;
&lt;li style="font-weight:400;"&gt;&lt;span style="font-weight:400;"&gt;Update checkboxes to support CARD style for 23.3 and later Appian versions&lt;/span&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;h3 id="june&amp;nbsp;2023_-_release_23.2.1"&gt;June&amp;nbsp;2023 - Release 23.2.1&lt;/h3&gt;
&lt;ul&gt;
&lt;li class="ql-indent-1"&gt;&lt;strong&gt;NOTE&lt;/strong&gt;: Updates to site navigation in the 23.2 product breaks the use of the clickOnMenu method defined in TempoFixtures for site environments. clickOnMenu, and other navigation methods defined in TempoFixtures, are guaranteed&amp;nbsp;to work only in Tempo environments. Use the clickOnSitePage method defined in SitesFixtures instead&lt;/li&gt;
&lt;li&gt;Bug Fixes
&lt;ul&gt;
&lt;li&gt;Update pickers to recognize selections with links (e.g. Record Pickers)&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;h3 id="june&amp;nbsp;2023_-_release_23.2"&gt;June&amp;nbsp;2023 - Release 23.2&lt;/h3&gt;
&lt;ul&gt;
&lt;li&gt;Enhancements
&lt;ul&gt;
&lt;li class="ql-indent-1"&gt;Supports Appian version 23.2
&lt;ul&gt;
&lt;li class="ql-indent-1"&gt;&lt;strong&gt;NOTE&lt;/strong&gt;: Updates to site navigation in the 23.2 product breaks the use of the clickOnMenu method defined in TempoFixtures for site environments. clickOnMenu, and other navigation methods defined in TempoFixtures, are guaranteed&amp;nbsp;to work only in Tempo environments. Use the clickOnSitePage method defined in SitesFixtures instead&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;h3 id="may_2023_-_release_23.1.2"&gt;May 2023 - Release 23.1.2&lt;/h3&gt;
&lt;ul&gt;
&lt;li&gt;Bug Fixes
&lt;ul&gt;
&lt;li&gt;Fixes an issue where Dropdowns with Search were not working&lt;/li&gt;
&lt;li&gt;Fixes an Issue where verifyText did not work on multi-node components&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;h3 id="february_2023_-_release_23.1"&gt;February 2023 - Release 23.1&lt;/h3&gt;
&lt;ul&gt;
&lt;li&gt;Enhancements
&lt;ul&gt;
&lt;li&gt;Supports Appian version 23.1&lt;/li&gt;
&lt;li&gt;Updated locator for Dropdown class&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;Bug Fixes
&lt;ul&gt;
&lt;li&gt;Update CVEs&lt;/li&gt;
&lt;li&gt;Update scripts (start.bat, start-mac.sh, start-unix.sh, runFitNesseTest.sh) to reference the new fitnesse-20221219-standalone.jar&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;h3 id="august&amp;nbsp;2022_-_release_22.3"&gt;August&amp;nbsp;2022 - Release 22.3&lt;/h3&gt;
&lt;ul&gt;
&lt;li&gt;Appian Selenium API is released and supported&lt;/li&gt;
&lt;li&gt;Removed support for 20.3&lt;/li&gt;
&lt;/ul&gt;
&lt;h3 id="november&amp;nbsp;2021_-_release_21.4"&gt;November&amp;nbsp;2021 - Release 21.4&lt;/h3&gt;
&lt;ul&gt;
&lt;li&gt;Enhancements
&lt;ul&gt;
&lt;li&gt;Support new card choice components&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;Bug Fixes
&lt;ul&gt;
&lt;li class="ql-indent-1"&gt;Update CVEs&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;h3 id="august&amp;nbsp;2021_-_release_21.3"&gt;August&amp;nbsp;2021 - Release 21.3&lt;/h3&gt;
&lt;ul&gt;
&lt;li&gt;Bug Fixes
&lt;ul&gt;
&lt;li class="ql-indent-1"&gt;Fix bug for radio button card&lt;/li&gt;
&lt;li class="ql-indent-1"&gt;Fix bug for date picker&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;h3 id="june_2021_-_release_21.2"&gt;June 2021 - Release 21.2&lt;/h3&gt;
&lt;ul&gt;
&lt;li&gt;Enhancements
&lt;ul&gt;
&lt;li class="ql-indent-1"&gt;Support new SectionLayout&lt;/li&gt;
&lt;li class="ql-indent-1"&gt;Upgrade Selenium Server to 3.141.59&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;Bug Fixes
&lt;ul&gt;
&lt;li class="ql-indent-1"&gt;Fix bug for radio button card&lt;/li&gt;
&lt;li class="ql-indent-1"&gt;Fix bug for icon link alt text&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;h3 id="march&amp;nbsp;2021_-_release_21.1"&gt;March&amp;nbsp;2021 - Release 21.1&lt;/h3&gt;
&lt;ul&gt;
&lt;li&gt;Appian Selenium API is released and supported&lt;/li&gt;
&lt;/ul&gt;
&lt;/div&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;

&lt;div style="font-size: 90%;"&gt;Tags: testing, Architecture&lt;/div&gt;
</description></item><item><title>Automated Testing with Appian Selenium API</title><link>https://community.appian.com/success/w/guide/3312/automated-testing-with-appian-selenium-api/revision/28</link><pubDate>Mon, 01 Jul 2024 17:08:03 GMT</pubDate><guid isPermaLink="false">d3a83456-d57b-489c-a84c-4e8267bb592a:af6be428-e229-4a89-9844-d99ca095396c</guid><dc:creator>joel.larin</dc:creator><comments>https://community.appian.com/success/w/guide/3312/automated-testing-with-appian-selenium-api#comments</comments><description>Revision 28 posted to Guide by joel.larin on 7/1/2024 5:08:03 PM&lt;br /&gt;
&lt;div style="margin:8px 16% 8px 8%;"&gt;
&lt;h2 id="requirements"&gt;Requirements&lt;/h2&gt;
&lt;ul style="font-size:110%;"&gt;
&lt;li&gt;Appian 22.2 and above.&lt;/li&gt;
&lt;li&gt;Java Runtime Environment 11.&lt;/li&gt;
&lt;li&gt;Chrome or Firefox browsers.&amp;nbsp;&lt;span&gt;If using Chrome, we recommend also using&amp;nbsp;&lt;/span&gt;&lt;a href="https://developer.chrome.com/blog/chrome-for-testing/"&gt;Chrome For Testing&lt;/a&gt;&lt;span&gt;&amp;nbsp;for a more consistent testing experience.&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;An IDE, such as IntelliJ IDEA or Eclipse.&lt;/li&gt;
&lt;/ul&gt;
&lt;h2 id="setup"&gt;Setup&lt;/h2&gt;
&lt;p&gt;The &lt;a href="/b/appmarket/posts/appian_2d00_selenium_2d00_api"&gt;Appian Selenium API&lt;/a&gt; plug-in is a Java library which allows you to write automated tests for your Appian UIs. It contains methods which allow you to interact with Appian components in a browser. It provides methods and fixtures to interact with Appian applications in its various environments, e.g. Tempo or Sites. When writing tests, be sure to use methods from the correct fixture for the environment under test, e.g. use SitesFixture where possible to test Sites. Methods defined in fixtures that are intended for different environments are not guaranteed to work in future versions of the plugin.&lt;/p&gt;
&lt;p&gt;It can be used in a Java application or integrated directly into any Selenium or Java-based testing tool.&lt;/p&gt;
&lt;p&gt;Appian Selenium API contains the underlying Selenium methods used by &lt;a href="/b/appmarket/posts/cucumber-for-appian"&gt;Cucumber for Appian&lt;/a&gt; and &lt;a href="/b/appmarket/posts/fitnesse-for-appian"&gt;FitNesse for Appian&lt;/a&gt;, but offers you more flexibility by allowing you to define your own automated test cases. You can create your own Cucumber Step Definitions, your own testNG test, or the Java Framework of your choosing. You are no longer tied to Cucumber for Appian or FitNesse for Appian yet you get the same ease and simplicity of those respective frameworks.&lt;/p&gt;
&lt;ol style="font-size:110%;"&gt;
&lt;li&gt;Open this project in an IDE, such as IntelliJ IDEA or Eclipse.&lt;/li&gt;
&lt;li&gt;Update configurations:
&lt;ol&gt;
&lt;li&gt;&amp;nbsp;Open file &lt;strong&gt;configs/custom.properties&lt;/strong&gt;
&lt;ol&gt;
&lt;li&gt;Update &lt;strong&gt;automated.testing.hom&lt;/strong&gt;e with the path to this installation. Examples:
&lt;ol&gt;
&lt;li&gt;Windows: &lt;strong&gt;automated.testing.home=C:\\testFolder\\appian-selenium-api-example-java&lt;/strong&gt;&lt;/li&gt;
&lt;li&gt;Mac: &lt;strong&gt;automated.testing.home=/Users/tester/Desktop/appian-selenium-api-example-java&lt;/strong&gt;&lt;/li&gt;
&lt;/ol&gt;
&lt;/li&gt;
&lt;li&gt;Update &lt;strong&gt;chrome.driver.home&lt;/strong&gt; with the path to the Chrome driver that comes with this installation. Examples: * Windows: &lt;strong&gt;automated.testing.home=C:\\testFolder\\appian-selenium-api-example-java\\lib\\drivers\\chromedriver.exe&lt;/strong&gt; * Mac: &lt;strong&gt;automated.testing.home=/Users/tester/Desktop/appian-selenium-api-example-java/lib/drivers/chromedriver-mac&lt;/strong&gt;&lt;/li&gt;
&lt;/ol&gt;
&lt;/li&gt;
&lt;li&gt;Open file&lt;strong&gt; configs/users.properties&lt;/strong&gt;, for each username used in a test add a line in the format of &lt;strong&gt;&amp;lt;username&amp;gt;=&amp;lt;password&amp;gt;&lt;/strong&gt; to this file.
&lt;ol&gt;
&lt;li&gt;If you prefer not to disclose your password in plain text, you can also choose to use &lt;strong&gt;com.appiancorp.ps.automatedtest.fixture.BaseFixture.loginIntoWithUsernameAndPassword&lt;/strong&gt; fixture method to login by passing in the password from a system property value.&lt;/li&gt;
&lt;/ol&gt;
&lt;/li&gt;
&lt;/ol&gt;
&lt;/li&gt;
&lt;li&gt;Open &amp;quot;src/main/java/com/appiancorp/example/HelloAppian.java&amp;quot;:
&lt;ol&gt;
&lt;li&gt;Update &lt;strong&gt;TEST_SITE_URL&lt;/strong&gt; to your Appian URL, such as &lt;strong&gt;protected static String TEST_SITE_URL = &amp;quot;https://example.appiancloud.com/suite&amp;quot;;&lt;/strong&gt;&lt;/li&gt;
&lt;li&gt;Update &lt;strong&gt;TEST_USERNAME&lt;/strong&gt; with a username, such as &lt;strong&gt;protected static String TEST_USERNAME = &amp;quot;tester.tester&amp;quot;;&lt;/strong&gt; * Make sure this user exists in &lt;strong&gt;configs/users.properties&lt;/strong&gt;&lt;/li&gt;
&lt;/ol&gt;
&lt;/li&gt;
&lt;li&gt;Run the &lt;strong&gt;main()&lt;/strong&gt; method of this class:
&lt;ol&gt;
&lt;li&gt;&amp;nbsp;You should see that a Chrome browser will open up, and the fixture commands in &lt;strong&gt;HelloAppian.java&lt;/strong&gt; will execute accordingly.&lt;/li&gt;
&lt;li&gt;Note that this test will fail since your site might not have an action &amp;quot;Create a Case&amp;quot; under menu &amp;quot;Actions&amp;quot; that opens up an interface that has a &amp;quot;Submit&amp;quot; button.&lt;/li&gt;
&lt;/ol&gt;
&lt;/li&gt;
&lt;/ol&gt;
&lt;h2 id="features"&gt;Features&lt;/h2&gt;
&lt;p&gt;Multiple browser support&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;Chrome&lt;/li&gt;
&lt;li&gt;Firefox&lt;/li&gt;
&lt;/ul&gt;
&lt;h2 id="benefits"&gt;Benefits&lt;/h2&gt;
&lt;ul&gt;
&lt;li&gt;Define your own integration tests without being limited by a third-party testing tool&lt;/li&gt;
&lt;li&gt;Selenium-based test scripts can be created for reusability throughout test suites&lt;/li&gt;
&lt;li&gt;Methods created specifically to operate within Appian applications and Tempo&lt;/li&gt;
&lt;li&gt;Test scripts do not need to be updated when upgrading between supported Appian versions&lt;/li&gt;
&lt;li&gt;Test scripts are easily updated for new UI changes to a form or interface&lt;/li&gt;
&lt;li&gt;Appian design knowledge is not required to create test scripts&lt;/li&gt;
&lt;/ul&gt;
&lt;h2 id="release_notes"&gt;Release Notes&lt;/h2&gt;
&lt;h3 id="24.2"&gt;June 2024 - Release 24.2&lt;/h3&gt;
&lt;ul&gt;
&lt;li class="ql-indent-1"&gt;Enhancements
&lt;ul&gt;
&lt;li class="ql-indent-1"&gt;Updated locator for site menu links&lt;/li&gt;
&lt;li class="ql-indent-1"&gt;Created method which supports clicking on text within an interface. This is particularly useful for nested cards such as tab layouts, but can also be used as a fallback when existing methods don&amp;#39;t work. This method is available for all Appian versions.&lt;/li&gt;
&lt;li class="ql-indent-1"&gt;Click operation on Card layout will be performed on the left side of the element instead of the right. We&amp;#39;re not expecting any impact on existing test cases.&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;h3 id="june&amp;nbsp;2023_-_release_23.2.1"&gt;March 2024 - Release 24.1&lt;/h3&gt;
&lt;ul&gt;
&lt;li class="ql-indent-1"&gt;Enhancements
&lt;ul&gt;
&lt;li style="font-weight:400;"&gt;&lt;span style="font-weight:400;"&gt;Support for Appian version 24.1&lt;/span&gt;&lt;/li&gt;
&lt;li style="font-weight:400;"&gt;Adds support for collapsing/opening sidebars&lt;/li&gt;
&lt;li style="font-weight:400;"&gt;ClickOnCard updated to support clicking on cards with complex content. For example, the method can now click on cards that have a component nested in multiple layouts within the card&lt;!--mce:protected %3C%21--mce%3Aprotected%20%253C%2521--mce%253Aprotected%2520%25253C%252521--%252520notionvc%25253A%252520c9bfab53-e4e1-4301-9c43-08f4d6f59a50%252520--%25253E--%253E--%3E--&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;h3 id="june&amp;nbsp;2023_-_release_23.2.1"&gt;November&amp;nbsp;2023 - Release 23.4&lt;/h3&gt;
&lt;ul&gt;
&lt;li class="ql-indent-1"&gt;&lt;strong&gt;NOTE&lt;/strong&gt;: &lt;span style="font-weight:400;"&gt;Project has been updated to require Java 11 JRE&lt;/span&gt;&lt;/li&gt;
&lt;li class="ql-indent-1"&gt;Enhancements
&lt;ul&gt;
&lt;li style="font-weight:400;"&gt;&lt;span style="font-weight:400;"&gt;Support for Appian version 23.4&lt;/span&gt;&lt;/li&gt;
&lt;li style="font-weight:400;"&gt;&lt;span style="font-weight:400;"&gt;Add support for the side navigation menu in sites&lt;/span&gt;&lt;/li&gt;
&lt;li style="font-weight:400;"&gt;&lt;span style="font-weight:400;"&gt;Add support for downloading charts&lt;/span&gt;&lt;/li&gt;
&lt;li style="font-weight:400;"&gt;&lt;span style="font-weight:400;"&gt;Add support for buttons configured with custom colors&lt;/span&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;Bug Fixes
&lt;ul&gt;
&lt;li style="font-weight:400;"&gt;&lt;span style="font-weight:400;"&gt;Honor the download directory given in custom.properties for Remote Drivers&lt;/span&gt;&lt;/li&gt;
&lt;li style="font-weight:400;"&gt;&lt;span style="font-weight:400;"&gt;Update dropdowns for versions greater than 23.3 to ignore the aria-checked value&lt;/span&gt;&lt;/li&gt;
&lt;li style="font-weight:400;"&gt;&lt;span style="font-weight:400;"&gt;Fixed Populate Record Type Data Range User Filter method&lt;/span&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;h3 id="june&amp;nbsp;2023_-_release_23.2.1"&gt;August 2023 - Release 23.3&lt;/h3&gt;
&lt;ul&gt;
&lt;li class="ql-indent-1"&gt;&lt;strong&gt;NOTE&lt;/strong&gt;: &lt;span style="font-weight:400;"&gt;Project has been updated to require Java 11 JRE&lt;/span&gt;&lt;/li&gt;
&lt;li class="ql-indent-1"&gt;Enhancements
&lt;ul&gt;
&lt;li style="font-weight:400;"&gt;&lt;span style="font-weight:400;"&gt;Supports Appian version 23.3&lt;/span&gt;&lt;/li&gt;
&lt;li style="font-weight:400;"&gt;&lt;span style="font-weight:400;"&gt;Added functionality to interact with new site group headers&lt;/span&gt;&lt;/li&gt;
&lt;li style="font-weight:400;"&gt;&lt;span style="font-weight:400;"&gt;Updated to Selenium 4.11.0&lt;/span&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;Bug Fixes
&lt;ul&gt;
&lt;li style="font-weight:400;"&gt;&lt;span style="font-weight:400;"&gt;Update checkboxes to support CARD style for 23.3 and later Appian versions&lt;/span&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;h3 id="june&amp;nbsp;2023_-_release_23.2.1"&gt;June&amp;nbsp;2023 - Release 23.2.1&lt;/h3&gt;
&lt;ul&gt;
&lt;li class="ql-indent-1"&gt;&lt;strong&gt;NOTE&lt;/strong&gt;: Updates to site navigation in the 23.2 product breaks the use of the clickOnMenu method defined in TempoFixtures for site environments. clickOnMenu, and other navigation methods defined in TempoFixtures, are guaranteed&amp;nbsp;to work only in Tempo environments. Use the clickOnSitePage method defined in SitesFixtures instead&lt;/li&gt;
&lt;li&gt;Bug Fixes
&lt;ul&gt;
&lt;li&gt;Update pickers to recognize selections with links (e.g. Record Pickers)&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;h3 id="june&amp;nbsp;2023_-_release_23.2"&gt;June&amp;nbsp;2023 - Release 23.2&lt;/h3&gt;
&lt;ul&gt;
&lt;li&gt;Enhancements
&lt;ul&gt;
&lt;li class="ql-indent-1"&gt;Supports Appian version 23.2
&lt;ul&gt;
&lt;li class="ql-indent-1"&gt;&lt;strong&gt;NOTE&lt;/strong&gt;: Updates to site navigation in the 23.2 product breaks the use of the clickOnMenu method defined in TempoFixtures for site environments. clickOnMenu, and other navigation methods defined in TempoFixtures, are guaranteed&amp;nbsp;to work only in Tempo environments. Use the clickOnSitePage method defined in SitesFixtures instead&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;h3 id="may_2023_-_release_23.1.2"&gt;May 2023 - Release 23.1.2&lt;/h3&gt;
&lt;ul&gt;
&lt;li&gt;Bug Fixes
&lt;ul&gt;
&lt;li&gt;Fixes an issue where Dropdowns with Search were not working&lt;/li&gt;
&lt;li&gt;Fixes an Issue where verifyText did not work on multi-node components&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;h3 id="february_2023_-_release_23.1"&gt;February 2023 - Release 23.1&lt;/h3&gt;
&lt;ul&gt;
&lt;li&gt;Enhancements
&lt;ul&gt;
&lt;li&gt;Supports Appian version 23.1&lt;/li&gt;
&lt;li&gt;Updated locator for Dropdown class&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;Bug Fixes
&lt;ul&gt;
&lt;li&gt;Update CVEs&lt;/li&gt;
&lt;li&gt;Update scripts (start.bat, start-mac.sh, start-unix.sh, runFitNesseTest.sh) to reference the new fitnesse-20221219-standalone.jar&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;h3 id="august&amp;nbsp;2022_-_release_22.3"&gt;August&amp;nbsp;2022 - Release 22.3&lt;/h3&gt;
&lt;ul&gt;
&lt;li&gt;Appian Selenium API is released and supported&lt;/li&gt;
&lt;li&gt;Removed support for 20.3&lt;/li&gt;
&lt;/ul&gt;
&lt;h3 id="november&amp;nbsp;2021_-_release_21.4"&gt;November&amp;nbsp;2021 - Release 21.4&lt;/h3&gt;
&lt;ul&gt;
&lt;li&gt;Enhancements
&lt;ul&gt;
&lt;li&gt;Support new card choice components&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;Bug Fixes
&lt;ul&gt;
&lt;li class="ql-indent-1"&gt;Update CVEs&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;h3 id="august&amp;nbsp;2021_-_release_21.3"&gt;August&amp;nbsp;2021 - Release 21.3&lt;/h3&gt;
&lt;ul&gt;
&lt;li&gt;Bug Fixes
&lt;ul&gt;
&lt;li class="ql-indent-1"&gt;Fix bug for radio button card&lt;/li&gt;
&lt;li class="ql-indent-1"&gt;Fix bug for date picker&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;h3 id="june_2021_-_release_21.2"&gt;June 2021 - Release 21.2&lt;/h3&gt;
&lt;ul&gt;
&lt;li&gt;Enhancements
&lt;ul&gt;
&lt;li class="ql-indent-1"&gt;Support new SectionLayout&lt;/li&gt;
&lt;li class="ql-indent-1"&gt;Upgrade Selenium Server to 3.141.59&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;Bug Fixes
&lt;ul&gt;
&lt;li class="ql-indent-1"&gt;Fix bug for radio button card&lt;/li&gt;
&lt;li class="ql-indent-1"&gt;Fix bug for icon link alt text&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;h3 id="march&amp;nbsp;2021_-_release_21.1"&gt;March&amp;nbsp;2021 - Release 21.1&lt;/h3&gt;
&lt;ul&gt;
&lt;li&gt;Appian Selenium API is released and supported&lt;/li&gt;
&lt;/ul&gt;
&lt;/div&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;

&lt;div style="font-size: 90%;"&gt;Tags: testing, Architecture&lt;/div&gt;
</description></item><item><title>Automated Testing with Appian Selenium API</title><link>https://community.appian.com/success/w/guide/3312/automated-testing-with-appian-selenium-api/revision/27</link><pubDate>Mon, 01 Jul 2024 17:07:14 GMT</pubDate><guid isPermaLink="false">d3a83456-d57b-489c-a84c-4e8267bb592a:af6be428-e229-4a89-9844-d99ca095396c</guid><dc:creator>joel.larin</dc:creator><comments>https://community.appian.com/success/w/guide/3312/automated-testing-with-appian-selenium-api#comments</comments><description>Revision 27 posted to Guide by joel.larin on 7/1/2024 5:07:14 PM&lt;br /&gt;
&lt;div style="margin:8px 16% 8px 8%;"&gt;
&lt;h2 id="requirements"&gt;Requirements&lt;/h2&gt;
&lt;ul style="font-size:110%;"&gt;
&lt;li&gt;Appian 22.2 and above&lt;/li&gt;
&lt;li&gt;Java Runtime Environment 11&lt;/li&gt;
&lt;li&gt;Chrome or Firefox browsers.&amp;nbsp;    	    	        &lt;div style="padding: 1em; margin: 1em 0; color: #444; background-color: #fff; border: solid 1px #ddd;"&gt;
	    	        If using Chrome, we recommend also using Chrome For Testing for a more consistent testing experience
	    &lt;/div&gt;
	&lt;/li&gt;
&lt;li&gt;An IDE, such as IntelliJ IDEA or Eclipse&lt;/li&gt;
&lt;/ul&gt;
&lt;h2 id="setup"&gt;Setup&lt;/h2&gt;
&lt;p&gt;The &lt;a href="/b/appmarket/posts/appian_2d00_selenium_2d00_api"&gt;Appian Selenium API&lt;/a&gt; plug-in is a Java library which allows you to write automated tests for your Appian UIs. It contains methods which allow you to interact with Appian components in a browser. It provides methods and fixtures to interact with Appian applications in its various environments, e.g. Tempo or Sites. When writing tests, be sure to use methods from the correct fixture for the environment under test, e.g. use SitesFixture where possible to test Sites. Methods defined in fixtures that are intended for different environments are not guaranteed to work in future versions of the plugin.&lt;/p&gt;
&lt;p&gt;It can be used in a Java application or integrated directly into any Selenium or Java-based testing tool.&lt;/p&gt;
&lt;p&gt;Appian Selenium API contains the underlying Selenium methods used by &lt;a href="/b/appmarket/posts/cucumber-for-appian"&gt;Cucumber for Appian&lt;/a&gt; and &lt;a href="/b/appmarket/posts/fitnesse-for-appian"&gt;FitNesse for Appian&lt;/a&gt;, but offers you more flexibility by allowing you to define your own automated test cases. You can create your own Cucumber Step Definitions, your own testNG test, or the Java Framework of your choosing. You are no longer tied to Cucumber for Appian or FitNesse for Appian yet you get the same ease and simplicity of those respective frameworks.&lt;/p&gt;
&lt;ol style="font-size:110%;"&gt;
&lt;li&gt;Open this project in an IDE, such as IntelliJ IDEA or Eclipse.&lt;/li&gt;
&lt;li&gt;Update configurations:
&lt;ol&gt;
&lt;li&gt;&amp;nbsp;Open file &lt;strong&gt;configs/custom.properties&lt;/strong&gt;
&lt;ol&gt;
&lt;li&gt;Update &lt;strong&gt;automated.testing.hom&lt;/strong&gt;e with the path to this installation. Examples:
&lt;ol&gt;
&lt;li&gt;Windows: &lt;strong&gt;automated.testing.home=C:\\testFolder\\appian-selenium-api-example-java&lt;/strong&gt;&lt;/li&gt;
&lt;li&gt;Mac: &lt;strong&gt;automated.testing.home=/Users/tester/Desktop/appian-selenium-api-example-java&lt;/strong&gt;&lt;/li&gt;
&lt;/ol&gt;
&lt;/li&gt;
&lt;li&gt;Update &lt;strong&gt;chrome.driver.home&lt;/strong&gt; with the path to the Chrome driver that comes with this installation. Examples: * Windows: &lt;strong&gt;automated.testing.home=C:\\testFolder\\appian-selenium-api-example-java\\lib\\drivers\\chromedriver.exe&lt;/strong&gt; * Mac: &lt;strong&gt;automated.testing.home=/Users/tester/Desktop/appian-selenium-api-example-java/lib/drivers/chromedriver-mac&lt;/strong&gt;&lt;/li&gt;
&lt;/ol&gt;
&lt;/li&gt;
&lt;li&gt;Open file&lt;strong&gt; configs/users.properties&lt;/strong&gt;, for each username used in a test add a line in the format of &lt;strong&gt;&amp;lt;username&amp;gt;=&amp;lt;password&amp;gt;&lt;/strong&gt; to this file.
&lt;ol&gt;
&lt;li&gt;If you prefer not to disclose your password in plain text, you can also choose to use &lt;strong&gt;com.appiancorp.ps.automatedtest.fixture.BaseFixture.loginIntoWithUsernameAndPassword&lt;/strong&gt; fixture method to login by passing in the password from a system property value.&lt;/li&gt;
&lt;/ol&gt;
&lt;/li&gt;
&lt;/ol&gt;
&lt;/li&gt;
&lt;li&gt;Open &amp;quot;src/main/java/com/appiancorp/example/HelloAppian.java&amp;quot;:
&lt;ol&gt;
&lt;li&gt;Update &lt;strong&gt;TEST_SITE_URL&lt;/strong&gt; to your Appian URL, such as &lt;strong&gt;protected static String TEST_SITE_URL = &amp;quot;https://example.appiancloud.com/suite&amp;quot;;&lt;/strong&gt;&lt;/li&gt;
&lt;li&gt;Update &lt;strong&gt;TEST_USERNAME&lt;/strong&gt; with a username, such as &lt;strong&gt;protected static String TEST_USERNAME = &amp;quot;tester.tester&amp;quot;;&lt;/strong&gt; * Make sure this user exists in &lt;strong&gt;configs/users.properties&lt;/strong&gt;&lt;/li&gt;
&lt;/ol&gt;
&lt;/li&gt;
&lt;li&gt;Run the &lt;strong&gt;main()&lt;/strong&gt; method of this class:
&lt;ol&gt;
&lt;li&gt;&amp;nbsp;You should see that a Chrome browser will open up, and the fixture commands in &lt;strong&gt;HelloAppian.java&lt;/strong&gt; will execute accordingly.&lt;/li&gt;
&lt;li&gt;Note that this test will fail since your site might not have an action &amp;quot;Create a Case&amp;quot; under menu &amp;quot;Actions&amp;quot; that opens up an interface that has a &amp;quot;Submit&amp;quot; button.&lt;/li&gt;
&lt;/ol&gt;
&lt;/li&gt;
&lt;/ol&gt;
&lt;h2 id="features"&gt;Features&lt;/h2&gt;
&lt;p&gt;Multiple browser support&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;Chrome&lt;/li&gt;
&lt;li&gt;Firefox&lt;/li&gt;
&lt;/ul&gt;
&lt;h2 id="benefits"&gt;Benefits&lt;/h2&gt;
&lt;ul&gt;
&lt;li&gt;Define your own integration tests without being limited by a third-party testing tool&lt;/li&gt;
&lt;li&gt;Selenium-based test scripts can be created for reusability throughout test suites&lt;/li&gt;
&lt;li&gt;Methods created specifically to operate within Appian applications and Tempo&lt;/li&gt;
&lt;li&gt;Test scripts do not need to be updated when upgrading between supported Appian versions&lt;/li&gt;
&lt;li&gt;Test scripts are easily updated for new UI changes to a form or interface&lt;/li&gt;
&lt;li&gt;Appian design knowledge is not required to create test scripts&lt;/li&gt;
&lt;/ul&gt;
&lt;h2 id="release_notes"&gt;Release Notes&lt;/h2&gt;
&lt;h3 id="24.2"&gt;June 2024 - Release 24.2&lt;/h3&gt;
&lt;ul&gt;
&lt;li class="ql-indent-1"&gt;Enhancements
&lt;ul&gt;
&lt;li class="ql-indent-1"&gt;Updated locator for site menu links&lt;/li&gt;
&lt;li class="ql-indent-1"&gt;Created method which supports clicking on text within an interface. This is particularly useful for nested cards such as tab layouts, but can also be used as a fallback when existing methods don&amp;#39;t work. This method is available for all Appian versions.&lt;/li&gt;
&lt;li class="ql-indent-1"&gt;Click operation on Card layout will be performed on the left side of the element instead of the right. We&amp;#39;re not expecting any impact on existing test cases.&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;h3 id="june&amp;nbsp;2023_-_release_23.2.1"&gt;March 2024 - Release 24.1&lt;/h3&gt;
&lt;ul&gt;
&lt;li class="ql-indent-1"&gt;Enhancements
&lt;ul&gt;
&lt;li style="font-weight:400;"&gt;&lt;span style="font-weight:400;"&gt;Support for Appian version 24.1&lt;/span&gt;&lt;/li&gt;
&lt;li style="font-weight:400;"&gt;Adds support for collapsing/opening sidebars&lt;/li&gt;
&lt;li style="font-weight:400;"&gt;ClickOnCard updated to support clicking on cards with complex content. For example, the method can now click on cards that have a component nested in multiple layouts within the card&lt;!--mce:protected %3C%21--mce%3Aprotected%20%253C%2521--%2520notionvc%253A%2520c9bfab53-e4e1-4301-9c43-08f4d6f59a50%2520--%253E--%3E--&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;h3 id="june&amp;nbsp;2023_-_release_23.2.1"&gt;November&amp;nbsp;2023 - Release 23.4&lt;/h3&gt;
&lt;ul&gt;
&lt;li class="ql-indent-1"&gt;&lt;strong&gt;NOTE&lt;/strong&gt;: &lt;span style="font-weight:400;"&gt;Project has been updated to require Java 11 JRE&lt;/span&gt;&lt;/li&gt;
&lt;li class="ql-indent-1"&gt;Enhancements
&lt;ul&gt;
&lt;li style="font-weight:400;"&gt;&lt;span style="font-weight:400;"&gt;Support for Appian version 23.4&lt;/span&gt;&lt;/li&gt;
&lt;li style="font-weight:400;"&gt;&lt;span style="font-weight:400;"&gt;Add support for the side navigation menu in sites&lt;/span&gt;&lt;/li&gt;
&lt;li style="font-weight:400;"&gt;&lt;span style="font-weight:400;"&gt;Add support for downloading charts&lt;/span&gt;&lt;/li&gt;
&lt;li style="font-weight:400;"&gt;&lt;span style="font-weight:400;"&gt;Add support for buttons configured with custom colors&lt;/span&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;Bug Fixes
&lt;ul&gt;
&lt;li style="font-weight:400;"&gt;&lt;span style="font-weight:400;"&gt;Honor the download directory given in custom.properties for Remote Drivers&lt;/span&gt;&lt;/li&gt;
&lt;li style="font-weight:400;"&gt;&lt;span style="font-weight:400;"&gt;Update dropdowns for versions greater than 23.3 to ignore the aria-checked value&lt;/span&gt;&lt;/li&gt;
&lt;li style="font-weight:400;"&gt;&lt;span style="font-weight:400;"&gt;Fixed Populate Record Type Data Range User Filter method&lt;/span&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;h3 id="june&amp;nbsp;2023_-_release_23.2.1"&gt;August 2023 - Release 23.3&lt;/h3&gt;
&lt;ul&gt;
&lt;li class="ql-indent-1"&gt;&lt;strong&gt;NOTE&lt;/strong&gt;: &lt;span style="font-weight:400;"&gt;Project has been updated to require Java 11 JRE&lt;/span&gt;&lt;/li&gt;
&lt;li class="ql-indent-1"&gt;Enhancements
&lt;ul&gt;
&lt;li style="font-weight:400;"&gt;&lt;span style="font-weight:400;"&gt;Supports Appian version 23.3&lt;/span&gt;&lt;/li&gt;
&lt;li style="font-weight:400;"&gt;&lt;span style="font-weight:400;"&gt;Added functionality to interact with new site group headers&lt;/span&gt;&lt;/li&gt;
&lt;li style="font-weight:400;"&gt;&lt;span style="font-weight:400;"&gt;Updated to Selenium 4.11.0&lt;/span&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;Bug Fixes
&lt;ul&gt;
&lt;li style="font-weight:400;"&gt;&lt;span style="font-weight:400;"&gt;Update checkboxes to support CARD style for 23.3 and later Appian versions&lt;/span&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;h3 id="june&amp;nbsp;2023_-_release_23.2.1"&gt;June&amp;nbsp;2023 - Release 23.2.1&lt;/h3&gt;
&lt;ul&gt;
&lt;li class="ql-indent-1"&gt;&lt;strong&gt;NOTE&lt;/strong&gt;: Updates to site navigation in the 23.2 product breaks the use of the clickOnMenu method defined in TempoFixtures for site environments. clickOnMenu, and other navigation methods defined in TempoFixtures, are guaranteed&amp;nbsp;to work only in Tempo environments. Use the clickOnSitePage method defined in SitesFixtures instead&lt;/li&gt;
&lt;li&gt;Bug Fixes
&lt;ul&gt;
&lt;li&gt;Update pickers to recognize selections with links (e.g. Record Pickers)&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;h3 id="june&amp;nbsp;2023_-_release_23.2"&gt;June&amp;nbsp;2023 - Release 23.2&lt;/h3&gt;
&lt;ul&gt;
&lt;li&gt;Enhancements
&lt;ul&gt;
&lt;li class="ql-indent-1"&gt;Supports Appian version 23.2
&lt;ul&gt;
&lt;li class="ql-indent-1"&gt;&lt;strong&gt;NOTE&lt;/strong&gt;: Updates to site navigation in the 23.2 product breaks the use of the clickOnMenu method defined in TempoFixtures for site environments. clickOnMenu, and other navigation methods defined in TempoFixtures, are guaranteed&amp;nbsp;to work only in Tempo environments. Use the clickOnSitePage method defined in SitesFixtures instead&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;h3 id="may_2023_-_release_23.1.2"&gt;May 2023 - Release 23.1.2&lt;/h3&gt;
&lt;ul&gt;
&lt;li&gt;Bug Fixes
&lt;ul&gt;
&lt;li&gt;Fixes an issue where Dropdowns with Search were not working&lt;/li&gt;
&lt;li&gt;Fixes an Issue where verifyText did not work on multi-node components&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;h3 id="february_2023_-_release_23.1"&gt;February 2023 - Release 23.1&lt;/h3&gt;
&lt;ul&gt;
&lt;li&gt;Enhancements
&lt;ul&gt;
&lt;li&gt;Supports Appian version 23.1&lt;/li&gt;
&lt;li&gt;Updated locator for Dropdown class&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;Bug Fixes
&lt;ul&gt;
&lt;li&gt;Update CVEs&lt;/li&gt;
&lt;li&gt;Update scripts (start.bat, start-mac.sh, start-unix.sh, runFitNesseTest.sh) to reference the new fitnesse-20221219-standalone.jar&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;h3 id="august&amp;nbsp;2022_-_release_22.3"&gt;August&amp;nbsp;2022 - Release 22.3&lt;/h3&gt;
&lt;ul&gt;
&lt;li&gt;Appian Selenium API is released and supported&lt;/li&gt;
&lt;li&gt;Removed support for 20.3&lt;/li&gt;
&lt;/ul&gt;
&lt;h3 id="november&amp;nbsp;2021_-_release_21.4"&gt;November&amp;nbsp;2021 - Release 21.4&lt;/h3&gt;
&lt;ul&gt;
&lt;li&gt;Enhancements
&lt;ul&gt;
&lt;li&gt;Support new card choice components&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;Bug Fixes
&lt;ul&gt;
&lt;li class="ql-indent-1"&gt;Update CVEs&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;h3 id="august&amp;nbsp;2021_-_release_21.3"&gt;August&amp;nbsp;2021 - Release 21.3&lt;/h3&gt;
&lt;ul&gt;
&lt;li&gt;Bug Fixes
&lt;ul&gt;
&lt;li class="ql-indent-1"&gt;Fix bug for radio button card&lt;/li&gt;
&lt;li class="ql-indent-1"&gt;Fix bug for date picker&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;h3 id="june_2021_-_release_21.2"&gt;June 2021 - Release 21.2&lt;/h3&gt;
&lt;ul&gt;
&lt;li&gt;Enhancements
&lt;ul&gt;
&lt;li class="ql-indent-1"&gt;Support new SectionLayout&lt;/li&gt;
&lt;li class="ql-indent-1"&gt;Upgrade Selenium Server to 3.141.59&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;Bug Fixes
&lt;ul&gt;
&lt;li class="ql-indent-1"&gt;Fix bug for radio button card&lt;/li&gt;
&lt;li class="ql-indent-1"&gt;Fix bug for icon link alt text&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;h3 id="march&amp;nbsp;2021_-_release_21.1"&gt;March&amp;nbsp;2021 - Release 21.1&lt;/h3&gt;
&lt;ul&gt;
&lt;li&gt;Appian Selenium API is released and supported&lt;/li&gt;
&lt;/ul&gt;
&lt;/div&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;

&lt;div style="font-size: 90%;"&gt;Tags: testing, Architecture&lt;/div&gt;
</description></item><item><title>Automated Testing with Appian Selenium API</title><link>https://community.appian.com/success/w/guide/3312/automated-testing-with-appian-selenium-api/revision/26</link><pubDate>Mon, 01 Jul 2024 17:06:23 GMT</pubDate><guid isPermaLink="false">d3a83456-d57b-489c-a84c-4e8267bb592a:af6be428-e229-4a89-9844-d99ca095396c</guid><dc:creator>joel.larin</dc:creator><comments>https://community.appian.com/success/w/guide/3312/automated-testing-with-appian-selenium-api#comments</comments><description>Revision 26 posted to Guide by joel.larin on 7/1/2024 5:06:23 PM&lt;br /&gt;
&lt;div style="margin:8px 16% 8px 8%;"&gt;
&lt;h2 id="requirements"&gt;Requirements&lt;/h2&gt;
&lt;ul style="font-size:110%;"&gt;
&lt;li&gt;Appian 22.2 and above&lt;/li&gt;
&lt;li&gt;Java Runtime Environment 11&lt;/li&gt;
&lt;li&gt;Chrome or Firefox browsers.
&lt;ul&gt;
&lt;li&gt;If using Chrome, we recommend also using &lt;a href="https://developer.chrome.com/blog/chrome-for-testing/"&gt;Chrome For Testing&lt;/a&gt; for a more consistent testing experience&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;An IDE, such as IntelliJ IDEA or Eclipse&lt;/li&gt;
&lt;/ul&gt;
&lt;h2 id="setup"&gt;Setup&lt;/h2&gt;
&lt;p&gt;The &lt;a href="/b/appmarket/posts/appian_2d00_selenium_2d00_api"&gt;Appian Selenium API&lt;/a&gt; plug-in is a Java library which allows you to write automated tests for your Appian UIs. It contains methods which allow you to interact with Appian components in a browser. It provides methods and fixtures to interact with Appian applications in its various environments, e.g. Tempo or Sites. When writing tests, be sure to use methods from the correct fixture for the environment under test, e.g. use SitesFixture where possible to test Sites. Methods defined in fixtures that are intended for different environments are not guaranteed to work in future versions of the plugin.&lt;/p&gt;
&lt;p&gt;It can be used in a Java application or integrated directly into any Selenium or Java-based testing tool.&lt;/p&gt;
&lt;p&gt;Appian Selenium API contains the underlying Selenium methods used by &lt;a href="/b/appmarket/posts/cucumber-for-appian"&gt;Cucumber for Appian&lt;/a&gt; and &lt;a href="/b/appmarket/posts/fitnesse-for-appian"&gt;FitNesse for Appian&lt;/a&gt;, but offers you more flexibility by allowing you to define your own automated test cases. You can create your own Cucumber Step Definitions, your own testNG test, or the Java Framework of your choosing. You are no longer tied to Cucumber for Appian or FitNesse for Appian yet you get the same ease and simplicity of those respective frameworks.&lt;/p&gt;
&lt;ol style="font-size:110%;"&gt;
&lt;li&gt;Open this project in an IDE, such as IntelliJ IDEA or Eclipse.&lt;/li&gt;
&lt;li&gt;Update configurations:
&lt;ol&gt;
&lt;li&gt;&amp;nbsp;Open file &lt;strong&gt;configs/custom.properties&lt;/strong&gt;
&lt;ol&gt;
&lt;li&gt;Update &lt;strong&gt;automated.testing.hom&lt;/strong&gt;e with the path to this installation. Examples:
&lt;ol&gt;
&lt;li&gt;Windows: &lt;strong&gt;automated.testing.home=C:\\testFolder\\appian-selenium-api-example-java&lt;/strong&gt;&lt;/li&gt;
&lt;li&gt;Mac: &lt;strong&gt;automated.testing.home=/Users/tester/Desktop/appian-selenium-api-example-java&lt;/strong&gt;&lt;/li&gt;
&lt;/ol&gt;
&lt;/li&gt;
&lt;li&gt;Update &lt;strong&gt;chrome.driver.home&lt;/strong&gt; with the path to the Chrome driver that comes with this installation. Examples: * Windows: &lt;strong&gt;automated.testing.home=C:\\testFolder\\appian-selenium-api-example-java\\lib\\drivers\\chromedriver.exe&lt;/strong&gt; * Mac: &lt;strong&gt;automated.testing.home=/Users/tester/Desktop/appian-selenium-api-example-java/lib/drivers/chromedriver-mac&lt;/strong&gt;&lt;/li&gt;
&lt;/ol&gt;
&lt;/li&gt;
&lt;li&gt;Open file&lt;strong&gt; configs/users.properties&lt;/strong&gt;, for each username used in a test add a line in the format of &lt;strong&gt;&amp;lt;username&amp;gt;=&amp;lt;password&amp;gt;&lt;/strong&gt; to this file.
&lt;ol&gt;
&lt;li&gt;If you prefer not to disclose your password in plain text, you can also choose to use &lt;strong&gt;com.appiancorp.ps.automatedtest.fixture.BaseFixture.loginIntoWithUsernameAndPassword&lt;/strong&gt; fixture method to login by passing in the password from a system property value.&lt;/li&gt;
&lt;/ol&gt;
&lt;/li&gt;
&lt;/ol&gt;
&lt;/li&gt;
&lt;li&gt;Open &amp;quot;src/main/java/com/appiancorp/example/HelloAppian.java&amp;quot;:
&lt;ol&gt;
&lt;li&gt;Update &lt;strong&gt;TEST_SITE_URL&lt;/strong&gt; to your Appian URL, such as &lt;strong&gt;protected static String TEST_SITE_URL = &amp;quot;https://example.appiancloud.com/suite&amp;quot;;&lt;/strong&gt;&lt;/li&gt;
&lt;li&gt;Update &lt;strong&gt;TEST_USERNAME&lt;/strong&gt; with a username, such as &lt;strong&gt;protected static String TEST_USERNAME = &amp;quot;tester.tester&amp;quot;;&lt;/strong&gt; * Make sure this user exists in &lt;strong&gt;configs/users.properties&lt;/strong&gt;&lt;/li&gt;
&lt;/ol&gt;
&lt;/li&gt;
&lt;li&gt;Run the &lt;strong&gt;main()&lt;/strong&gt; method of this class:
&lt;ol&gt;
&lt;li&gt;&amp;nbsp;You should see that a Chrome browser will open up, and the fixture commands in &lt;strong&gt;HelloAppian.java&lt;/strong&gt; will execute accordingly.&lt;/li&gt;
&lt;li&gt;Note that this test will fail since your site might not have an action &amp;quot;Create a Case&amp;quot; under menu &amp;quot;Actions&amp;quot; that opens up an interface that has a &amp;quot;Submit&amp;quot; button.&lt;/li&gt;
&lt;/ol&gt;
&lt;/li&gt;
&lt;/ol&gt;
&lt;h2 id="features"&gt;Features&lt;/h2&gt;
&lt;p&gt;Multiple browser support&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;Chrome&lt;/li&gt;
&lt;li&gt;Firefox&lt;/li&gt;
&lt;/ul&gt;
&lt;h2 id="benefits"&gt;Benefits&lt;/h2&gt;
&lt;ul&gt;
&lt;li&gt;Define your own integration tests without being limited by a third-party testing tool&lt;/li&gt;
&lt;li&gt;Selenium-based test scripts can be created for reusability throughout test suites&lt;/li&gt;
&lt;li&gt;Methods created specifically to operate within Appian applications and Tempo&lt;/li&gt;
&lt;li&gt;Test scripts do not need to be updated when upgrading between supported Appian versions&lt;/li&gt;
&lt;li&gt;Test scripts are easily updated for new UI changes to a form or interface&lt;/li&gt;
&lt;li&gt;Appian design knowledge is not required to create test scripts&lt;/li&gt;
&lt;/ul&gt;
&lt;h2 id="release_notes"&gt;Release Notes&lt;/h2&gt;
&lt;h3 id="24.2"&gt;June 2024 - Release 24.2&lt;/h3&gt;
&lt;ul&gt;
&lt;li class="ql-indent-1"&gt;Enhancements
&lt;ul&gt;
&lt;li class="ql-indent-1"&gt;Updated locator for site menu links&lt;/li&gt;
&lt;li class="ql-indent-1"&gt;Created method which supports clicking on text within an interface. This is particularly useful for nested cards such as tab layouts, but can also be used as a fallback when existing methods don&amp;#39;t work. This method is available for all Appian versions.&lt;/li&gt;
&lt;li class="ql-indent-1"&gt;Click operation on Card layout will be performed on the left side of the element instead of the right. We&amp;#39;re not expecting any impact on existing test cases.&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;h3 id="june&amp;nbsp;2023_-_release_23.2.1"&gt;March 2024 - Release 24.1&lt;/h3&gt;
&lt;ul&gt;
&lt;li class="ql-indent-1"&gt;Enhancements
&lt;ul&gt;
&lt;li style="font-weight:400;"&gt;&lt;span style="font-weight:400;"&gt;Support for Appian version 24.1&lt;/span&gt;&lt;/li&gt;
&lt;li style="font-weight:400;"&gt;Adds support for collapsing/opening sidebars&lt;/li&gt;
&lt;li style="font-weight:400;"&gt;ClickOnCard updated to support clicking on cards with complex content. For example, the method can now click on cards that have a component nested in multiple layouts within the card&lt;!--mce:protected %3C%21--%20notionvc%3A%20c9bfab53-e4e1-4301-9c43-08f4d6f59a50%20--%3E--&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;h3 id="june&amp;nbsp;2023_-_release_23.2.1"&gt;November&amp;nbsp;2023 - Release 23.4&lt;/h3&gt;
&lt;ul&gt;
&lt;li class="ql-indent-1"&gt;&lt;strong&gt;NOTE&lt;/strong&gt;: &lt;span style="font-weight:400;"&gt;Project has been updated to require Java 11 JRE&lt;/span&gt;&lt;/li&gt;
&lt;li class="ql-indent-1"&gt;Enhancements
&lt;ul&gt;
&lt;li style="font-weight:400;"&gt;&lt;span style="font-weight:400;"&gt;Support for Appian version 23.4&lt;/span&gt;&lt;/li&gt;
&lt;li style="font-weight:400;"&gt;&lt;span style="font-weight:400;"&gt;Add support for the side navigation menu in sites&lt;/span&gt;&lt;/li&gt;
&lt;li style="font-weight:400;"&gt;&lt;span style="font-weight:400;"&gt;Add support for downloading charts&lt;/span&gt;&lt;/li&gt;
&lt;li style="font-weight:400;"&gt;&lt;span style="font-weight:400;"&gt;Add support for buttons configured with custom colors&lt;/span&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;Bug Fixes
&lt;ul&gt;
&lt;li style="font-weight:400;"&gt;&lt;span style="font-weight:400;"&gt;Honor the download directory given in custom.properties for Remote Drivers&lt;/span&gt;&lt;/li&gt;
&lt;li style="font-weight:400;"&gt;&lt;span style="font-weight:400;"&gt;Update dropdowns for versions greater than 23.3 to ignore the aria-checked value&lt;/span&gt;&lt;/li&gt;
&lt;li style="font-weight:400;"&gt;&lt;span style="font-weight:400;"&gt;Fixed Populate Record Type Data Range User Filter method&lt;/span&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;h3 id="june&amp;nbsp;2023_-_release_23.2.1"&gt;August 2023 - Release 23.3&lt;/h3&gt;
&lt;ul&gt;
&lt;li class="ql-indent-1"&gt;&lt;strong&gt;NOTE&lt;/strong&gt;: &lt;span style="font-weight:400;"&gt;Project has been updated to require Java 11 JRE&lt;/span&gt;&lt;/li&gt;
&lt;li class="ql-indent-1"&gt;Enhancements
&lt;ul&gt;
&lt;li style="font-weight:400;"&gt;&lt;span style="font-weight:400;"&gt;Supports Appian version 23.3&lt;/span&gt;&lt;/li&gt;
&lt;li style="font-weight:400;"&gt;&lt;span style="font-weight:400;"&gt;Added functionality to interact with new site group headers&lt;/span&gt;&lt;/li&gt;
&lt;li style="font-weight:400;"&gt;&lt;span style="font-weight:400;"&gt;Updated to Selenium 4.11.0&lt;/span&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;Bug Fixes
&lt;ul&gt;
&lt;li style="font-weight:400;"&gt;&lt;span style="font-weight:400;"&gt;Update checkboxes to support CARD style for 23.3 and later Appian versions&lt;/span&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;h3 id="june&amp;nbsp;2023_-_release_23.2.1"&gt;June&amp;nbsp;2023 - Release 23.2.1&lt;/h3&gt;
&lt;ul&gt;
&lt;li class="ql-indent-1"&gt;&lt;strong&gt;NOTE&lt;/strong&gt;: Updates to site navigation in the 23.2 product breaks the use of the clickOnMenu method defined in TempoFixtures for site environments. clickOnMenu, and other navigation methods defined in TempoFixtures, are guaranteed&amp;nbsp;to work only in Tempo environments. Use the clickOnSitePage method defined in SitesFixtures instead&lt;/li&gt;
&lt;li&gt;Bug Fixes
&lt;ul&gt;
&lt;li&gt;Update pickers to recognize selections with links (e.g. Record Pickers)&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;h3 id="june&amp;nbsp;2023_-_release_23.2"&gt;June&amp;nbsp;2023 - Release 23.2&lt;/h3&gt;
&lt;ul&gt;
&lt;li&gt;Enhancements
&lt;ul&gt;
&lt;li class="ql-indent-1"&gt;Supports Appian version 23.2
&lt;ul&gt;
&lt;li class="ql-indent-1"&gt;&lt;strong&gt;NOTE&lt;/strong&gt;: Updates to site navigation in the 23.2 product breaks the use of the clickOnMenu method defined in TempoFixtures for site environments. clickOnMenu, and other navigation methods defined in TempoFixtures, are guaranteed&amp;nbsp;to work only in Tempo environments. Use the clickOnSitePage method defined in SitesFixtures instead&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;h3 id="may_2023_-_release_23.1.2"&gt;May 2023 - Release 23.1.2&lt;/h3&gt;
&lt;ul&gt;
&lt;li&gt;Bug Fixes
&lt;ul&gt;
&lt;li&gt;Fixes an issue where Dropdowns with Search were not working&lt;/li&gt;
&lt;li&gt;Fixes an Issue where verifyText did not work on multi-node components&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;h3 id="february_2023_-_release_23.1"&gt;February 2023 - Release 23.1&lt;/h3&gt;
&lt;ul&gt;
&lt;li&gt;Enhancements
&lt;ul&gt;
&lt;li&gt;Supports Appian version 23.1&lt;/li&gt;
&lt;li&gt;Updated locator for Dropdown class&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;Bug Fixes
&lt;ul&gt;
&lt;li&gt;Update CVEs&lt;/li&gt;
&lt;li&gt;Update scripts (start.bat, start-mac.sh, start-unix.sh, runFitNesseTest.sh) to reference the new fitnesse-20221219-standalone.jar&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;h3 id="august&amp;nbsp;2022_-_release_22.3"&gt;August&amp;nbsp;2022 - Release 22.3&lt;/h3&gt;
&lt;ul&gt;
&lt;li&gt;Appian Selenium API is released and supported&lt;/li&gt;
&lt;li&gt;Removed support for 20.3&lt;/li&gt;
&lt;/ul&gt;
&lt;h3 id="november&amp;nbsp;2021_-_release_21.4"&gt;November&amp;nbsp;2021 - Release 21.4&lt;/h3&gt;
&lt;ul&gt;
&lt;li&gt;Enhancements
&lt;ul&gt;
&lt;li&gt;Support new card choice components&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;Bug Fixes
&lt;ul&gt;
&lt;li class="ql-indent-1"&gt;Update CVEs&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;h3 id="august&amp;nbsp;2021_-_release_21.3"&gt;August&amp;nbsp;2021 - Release 21.3&lt;/h3&gt;
&lt;ul&gt;
&lt;li&gt;Bug Fixes
&lt;ul&gt;
&lt;li class="ql-indent-1"&gt;Fix bug for radio button card&lt;/li&gt;
&lt;li class="ql-indent-1"&gt;Fix bug for date picker&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;h3 id="june_2021_-_release_21.2"&gt;June 2021 - Release 21.2&lt;/h3&gt;
&lt;ul&gt;
&lt;li&gt;Enhancements
&lt;ul&gt;
&lt;li class="ql-indent-1"&gt;Support new SectionLayout&lt;/li&gt;
&lt;li class="ql-indent-1"&gt;Upgrade Selenium Server to 3.141.59&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;Bug Fixes
&lt;ul&gt;
&lt;li class="ql-indent-1"&gt;Fix bug for radio button card&lt;/li&gt;
&lt;li class="ql-indent-1"&gt;Fix bug for icon link alt text&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;h3 id="march&amp;nbsp;2021_-_release_21.1"&gt;March&amp;nbsp;2021 - Release 21.1&lt;/h3&gt;
&lt;ul&gt;
&lt;li&gt;Appian Selenium API is released and supported&lt;/li&gt;
&lt;/ul&gt;
&lt;/div&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;

&lt;div style="font-size: 90%;"&gt;Tags: testing, Architecture&lt;/div&gt;
</description></item><item><title>Automated Testing with Appian Selenium API</title><link>https://community.appian.com/success/w/guide/3312/automated-testing-with-appian-selenium-api/revision/25</link><pubDate>Mon, 01 Jul 2024 17:05:56 GMT</pubDate><guid isPermaLink="false">d3a83456-d57b-489c-a84c-4e8267bb592a:af6be428-e229-4a89-9844-d99ca095396c</guid><dc:creator>joel.larin</dc:creator><comments>https://community.appian.com/success/w/guide/3312/automated-testing-with-appian-selenium-api#comments</comments><description>Revision 25 posted to Guide by joel.larin on 7/1/2024 5:05:56 PM&lt;br /&gt;
&lt;div style="margin:8px 16% 8px 8%;"&gt;
&lt;h2 id="requirements"&gt;Requirements&lt;/h2&gt;
&lt;ul style="font-size:110%;"&gt;
&lt;li&gt;Appian 22.2 and above&lt;/li&gt;
&lt;li&gt;Java Runtime Environment 11&lt;/li&gt;
&lt;li&gt;Chrome or Firefox browsers. If using Chrome, we recommend also using &lt;a href="https://developer.chrome.com/blog/chrome-for-testing/"&gt;Chrome For Testing&lt;/a&gt; for a more consistent testing experience&lt;/li&gt;
&lt;li&gt;An IDE, such as IntelliJ IDEA or Eclipse&lt;/li&gt;
&lt;/ul&gt;
&lt;h2 id="setup"&gt;Setup&lt;/h2&gt;
&lt;p&gt;The &lt;a href="/b/appmarket/posts/appian_2d00_selenium_2d00_api"&gt;Appian Selenium API&lt;/a&gt; plug-in is a Java library which allows you to write automated tests for your Appian UIs. It contains methods which allow you to interact with Appian components in a browser. It provides methods and fixtures to interact with Appian applications in its various environments, e.g. Tempo or Sites. When writing tests, be sure to use methods from the correct fixture for the environment under test, e.g. use SitesFixture where possible to test Sites. Methods defined in fixtures that are intended for different environments are not guaranteed to work in future versions of the plugin.&lt;/p&gt;
&lt;p&gt;It can be used in a Java application or integrated directly into any Selenium or Java-based testing tool.&lt;/p&gt;
&lt;p&gt;Appian Selenium API contains the underlying Selenium methods used by &lt;a href="/b/appmarket/posts/cucumber-for-appian"&gt;Cucumber for Appian&lt;/a&gt; and &lt;a href="/b/appmarket/posts/fitnesse-for-appian"&gt;FitNesse for Appian&lt;/a&gt;, but offers you more flexibility by allowing you to define your own automated test cases. You can create your own Cucumber Step Definitions, your own testNG test, or the Java Framework of your choosing. You are no longer tied to Cucumber for Appian or FitNesse for Appian yet you get the same ease and simplicity of those respective frameworks.&lt;/p&gt;
&lt;ol style="font-size:110%;"&gt;
&lt;li&gt;Open this project in an IDE, such as IntelliJ IDEA or Eclipse.&lt;/li&gt;
&lt;li&gt;Update configurations:
&lt;ol&gt;
&lt;li&gt;&amp;nbsp;Open file &lt;strong&gt;configs/custom.properties&lt;/strong&gt;
&lt;ol&gt;
&lt;li&gt;Update &lt;strong&gt;automated.testing.hom&lt;/strong&gt;e with the path to this installation. Examples:
&lt;ol&gt;
&lt;li&gt;Windows: &lt;strong&gt;automated.testing.home=C:\\testFolder\\appian-selenium-api-example-java&lt;/strong&gt;&lt;/li&gt;
&lt;li&gt;Mac: &lt;strong&gt;automated.testing.home=/Users/tester/Desktop/appian-selenium-api-example-java&lt;/strong&gt;&lt;/li&gt;
&lt;/ol&gt;
&lt;/li&gt;
&lt;li&gt;Update &lt;strong&gt;chrome.driver.home&lt;/strong&gt; with the path to the Chrome driver that comes with this installation. Examples: * Windows: &lt;strong&gt;automated.testing.home=C:\\testFolder\\appian-selenium-api-example-java\\lib\\drivers\\chromedriver.exe&lt;/strong&gt; * Mac: &lt;strong&gt;automated.testing.home=/Users/tester/Desktop/appian-selenium-api-example-java/lib/drivers/chromedriver-mac&lt;/strong&gt;&lt;/li&gt;
&lt;/ol&gt;
&lt;/li&gt;
&lt;li&gt;Open file&lt;strong&gt; configs/users.properties&lt;/strong&gt;, for each username used in a test add a line in the format of &lt;strong&gt;&amp;lt;username&amp;gt;=&amp;lt;password&amp;gt;&lt;/strong&gt; to this file.
&lt;ol&gt;
&lt;li&gt;If you prefer not to disclose your password in plain text, you can also choose to use &lt;strong&gt;com.appiancorp.ps.automatedtest.fixture.BaseFixture.loginIntoWithUsernameAndPassword&lt;/strong&gt; fixture method to login by passing in the password from a system property value.&lt;/li&gt;
&lt;/ol&gt;
&lt;/li&gt;
&lt;/ol&gt;
&lt;/li&gt;
&lt;li&gt;Open &amp;quot;src/main/java/com/appiancorp/example/HelloAppian.java&amp;quot;:
&lt;ol&gt;
&lt;li&gt;Update &lt;strong&gt;TEST_SITE_URL&lt;/strong&gt; to your Appian URL, such as &lt;strong&gt;protected static String TEST_SITE_URL = &amp;quot;https://example.appiancloud.com/suite&amp;quot;;&lt;/strong&gt;&lt;/li&gt;
&lt;li&gt;Update &lt;strong&gt;TEST_USERNAME&lt;/strong&gt; with a username, such as &lt;strong&gt;protected static String TEST_USERNAME = &amp;quot;tester.tester&amp;quot;;&lt;/strong&gt; * Make sure this user exists in &lt;strong&gt;configs/users.properties&lt;/strong&gt;&lt;/li&gt;
&lt;/ol&gt;
&lt;/li&gt;
&lt;li&gt;Run the &lt;strong&gt;main()&lt;/strong&gt; method of this class:
&lt;ol&gt;
&lt;li&gt;&amp;nbsp;You should see that a Chrome browser will open up, and the fixture commands in &lt;strong&gt;HelloAppian.java&lt;/strong&gt; will execute accordingly.&lt;/li&gt;
&lt;li&gt;Note that this test will fail since your site might not have an action &amp;quot;Create a Case&amp;quot; under menu &amp;quot;Actions&amp;quot; that opens up an interface that has a &amp;quot;Submit&amp;quot; button.&lt;/li&gt;
&lt;/ol&gt;
&lt;/li&gt;
&lt;/ol&gt;
&lt;h2 id="features"&gt;Features&lt;/h2&gt;
&lt;p&gt;Multiple browser support&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;Chrome&lt;/li&gt;
&lt;li&gt;Firefox&lt;/li&gt;
&lt;/ul&gt;
&lt;h2 id="benefits"&gt;Benefits&lt;/h2&gt;
&lt;ul&gt;
&lt;li&gt;Define your own integration tests without being limited by a third-party testing tool&lt;/li&gt;
&lt;li&gt;Selenium-based test scripts can be created for reusability throughout test suites&lt;/li&gt;
&lt;li&gt;Methods created specifically to operate within Appian applications and Tempo&lt;/li&gt;
&lt;li&gt;Test scripts do not need to be updated when upgrading between supported Appian versions&lt;/li&gt;
&lt;li&gt;Test scripts are easily updated for new UI changes to a form or interface&lt;/li&gt;
&lt;li&gt;Appian design knowledge is not required to create test scripts&lt;/li&gt;
&lt;/ul&gt;
&lt;h2 id="release_notes"&gt;Release Notes&lt;/h2&gt;
&lt;h3 id="24.2"&gt;June 2024 - Release 24.2&lt;/h3&gt;
&lt;ul&gt;
&lt;li class="ql-indent-1"&gt;Enhancements
&lt;ul&gt;
&lt;li class="ql-indent-1"&gt;Updated locator for site menu links&lt;/li&gt;
&lt;li class="ql-indent-1"&gt;Created method which supports clicking on text within an interface. This is particularly useful for nested cards such as tab layouts, but can also be used as a fallback when existing methods don&amp;#39;t work. This method is available for all Appian versions.&lt;/li&gt;
&lt;li class="ql-indent-1"&gt;Click operation on Card layout will be performed on the left side of the element instead of the right. We&amp;#39;re not expecting any impact on existing test cases.&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;h3 id="june&amp;nbsp;2023_-_release_23.2.1"&gt;March 2024 - Release 24.1&lt;/h3&gt;
&lt;ul&gt;
&lt;li class="ql-indent-1"&gt;Enhancements
&lt;ul&gt;
&lt;li style="font-weight:400;"&gt;&lt;span style="font-weight:400;"&gt;Support for Appian version 24.1&lt;/span&gt;&lt;/li&gt;
&lt;li style="font-weight:400;"&gt;Adds support for collapsing/opening sidebars&lt;/li&gt;
&lt;li style="font-weight:400;"&gt;ClickOnCard updated to support clicking on cards with complex content. For example, the method can now click on cards that have a component nested in multiple layouts within the card&lt;!--mce:protected %3C%21--%20notionvc%3A%20c9bfab53-e4e1-4301-9c43-08f4d6f59a50%20--%3E--&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;h3 id="june&amp;nbsp;2023_-_release_23.2.1"&gt;November&amp;nbsp;2023 - Release 23.4&lt;/h3&gt;
&lt;ul&gt;
&lt;li class="ql-indent-1"&gt;&lt;strong&gt;NOTE&lt;/strong&gt;: &lt;span style="font-weight:400;"&gt;Project has been updated to require Java 11 JRE&lt;/span&gt;&lt;/li&gt;
&lt;li class="ql-indent-1"&gt;Enhancements
&lt;ul&gt;
&lt;li style="font-weight:400;"&gt;&lt;span style="font-weight:400;"&gt;Support for Appian version 23.4&lt;/span&gt;&lt;/li&gt;
&lt;li style="font-weight:400;"&gt;&lt;span style="font-weight:400;"&gt;Add support for the side navigation menu in sites&lt;/span&gt;&lt;/li&gt;
&lt;li style="font-weight:400;"&gt;&lt;span style="font-weight:400;"&gt;Add support for downloading charts&lt;/span&gt;&lt;/li&gt;
&lt;li style="font-weight:400;"&gt;&lt;span style="font-weight:400;"&gt;Add support for buttons configured with custom colors&lt;/span&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;Bug Fixes
&lt;ul&gt;
&lt;li style="font-weight:400;"&gt;&lt;span style="font-weight:400;"&gt;Honor the download directory given in custom.properties for Remote Drivers&lt;/span&gt;&lt;/li&gt;
&lt;li style="font-weight:400;"&gt;&lt;span style="font-weight:400;"&gt;Update dropdowns for versions greater than 23.3 to ignore the aria-checked value&lt;/span&gt;&lt;/li&gt;
&lt;li style="font-weight:400;"&gt;&lt;span style="font-weight:400;"&gt;Fixed Populate Record Type Data Range User Filter method&lt;/span&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;h3 id="june&amp;nbsp;2023_-_release_23.2.1"&gt;August 2023 - Release 23.3&lt;/h3&gt;
&lt;ul&gt;
&lt;li class="ql-indent-1"&gt;&lt;strong&gt;NOTE&lt;/strong&gt;: &lt;span style="font-weight:400;"&gt;Project has been updated to require Java 11 JRE&lt;/span&gt;&lt;/li&gt;
&lt;li class="ql-indent-1"&gt;Enhancements
&lt;ul&gt;
&lt;li style="font-weight:400;"&gt;&lt;span style="font-weight:400;"&gt;Supports Appian version 23.3&lt;/span&gt;&lt;/li&gt;
&lt;li style="font-weight:400;"&gt;&lt;span style="font-weight:400;"&gt;Added functionality to interact with new site group headers&lt;/span&gt;&lt;/li&gt;
&lt;li style="font-weight:400;"&gt;&lt;span style="font-weight:400;"&gt;Updated to Selenium 4.11.0&lt;/span&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;Bug Fixes
&lt;ul&gt;
&lt;li style="font-weight:400;"&gt;&lt;span style="font-weight:400;"&gt;Update checkboxes to support CARD style for 23.3 and later Appian versions&lt;/span&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;h3 id="june&amp;nbsp;2023_-_release_23.2.1"&gt;June&amp;nbsp;2023 - Release 23.2.1&lt;/h3&gt;
&lt;ul&gt;
&lt;li class="ql-indent-1"&gt;&lt;strong&gt;NOTE&lt;/strong&gt;: Updates to site navigation in the 23.2 product breaks the use of the clickOnMenu method defined in TempoFixtures for site environments. clickOnMenu, and other navigation methods defined in TempoFixtures, are guaranteed&amp;nbsp;to work only in Tempo environments. Use the clickOnSitePage method defined in SitesFixtures instead&lt;/li&gt;
&lt;li&gt;Bug Fixes
&lt;ul&gt;
&lt;li&gt;Update pickers to recognize selections with links (e.g. Record Pickers)&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;h3 id="june&amp;nbsp;2023_-_release_23.2"&gt;June&amp;nbsp;2023 - Release 23.2&lt;/h3&gt;
&lt;ul&gt;
&lt;li&gt;Enhancements
&lt;ul&gt;
&lt;li class="ql-indent-1"&gt;Supports Appian version 23.2
&lt;ul&gt;
&lt;li class="ql-indent-1"&gt;&lt;strong&gt;NOTE&lt;/strong&gt;: Updates to site navigation in the 23.2 product breaks the use of the clickOnMenu method defined in TempoFixtures for site environments. clickOnMenu, and other navigation methods defined in TempoFixtures, are guaranteed&amp;nbsp;to work only in Tempo environments. Use the clickOnSitePage method defined in SitesFixtures instead&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;h3 id="may_2023_-_release_23.1.2"&gt;May 2023 - Release 23.1.2&lt;/h3&gt;
&lt;ul&gt;
&lt;li&gt;Bug Fixes
&lt;ul&gt;
&lt;li&gt;Fixes an issue where Dropdowns with Search were not working&lt;/li&gt;
&lt;li&gt;Fixes an Issue where verifyText did not work on multi-node components&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;h3 id="february_2023_-_release_23.1"&gt;February 2023 - Release 23.1&lt;/h3&gt;
&lt;ul&gt;
&lt;li&gt;Enhancements
&lt;ul&gt;
&lt;li&gt;Supports Appian version 23.1&lt;/li&gt;
&lt;li&gt;Updated locator for Dropdown class&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;Bug Fixes
&lt;ul&gt;
&lt;li&gt;Update CVEs&lt;/li&gt;
&lt;li&gt;Update scripts (start.bat, start-mac.sh, start-unix.sh, runFitNesseTest.sh) to reference the new fitnesse-20221219-standalone.jar&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;h3 id="august&amp;nbsp;2022_-_release_22.3"&gt;August&amp;nbsp;2022 - Release 22.3&lt;/h3&gt;
&lt;ul&gt;
&lt;li&gt;Appian Selenium API is released and supported&lt;/li&gt;
&lt;li&gt;Removed support for 20.3&lt;/li&gt;
&lt;/ul&gt;
&lt;h3 id="november&amp;nbsp;2021_-_release_21.4"&gt;November&amp;nbsp;2021 - Release 21.4&lt;/h3&gt;
&lt;ul&gt;
&lt;li&gt;Enhancements
&lt;ul&gt;
&lt;li&gt;Support new card choice components&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;Bug Fixes
&lt;ul&gt;
&lt;li class="ql-indent-1"&gt;Update CVEs&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;h3 id="august&amp;nbsp;2021_-_release_21.3"&gt;August&amp;nbsp;2021 - Release 21.3&lt;/h3&gt;
&lt;ul&gt;
&lt;li&gt;Bug Fixes
&lt;ul&gt;
&lt;li class="ql-indent-1"&gt;Fix bug for radio button card&lt;/li&gt;
&lt;li class="ql-indent-1"&gt;Fix bug for date picker&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;h3 id="june_2021_-_release_21.2"&gt;June 2021 - Release 21.2&lt;/h3&gt;
&lt;ul&gt;
&lt;li&gt;Enhancements
&lt;ul&gt;
&lt;li class="ql-indent-1"&gt;Support new SectionLayout&lt;/li&gt;
&lt;li class="ql-indent-1"&gt;Upgrade Selenium Server to 3.141.59&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;Bug Fixes
&lt;ul&gt;
&lt;li class="ql-indent-1"&gt;Fix bug for radio button card&lt;/li&gt;
&lt;li class="ql-indent-1"&gt;Fix bug for icon link alt text&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;h3 id="march&amp;nbsp;2021_-_release_21.1"&gt;March&amp;nbsp;2021 - Release 21.1&lt;/h3&gt;
&lt;ul&gt;
&lt;li&gt;Appian Selenium API is released and supported&lt;/li&gt;
&lt;/ul&gt;
&lt;/div&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;

&lt;div style="font-size: 90%;"&gt;Tags: testing, Architecture&lt;/div&gt;
</description></item><item><title>Automated Testing with Appian Selenium API</title><link>https://community.appian.com/success/w/guide/3312/automated-testing-with-appian-selenium-api/revision/24</link><pubDate>Mon, 01 Jul 2024 17:03:57 GMT</pubDate><guid isPermaLink="false">d3a83456-d57b-489c-a84c-4e8267bb592a:af6be428-e229-4a89-9844-d99ca095396c</guid><dc:creator>joel.larin</dc:creator><comments>https://community.appian.com/success/w/guide/3312/automated-testing-with-appian-selenium-api#comments</comments><description>Revision 24 posted to Guide by joel.larin on 7/1/2024 5:03:57 PM&lt;br /&gt;
&lt;div style="margin:8px 16% 8px 8%;"&gt;
&lt;h2 id="requirements"&gt;Requirements&lt;/h2&gt;
&lt;ul style="font-size:110%;"&gt;
&lt;li&gt;Appian 22.2 and above&lt;/li&gt;
&lt;li&gt;Java Runtime Environment 11&lt;/li&gt;
&lt;li&gt;If using Chrome, we recommend also using &lt;a href="https://developer.chrome.com/blog/chrome-for-testing/"&gt;Chrome For Testing&lt;/a&gt; for a more consistent testing experience&lt;/li&gt;
&lt;li&gt;An IDE, such as IntelliJ IDEA or Eclipse&lt;/li&gt;
&lt;/ul&gt;
&lt;h2 id="setup"&gt;Setup&lt;/h2&gt;
&lt;p&gt;The &lt;a href="/b/appmarket/posts/appian_2d00_selenium_2d00_api"&gt;Appian Selenium API&lt;/a&gt; plug-in is a Java library which allows you to write automated tests for your Appian UIs. It contains methods which allow you to interact with Appian components in a browser. It provides methods and fixtures to interact with Appian applications in its various environments, e.g. Tempo or Sites. When writing tests, be sure to use methods from the correct fixture for the environment under test, e.g. use SitesFixture where possible to test Sites. Methods defined in fixtures that are intended for different environments are not guaranteed to work in future versions of the plugin.&lt;/p&gt;
&lt;p&gt;It can be used in a Java application or integrated directly into any Selenium or Java-based testing tool.&lt;/p&gt;
&lt;p&gt;Appian Selenium API contains the underlying Selenium methods used by &lt;a href="/b/appmarket/posts/cucumber-for-appian"&gt;Cucumber for Appian&lt;/a&gt; and &lt;a href="/b/appmarket/posts/fitnesse-for-appian"&gt;FitNesse for Appian&lt;/a&gt;, but offers you more flexibility by allowing you to define your own automated test cases. You can create your own Cucumber Step Definitions, your own testNG test, or the Java Framework of your choosing. You are no longer tied to Cucumber for Appian or FitNesse for Appian yet you get the same ease and simplicity of those respective frameworks.&lt;/p&gt;
&lt;ol style="font-size:110%;"&gt;
&lt;li&gt;Open this project in an IDE, such as IntelliJ IDEA or Eclipse.&lt;/li&gt;
&lt;li&gt;Update configurations:
&lt;ol&gt;
&lt;li&gt;&amp;nbsp;Open file &lt;strong&gt;configs/custom.properties&lt;/strong&gt;
&lt;ol&gt;
&lt;li&gt;Update &lt;strong&gt;automated.testing.hom&lt;/strong&gt;e with the path to this installation. Examples:
&lt;ol&gt;
&lt;li&gt;Windows: &lt;strong&gt;automated.testing.home=C:\\testFolder\\appian-selenium-api-example-java&lt;/strong&gt;&lt;/li&gt;
&lt;li&gt;Mac: &lt;strong&gt;automated.testing.home=/Users/tester/Desktop/appian-selenium-api-example-java&lt;/strong&gt;&lt;/li&gt;
&lt;/ol&gt;
&lt;/li&gt;
&lt;li&gt;Update &lt;strong&gt;chrome.driver.home&lt;/strong&gt; with the path to the Chrome driver that comes with this installation. Examples: * Windows: &lt;strong&gt;automated.testing.home=C:\\testFolder\\appian-selenium-api-example-java\\lib\\drivers\\chromedriver.exe&lt;/strong&gt; * Mac: &lt;strong&gt;automated.testing.home=/Users/tester/Desktop/appian-selenium-api-example-java/lib/drivers/chromedriver-mac&lt;/strong&gt;&lt;/li&gt;
&lt;/ol&gt;
&lt;/li&gt;
&lt;li&gt;Open file&lt;strong&gt; configs/users.properties&lt;/strong&gt;, for each username used in a test add a line in the format of &lt;strong&gt;&amp;lt;username&amp;gt;=&amp;lt;password&amp;gt;&lt;/strong&gt; to this file.
&lt;ol&gt;
&lt;li&gt;If you prefer not to disclose your password in plain text, you can also choose to use &lt;strong&gt;com.appiancorp.ps.automatedtest.fixture.BaseFixture.loginIntoWithUsernameAndPassword&lt;/strong&gt; fixture method to login by passing in the password from a system property value.&lt;/li&gt;
&lt;/ol&gt;
&lt;/li&gt;
&lt;/ol&gt;
&lt;/li&gt;
&lt;li&gt;Open &amp;quot;src/main/java/com/appiancorp/example/HelloAppian.java&amp;quot;:
&lt;ol&gt;
&lt;li&gt;Update &lt;strong&gt;TEST_SITE_URL&lt;/strong&gt; to your Appian URL, such as &lt;strong&gt;protected static String TEST_SITE_URL = &amp;quot;https://example.appiancloud.com/suite&amp;quot;;&lt;/strong&gt;&lt;/li&gt;
&lt;li&gt;Update &lt;strong&gt;TEST_USERNAME&lt;/strong&gt; with a username, such as &lt;strong&gt;protected static String TEST_USERNAME = &amp;quot;tester.tester&amp;quot;;&lt;/strong&gt; * Make sure this user exists in &lt;strong&gt;configs/users.properties&lt;/strong&gt;&lt;/li&gt;
&lt;/ol&gt;
&lt;/li&gt;
&lt;li&gt;Run the &lt;strong&gt;main()&lt;/strong&gt; method of this class:
&lt;ol&gt;
&lt;li&gt;&amp;nbsp;You should see that a Chrome browser will open up, and the fixture commands in &lt;strong&gt;HelloAppian.java&lt;/strong&gt; will execute accordingly.&lt;/li&gt;
&lt;li&gt;Note that this test will fail since your site might not have an action &amp;quot;Create a Case&amp;quot; under menu &amp;quot;Actions&amp;quot; that opens up an interface that has a &amp;quot;Submit&amp;quot; button.&lt;/li&gt;
&lt;/ol&gt;
&lt;/li&gt;
&lt;/ol&gt;
&lt;h2 id="features"&gt;Features&lt;/h2&gt;
&lt;p&gt;Multiple browser support&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;Chrome&lt;/li&gt;
&lt;li&gt;Firefox&lt;/li&gt;
&lt;/ul&gt;
&lt;h2 id="benefits"&gt;Benefits&lt;/h2&gt;
&lt;ul&gt;
&lt;li&gt;Define your own integration tests without being limited by a third-party testing tool&lt;/li&gt;
&lt;li&gt;Selenium-based test scripts can be created for reusability throughout test suites&lt;/li&gt;
&lt;li&gt;Methods created specifically to operate within Appian applications and Tempo&lt;/li&gt;
&lt;li&gt;Test scripts do not need to be updated when upgrading between supported Appian versions&lt;/li&gt;
&lt;li&gt;Test scripts are easily updated for new UI changes to a form or interface&lt;/li&gt;
&lt;li&gt;Appian design knowledge is not required to create test scripts&lt;/li&gt;
&lt;/ul&gt;
&lt;h2 id="release_notes"&gt;Release Notes&lt;/h2&gt;
&lt;h3 id="24.2"&gt;June 2024 - Release 24.2&lt;/h3&gt;
&lt;ul&gt;
&lt;li class="ql-indent-1"&gt;Enhancements
&lt;ul&gt;
&lt;li class="ql-indent-1"&gt;Updated locator for site menu links&lt;/li&gt;
&lt;li class="ql-indent-1"&gt;Created method which supports clicking on text within an interface. This is particularly useful for nested cards such as tab layouts, but can also be used as a fallback when existing methods don&amp;#39;t work. This method is available for all Appian versions.&lt;/li&gt;
&lt;li class="ql-indent-1"&gt;Click operation on Card layout will be performed on the left side of the element instead of the right. We&amp;#39;re not expecting any impact on existing test cases.&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;h3 id="june&amp;nbsp;2023_-_release_23.2.1"&gt;March 2024 - Release 24.1&lt;/h3&gt;
&lt;ul&gt;
&lt;li class="ql-indent-1"&gt;Enhancements
&lt;ul&gt;
&lt;li style="font-weight:400;"&gt;&lt;span style="font-weight:400;"&gt;Support for Appian version 24.1&lt;/span&gt;&lt;/li&gt;
&lt;li style="font-weight:400;"&gt;Adds support for collapsing/opening sidebars&lt;/li&gt;
&lt;li style="font-weight:400;"&gt;ClickOnCard updated to support clicking on cards with complex content. For example, the method can now click on cards that have a component nested in multiple layouts within the card&lt;!--mce:protected %3C%21--%20notionvc%3A%20c9bfab53-e4e1-4301-9c43-08f4d6f59a50%20--%3E--&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;h3 id="june&amp;nbsp;2023_-_release_23.2.1"&gt;November&amp;nbsp;2023 - Release 23.4&lt;/h3&gt;
&lt;ul&gt;
&lt;li class="ql-indent-1"&gt;&lt;strong&gt;NOTE&lt;/strong&gt;: &lt;span style="font-weight:400;"&gt;Project has been updated to require Java 11 JRE&lt;/span&gt;&lt;/li&gt;
&lt;li class="ql-indent-1"&gt;Enhancements
&lt;ul&gt;
&lt;li style="font-weight:400;"&gt;&lt;span style="font-weight:400;"&gt;Support for Appian version 23.4&lt;/span&gt;&lt;/li&gt;
&lt;li style="font-weight:400;"&gt;&lt;span style="font-weight:400;"&gt;Add support for the side navigation menu in sites&lt;/span&gt;&lt;/li&gt;
&lt;li style="font-weight:400;"&gt;&lt;span style="font-weight:400;"&gt;Add support for downloading charts&lt;/span&gt;&lt;/li&gt;
&lt;li style="font-weight:400;"&gt;&lt;span style="font-weight:400;"&gt;Add support for buttons configured with custom colors&lt;/span&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;Bug Fixes
&lt;ul&gt;
&lt;li style="font-weight:400;"&gt;&lt;span style="font-weight:400;"&gt;Honor the download directory given in custom.properties for Remote Drivers&lt;/span&gt;&lt;/li&gt;
&lt;li style="font-weight:400;"&gt;&lt;span style="font-weight:400;"&gt;Update dropdowns for versions greater than 23.3 to ignore the aria-checked value&lt;/span&gt;&lt;/li&gt;
&lt;li style="font-weight:400;"&gt;&lt;span style="font-weight:400;"&gt;Fixed Populate Record Type Data Range User Filter method&lt;/span&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;h3 id="june&amp;nbsp;2023_-_release_23.2.1"&gt;August 2023 - Release 23.3&lt;/h3&gt;
&lt;ul&gt;
&lt;li class="ql-indent-1"&gt;&lt;strong&gt;NOTE&lt;/strong&gt;: &lt;span style="font-weight:400;"&gt;Project has been updated to require Java 11 JRE&lt;/span&gt;&lt;/li&gt;
&lt;li class="ql-indent-1"&gt;Enhancements
&lt;ul&gt;
&lt;li style="font-weight:400;"&gt;&lt;span style="font-weight:400;"&gt;Supports Appian version 23.3&lt;/span&gt;&lt;/li&gt;
&lt;li style="font-weight:400;"&gt;&lt;span style="font-weight:400;"&gt;Added functionality to interact with new site group headers&lt;/span&gt;&lt;/li&gt;
&lt;li style="font-weight:400;"&gt;&lt;span style="font-weight:400;"&gt;Updated to Selenium 4.11.0&lt;/span&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;Bug Fixes
&lt;ul&gt;
&lt;li style="font-weight:400;"&gt;&lt;span style="font-weight:400;"&gt;Update checkboxes to support CARD style for 23.3 and later Appian versions&lt;/span&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;h3 id="june&amp;nbsp;2023_-_release_23.2.1"&gt;June&amp;nbsp;2023 - Release 23.2.1&lt;/h3&gt;
&lt;ul&gt;
&lt;li class="ql-indent-1"&gt;&lt;strong&gt;NOTE&lt;/strong&gt;: Updates to site navigation in the 23.2 product breaks the use of the clickOnMenu method defined in TempoFixtures for site environments. clickOnMenu, and other navigation methods defined in TempoFixtures, are guaranteed&amp;nbsp;to work only in Tempo environments. Use the clickOnSitePage method defined in SitesFixtures instead&lt;/li&gt;
&lt;li&gt;Bug Fixes
&lt;ul&gt;
&lt;li&gt;Update pickers to recognize selections with links (e.g. Record Pickers)&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;h3 id="june&amp;nbsp;2023_-_release_23.2"&gt;June&amp;nbsp;2023 - Release 23.2&lt;/h3&gt;
&lt;ul&gt;
&lt;li&gt;Enhancements
&lt;ul&gt;
&lt;li class="ql-indent-1"&gt;Supports Appian version 23.2
&lt;ul&gt;
&lt;li class="ql-indent-1"&gt;&lt;strong&gt;NOTE&lt;/strong&gt;: Updates to site navigation in the 23.2 product breaks the use of the clickOnMenu method defined in TempoFixtures for site environments. clickOnMenu, and other navigation methods defined in TempoFixtures, are guaranteed&amp;nbsp;to work only in Tempo environments. Use the clickOnSitePage method defined in SitesFixtures instead&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;h3 id="may_2023_-_release_23.1.2"&gt;May 2023 - Release 23.1.2&lt;/h3&gt;
&lt;ul&gt;
&lt;li&gt;Bug Fixes
&lt;ul&gt;
&lt;li&gt;Fixes an issue where Dropdowns with Search were not working&lt;/li&gt;
&lt;li&gt;Fixes an Issue where verifyText did not work on multi-node components&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;h3 id="february_2023_-_release_23.1"&gt;February 2023 - Release 23.1&lt;/h3&gt;
&lt;ul&gt;
&lt;li&gt;Enhancements
&lt;ul&gt;
&lt;li&gt;Supports Appian version 23.1&lt;/li&gt;
&lt;li&gt;Updated locator for Dropdown class&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;Bug Fixes
&lt;ul&gt;
&lt;li&gt;Update CVEs&lt;/li&gt;
&lt;li&gt;Update scripts (start.bat, start-mac.sh, start-unix.sh, runFitNesseTest.sh) to reference the new fitnesse-20221219-standalone.jar&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;h3 id="august&amp;nbsp;2022_-_release_22.3"&gt;August&amp;nbsp;2022 - Release 22.3&lt;/h3&gt;
&lt;ul&gt;
&lt;li&gt;Appian Selenium API is released and supported&lt;/li&gt;
&lt;li&gt;Removed support for 20.3&lt;/li&gt;
&lt;/ul&gt;
&lt;h3 id="november&amp;nbsp;2021_-_release_21.4"&gt;November&amp;nbsp;2021 - Release 21.4&lt;/h3&gt;
&lt;ul&gt;
&lt;li&gt;Enhancements
&lt;ul&gt;
&lt;li&gt;Support new card choice components&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;Bug Fixes
&lt;ul&gt;
&lt;li class="ql-indent-1"&gt;Update CVEs&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;h3 id="august&amp;nbsp;2021_-_release_21.3"&gt;August&amp;nbsp;2021 - Release 21.3&lt;/h3&gt;
&lt;ul&gt;
&lt;li&gt;Bug Fixes
&lt;ul&gt;
&lt;li class="ql-indent-1"&gt;Fix bug for radio button card&lt;/li&gt;
&lt;li class="ql-indent-1"&gt;Fix bug for date picker&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;h3 id="june_2021_-_release_21.2"&gt;June 2021 - Release 21.2&lt;/h3&gt;
&lt;ul&gt;
&lt;li&gt;Enhancements
&lt;ul&gt;
&lt;li class="ql-indent-1"&gt;Support new SectionLayout&lt;/li&gt;
&lt;li class="ql-indent-1"&gt;Upgrade Selenium Server to 3.141.59&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;Bug Fixes
&lt;ul&gt;
&lt;li class="ql-indent-1"&gt;Fix bug for radio button card&lt;/li&gt;
&lt;li class="ql-indent-1"&gt;Fix bug for icon link alt text&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;h3 id="march&amp;nbsp;2021_-_release_21.1"&gt;March&amp;nbsp;2021 - Release 21.1&lt;/h3&gt;
&lt;ul&gt;
&lt;li&gt;Appian Selenium API is released and supported&lt;/li&gt;
&lt;/ul&gt;
&lt;/div&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;

&lt;div style="font-size: 90%;"&gt;Tags: testing, Architecture&lt;/div&gt;
</description></item><item><title>Automated Testing with Appian Selenium API</title><link>https://community.appian.com/success/w/guide/3312/automated-testing-with-appian-selenium-api/revision/23</link><pubDate>Mon, 01 Jul 2024 17:03:04 GMT</pubDate><guid isPermaLink="false">d3a83456-d57b-489c-a84c-4e8267bb592a:af6be428-e229-4a89-9844-d99ca095396c</guid><dc:creator>joel.larin</dc:creator><comments>https://community.appian.com/success/w/guide/3312/automated-testing-with-appian-selenium-api#comments</comments><description>Revision 23 posted to Guide by joel.larin on 7/1/2024 5:03:04 PM&lt;br /&gt;
&lt;div style="margin:8px 16% 8px 8%;"&gt;
&lt;h2 id="requirements"&gt;Requirements&lt;/h2&gt;
&lt;ul style="font-size:110%;"&gt;
&lt;li&gt;Appian 22.2 and above&lt;/li&gt;
&lt;li&gt;Java Runtime Environment 11&lt;/li&gt;
&lt;li&gt;If using Chrome, we recommend also using &lt;a href="https://developer.chrome.com/blog/chrome-for-testing/"&gt;Chrome For Testing&lt;/a&gt; for a more consistent testing experience&lt;/li&gt;
&lt;li&gt;An IDE, such as IntelliJ IDEA or Eclipse&lt;/li&gt;
&lt;/ul&gt;
&lt;h2 id="setup"&gt;Setup&lt;/h2&gt;
&lt;p&gt;The &lt;a href="/b/appmarket/posts/appian_2d00_selenium_2d00_api"&gt;Appian Selenium API&lt;/a&gt; plug-in is a Java library which allows you to write automated tests for your Appian UIs. It contains methods which allow you to interact with Appian components in a browser. It provides methods and fixtures to interact with Appian applications in its various environments, e.g. Tempo or Sites. When writing tests, be sure to use methods from the correct fixture for the environment under test, e.g. use SitesFixture where possible to test Sites. Methods defined in fixtures that are intended for different environments are not guaranteed to work in future versions of the plugin.&lt;/p&gt;
&lt;p&gt;It can be used in a Java application or integrated directly into any Selenium or Java-based testing tool.&lt;/p&gt;
&lt;p&gt;Appian Selenium API contains the underlying Selenium methods used by &lt;a href="/b/appmarket/posts/cucumber-for-appian"&gt;Cucumber for Appian&lt;/a&gt; and &lt;a href="/b/appmarket/posts/fitnesse-for-appian"&gt;FitNesse for Appian&lt;/a&gt;, but offers you more flexibility by allowing you to define your own automated test cases. You can create your own Cucumber Step Definitions, your own testNG test, or the Java Framework of your choosing. You are no longer tied to Cucumber for Appian or FitNesse for Appian yet you get the same ease and simplicity of those respective frameworks.&lt;/p&gt;
&lt;ol style="font-size:105%;"&gt;
&lt;li&gt;Open this project in an IDE, such as IntelliJ IDEA or Eclipse.&lt;/li&gt;
&lt;li&gt;Update configurations:
&lt;ol&gt;
&lt;li&gt;&amp;nbsp;Open file &lt;strong&gt;configs/custom.properties&lt;/strong&gt;
&lt;ol&gt;
&lt;li&gt;Update &lt;strong&gt;automated.testing.hom&lt;/strong&gt;e with the path to this installation. Examples:
&lt;ol&gt;
&lt;li&gt;Windows: &lt;strong&gt;automated.testing.home=C:\\testFolder\\appian-selenium-api-example-java&lt;/strong&gt;&lt;/li&gt;
&lt;li&gt;Mac: &lt;strong&gt;automated.testing.home=/Users/tester/Desktop/appian-selenium-api-example-java&lt;/strong&gt;&lt;/li&gt;
&lt;/ol&gt;
&lt;/li&gt;
&lt;li&gt;Update &lt;strong&gt;chrome.driver.home&lt;/strong&gt; with the path to the Chrome driver that comes with this installation. Examples: * Windows: &lt;strong&gt;automated.testing.home=C:\\testFolder\\appian-selenium-api-example-java\\lib\\drivers\\chromedriver.exe&lt;/strong&gt; * Mac: &lt;strong&gt;automated.testing.home=/Users/tester/Desktop/appian-selenium-api-example-java/lib/drivers/chromedriver-mac&lt;/strong&gt;&lt;/li&gt;
&lt;/ol&gt;
&lt;/li&gt;
&lt;li&gt;Open file&lt;strong&gt; configs/users.properties&lt;/strong&gt;, for each username used in a test add a line in the format of &lt;strong&gt;&amp;lt;username&amp;gt;=&amp;lt;password&amp;gt;&lt;/strong&gt; to this file.
&lt;ol&gt;
&lt;li&gt;If you prefer not to disclose your password in plain text, you can also choose to use &lt;strong&gt;com.appiancorp.ps.automatedtest.fixture.BaseFixture.loginIntoWithUsernameAndPassword&lt;/strong&gt; fixture method to login by passing in the password from a system property value.&lt;/li&gt;
&lt;/ol&gt;
&lt;/li&gt;
&lt;/ol&gt;
&lt;/li&gt;
&lt;li&gt;Open &amp;quot;src/main/java/com/appiancorp/example/HelloAppian.java&amp;quot;:
&lt;ol&gt;
&lt;li&gt;Update &lt;strong&gt;TEST_SITE_URL&lt;/strong&gt; to your Appian URL, such as &lt;strong&gt;protected static String TEST_SITE_URL = &amp;quot;https://example.appiancloud.com/suite&amp;quot;;&lt;/strong&gt;&lt;/li&gt;
&lt;li&gt;Update &lt;strong&gt;TEST_USERNAME&lt;/strong&gt; with a username, such as &lt;strong&gt;protected static String TEST_USERNAME = &amp;quot;tester.tester&amp;quot;;&lt;/strong&gt; * Make sure this user exists in &lt;strong&gt;configs/users.properties&lt;/strong&gt;&lt;/li&gt;
&lt;/ol&gt;
&lt;/li&gt;
&lt;li&gt;Run the &lt;strong&gt;main()&lt;/strong&gt; method of this class:
&lt;ol&gt;
&lt;li&gt;&amp;nbsp;You should see that a Chrome browser will open up, and the fixture commands in &lt;strong&gt;HelloAppian.java&lt;/strong&gt; will execute accordingly.&lt;/li&gt;
&lt;li&gt;Note that this test will fail since your site might not have an action &amp;quot;Create a Case&amp;quot; under menu &amp;quot;Actions&amp;quot; that opens up an interface that has a &amp;quot;Submit&amp;quot; button.&lt;/li&gt;
&lt;/ol&gt;
&lt;/li&gt;
&lt;/ol&gt;
&lt;h2 id="features"&gt;Features&lt;/h2&gt;
&lt;p&gt;Multiple browser support&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;Chrome&lt;/li&gt;
&lt;li&gt;Firefox&lt;/li&gt;
&lt;/ul&gt;
&lt;h2 id="benefits"&gt;Benefits&lt;/h2&gt;
&lt;ul&gt;
&lt;li&gt;Define your own integration tests without being limited by a third-party testing tool&lt;/li&gt;
&lt;li&gt;Selenium-based test scripts can be created for reusability throughout test suites&lt;/li&gt;
&lt;li&gt;Methods created specifically to operate within Appian applications and Tempo&lt;/li&gt;
&lt;li&gt;Test scripts do not need to be updated when upgrading between supported Appian versions&lt;/li&gt;
&lt;li&gt;Test scripts are easily updated for new UI changes to a form or interface&lt;/li&gt;
&lt;li&gt;Appian design knowledge is not required to create test scripts&lt;/li&gt;
&lt;/ul&gt;
&lt;h2 id="release_notes"&gt;Release Notes&lt;/h2&gt;
&lt;h3 id="24.2"&gt;June 2024 - Release 24.2&lt;/h3&gt;
&lt;ul&gt;
&lt;li class="ql-indent-1"&gt;Enhancements
&lt;ul&gt;
&lt;li class="ql-indent-1"&gt;Updated locator for site menu links&lt;/li&gt;
&lt;li class="ql-indent-1"&gt;Created method which supports clicking on text within an interface. This is particularly useful for nested cards such as tab layouts, but can also be used as a fallback when existing methods don&amp;#39;t work. This method is available for all Appian versions.&lt;/li&gt;
&lt;li class="ql-indent-1"&gt;Click operation on Card layout will be performed on the left side of the element instead of the right. We&amp;#39;re not expecting any impact on existing test cases.&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;h3 id="june&amp;nbsp;2023_-_release_23.2.1"&gt;March 2024 - Release 24.1&lt;/h3&gt;
&lt;ul&gt;
&lt;li class="ql-indent-1"&gt;Enhancements
&lt;ul&gt;
&lt;li style="font-weight:400;"&gt;&lt;span style="font-weight:400;"&gt;Support for Appian version 24.1&lt;/span&gt;&lt;/li&gt;
&lt;li style="font-weight:400;"&gt;Adds support for collapsing/opening sidebars&lt;/li&gt;
&lt;li style="font-weight:400;"&gt;ClickOnCard updated to support clicking on cards with complex content. For example, the method can now click on cards that have a component nested in multiple layouts within the card&lt;!--mce:protected %3C%21--%20notionvc%3A%20c9bfab53-e4e1-4301-9c43-08f4d6f59a50%20--%3E--&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;h3 id="june&amp;nbsp;2023_-_release_23.2.1"&gt;November&amp;nbsp;2023 - Release 23.4&lt;/h3&gt;
&lt;ul&gt;
&lt;li class="ql-indent-1"&gt;&lt;strong&gt;NOTE&lt;/strong&gt;: &lt;span style="font-weight:400;"&gt;Project has been updated to require Java 11 JRE&lt;/span&gt;&lt;/li&gt;
&lt;li class="ql-indent-1"&gt;Enhancements
&lt;ul&gt;
&lt;li style="font-weight:400;"&gt;&lt;span style="font-weight:400;"&gt;Support for Appian version 23.4&lt;/span&gt;&lt;/li&gt;
&lt;li style="font-weight:400;"&gt;&lt;span style="font-weight:400;"&gt;Add support for the side navigation menu in sites&lt;/span&gt;&lt;/li&gt;
&lt;li style="font-weight:400;"&gt;&lt;span style="font-weight:400;"&gt;Add support for downloading charts&lt;/span&gt;&lt;/li&gt;
&lt;li style="font-weight:400;"&gt;&lt;span style="font-weight:400;"&gt;Add support for buttons configured with custom colors&lt;/span&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;Bug Fixes
&lt;ul&gt;
&lt;li style="font-weight:400;"&gt;&lt;span style="font-weight:400;"&gt;Honor the download directory given in custom.properties for Remote Drivers&lt;/span&gt;&lt;/li&gt;
&lt;li style="font-weight:400;"&gt;&lt;span style="font-weight:400;"&gt;Update dropdowns for versions greater than 23.3 to ignore the aria-checked value&lt;/span&gt;&lt;/li&gt;
&lt;li style="font-weight:400;"&gt;&lt;span style="font-weight:400;"&gt;Fixed Populate Record Type Data Range User Filter method&lt;/span&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;h3 id="june&amp;nbsp;2023_-_release_23.2.1"&gt;August 2023 - Release 23.3&lt;/h3&gt;
&lt;ul&gt;
&lt;li class="ql-indent-1"&gt;&lt;strong&gt;NOTE&lt;/strong&gt;: &lt;span style="font-weight:400;"&gt;Project has been updated to require Java 11 JRE&lt;/span&gt;&lt;/li&gt;
&lt;li class="ql-indent-1"&gt;Enhancements
&lt;ul&gt;
&lt;li style="font-weight:400;"&gt;&lt;span style="font-weight:400;"&gt;Supports Appian version 23.3&lt;/span&gt;&lt;/li&gt;
&lt;li style="font-weight:400;"&gt;&lt;span style="font-weight:400;"&gt;Added functionality to interact with new site group headers&lt;/span&gt;&lt;/li&gt;
&lt;li style="font-weight:400;"&gt;&lt;span style="font-weight:400;"&gt;Updated to Selenium 4.11.0&lt;/span&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;Bug Fixes
&lt;ul&gt;
&lt;li style="font-weight:400;"&gt;&lt;span style="font-weight:400;"&gt;Update checkboxes to support CARD style for 23.3 and later Appian versions&lt;/span&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;h3 id="june&amp;nbsp;2023_-_release_23.2.1"&gt;June&amp;nbsp;2023 - Release 23.2.1&lt;/h3&gt;
&lt;ul&gt;
&lt;li class="ql-indent-1"&gt;&lt;strong&gt;NOTE&lt;/strong&gt;: Updates to site navigation in the 23.2 product breaks the use of the clickOnMenu method defined in TempoFixtures for site environments. clickOnMenu, and other navigation methods defined in TempoFixtures, are guaranteed&amp;nbsp;to work only in Tempo environments. Use the clickOnSitePage method defined in SitesFixtures instead&lt;/li&gt;
&lt;li&gt;Bug Fixes
&lt;ul&gt;
&lt;li&gt;Update pickers to recognize selections with links (e.g. Record Pickers)&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;h3 id="june&amp;nbsp;2023_-_release_23.2"&gt;June&amp;nbsp;2023 - Release 23.2&lt;/h3&gt;
&lt;ul&gt;
&lt;li&gt;Enhancements
&lt;ul&gt;
&lt;li class="ql-indent-1"&gt;Supports Appian version 23.2
&lt;ul&gt;
&lt;li class="ql-indent-1"&gt;&lt;strong&gt;NOTE&lt;/strong&gt;: Updates to site navigation in the 23.2 product breaks the use of the clickOnMenu method defined in TempoFixtures for site environments. clickOnMenu, and other navigation methods defined in TempoFixtures, are guaranteed&amp;nbsp;to work only in Tempo environments. Use the clickOnSitePage method defined in SitesFixtures instead&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;h3 id="may_2023_-_release_23.1.2"&gt;May 2023 - Release 23.1.2&lt;/h3&gt;
&lt;ul&gt;
&lt;li&gt;Bug Fixes
&lt;ul&gt;
&lt;li&gt;Fixes an issue where Dropdowns with Search were not working&lt;/li&gt;
&lt;li&gt;Fixes an Issue where verifyText did not work on multi-node components&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;h3 id="february_2023_-_release_23.1"&gt;February 2023 - Release 23.1&lt;/h3&gt;
&lt;ul&gt;
&lt;li&gt;Enhancements
&lt;ul&gt;
&lt;li&gt;Supports Appian version 23.1&lt;/li&gt;
&lt;li&gt;Updated locator for Dropdown class&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;Bug Fixes
&lt;ul&gt;
&lt;li&gt;Update CVEs&lt;/li&gt;
&lt;li&gt;Update scripts (start.bat, start-mac.sh, start-unix.sh, runFitNesseTest.sh) to reference the new fitnesse-20221219-standalone.jar&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;h3 id="august&amp;nbsp;2022_-_release_22.3"&gt;August&amp;nbsp;2022 - Release 22.3&lt;/h3&gt;
&lt;ul&gt;
&lt;li&gt;Appian Selenium API is released and supported&lt;/li&gt;
&lt;li&gt;Removed support for 20.3&lt;/li&gt;
&lt;/ul&gt;
&lt;h3 id="november&amp;nbsp;2021_-_release_21.4"&gt;November&amp;nbsp;2021 - Release 21.4&lt;/h3&gt;
&lt;ul&gt;
&lt;li&gt;Enhancements
&lt;ul&gt;
&lt;li&gt;Support new card choice components&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;Bug Fixes
&lt;ul&gt;
&lt;li class="ql-indent-1"&gt;Update CVEs&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;h3 id="august&amp;nbsp;2021_-_release_21.3"&gt;August&amp;nbsp;2021 - Release 21.3&lt;/h3&gt;
&lt;ul&gt;
&lt;li&gt;Bug Fixes
&lt;ul&gt;
&lt;li class="ql-indent-1"&gt;Fix bug for radio button card&lt;/li&gt;
&lt;li class="ql-indent-1"&gt;Fix bug for date picker&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;h3 id="june_2021_-_release_21.2"&gt;June 2021 - Release 21.2&lt;/h3&gt;
&lt;ul&gt;
&lt;li&gt;Enhancements
&lt;ul&gt;
&lt;li class="ql-indent-1"&gt;Support new SectionLayout&lt;/li&gt;
&lt;li class="ql-indent-1"&gt;Upgrade Selenium Server to 3.141.59&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;Bug Fixes
&lt;ul&gt;
&lt;li class="ql-indent-1"&gt;Fix bug for radio button card&lt;/li&gt;
&lt;li class="ql-indent-1"&gt;Fix bug for icon link alt text&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;h3 id="march&amp;nbsp;2021_-_release_21.1"&gt;March&amp;nbsp;2021 - Release 21.1&lt;/h3&gt;
&lt;ul&gt;
&lt;li&gt;Appian Selenium API is released and supported&lt;/li&gt;
&lt;/ul&gt;
&lt;/div&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;

&lt;div style="font-size: 90%;"&gt;Tags: testing, Architecture&lt;/div&gt;
</description></item><item><title>Automated Testing with Appian Selenium API</title><link>https://community.appian.com/success/w/guide/3312/automated-testing-with-appian-selenium-api/revision/22</link><pubDate>Mon, 01 Jul 2024 17:02:48 GMT</pubDate><guid isPermaLink="false">d3a83456-d57b-489c-a84c-4e8267bb592a:af6be428-e229-4a89-9844-d99ca095396c</guid><dc:creator>joel.larin</dc:creator><comments>https://community.appian.com/success/w/guide/3312/automated-testing-with-appian-selenium-api#comments</comments><description>Revision 22 posted to Guide by joel.larin on 7/1/2024 5:02:48 PM&lt;br /&gt;
&lt;div style="margin:8px 16% 8px 8%;"&gt;
&lt;h2 id="requirements"&gt;Requirements&lt;/h2&gt;
&lt;ul style="font-size:110%;"&gt;
&lt;li&gt;Appian 22.2 and above&lt;/li&gt;
&lt;li&gt;Java Runtime Environment 11&lt;/li&gt;
&lt;li&gt;If using Chrome, we recommend also using &lt;a href="https://developer.chrome.com/blog/chrome-for-testing/"&gt;Chrome For testing&lt;/a&gt; for a more consistent testing experience&lt;/li&gt;
&lt;li&gt;An IDE, such as IntelliJ IDEA or Eclipse&lt;/li&gt;
&lt;/ul&gt;
&lt;h2 id="setup"&gt;Setup&lt;/h2&gt;
&lt;p&gt;The &lt;a href="/b/appmarket/posts/appian_2d00_selenium_2d00_api"&gt;Appian Selenium API&lt;/a&gt; plug-in is a Java library which allows you to write automated tests for your Appian UIs. It contains methods which allow you to interact with Appian components in a browser. It provides methods and fixtures to interact with Appian applications in its various environments, e.g. Tempo or Sites. When writing tests, be sure to use methods from the correct fixture for the environment under test, e.g. use SitesFixture where possible to test Sites. Methods defined in fixtures that are intended for different environments are not guaranteed to work in future versions of the plugin.&lt;/p&gt;
&lt;p&gt;It can be used in a Java application or integrated directly into any Selenium or Java-based testing tool.&lt;/p&gt;
&lt;p&gt;Appian Selenium API contains the underlying Selenium methods used by &lt;a href="/b/appmarket/posts/cucumber-for-appian"&gt;Cucumber for Appian&lt;/a&gt; and &lt;a href="/b/appmarket/posts/fitnesse-for-appian"&gt;FitNesse for Appian&lt;/a&gt;, but offers you more flexibility by allowing you to define your own automated test cases. You can create your own Cucumber Step Definitions, your own testNG test, or the Java Framework of your choosing. You are no longer tied to Cucumber for Appian or FitNesse for Appian yet you get the same ease and simplicity of those respective frameworks.&lt;/p&gt;
&lt;ol style="font-size:105%;"&gt;
&lt;li&gt;Open this project in an IDE, such as IntelliJ IDEA or Eclipse.&lt;/li&gt;
&lt;li&gt;Update configurations:
&lt;ol&gt;
&lt;li&gt;&amp;nbsp;Open file &lt;strong&gt;configs/custom.properties&lt;/strong&gt;
&lt;ol&gt;
&lt;li&gt;Update &lt;strong&gt;automated.testing.hom&lt;/strong&gt;e with the path to this installation. Examples:
&lt;ol&gt;
&lt;li&gt;Windows: &lt;strong&gt;automated.testing.home=C:\\testFolder\\appian-selenium-api-example-java&lt;/strong&gt;&lt;/li&gt;
&lt;li&gt;Mac: &lt;strong&gt;automated.testing.home=/Users/tester/Desktop/appian-selenium-api-example-java&lt;/strong&gt;&lt;/li&gt;
&lt;/ol&gt;
&lt;/li&gt;
&lt;li&gt;Update &lt;strong&gt;chrome.driver.home&lt;/strong&gt; with the path to the Chrome driver that comes with this installation. Examples: * Windows: &lt;strong&gt;automated.testing.home=C:\\testFolder\\appian-selenium-api-example-java\\lib\\drivers\\chromedriver.exe&lt;/strong&gt; * Mac: &lt;strong&gt;automated.testing.home=/Users/tester/Desktop/appian-selenium-api-example-java/lib/drivers/chromedriver-mac&lt;/strong&gt;&lt;/li&gt;
&lt;/ol&gt;
&lt;/li&gt;
&lt;li&gt;Open file&lt;strong&gt; configs/users.properties&lt;/strong&gt;, for each username used in a test add a line in the format of &lt;strong&gt;&amp;lt;username&amp;gt;=&amp;lt;password&amp;gt;&lt;/strong&gt; to this file.
&lt;ol&gt;
&lt;li&gt;If you prefer not to disclose your password in plain text, you can also choose to use &lt;strong&gt;com.appiancorp.ps.automatedtest.fixture.BaseFixture.loginIntoWithUsernameAndPassword&lt;/strong&gt; fixture method to login by passing in the password from a system property value.&lt;/li&gt;
&lt;/ol&gt;
&lt;/li&gt;
&lt;/ol&gt;
&lt;/li&gt;
&lt;li&gt;Open &amp;quot;src/main/java/com/appiancorp/example/HelloAppian.java&amp;quot;:
&lt;ol&gt;
&lt;li&gt;Update &lt;strong&gt;TEST_SITE_URL&lt;/strong&gt; to your Appian URL, such as &lt;strong&gt;protected static String TEST_SITE_URL = &amp;quot;https://example.appiancloud.com/suite&amp;quot;;&lt;/strong&gt;&lt;/li&gt;
&lt;li&gt;Update &lt;strong&gt;TEST_USERNAME&lt;/strong&gt; with a username, such as &lt;strong&gt;protected static String TEST_USERNAME = &amp;quot;tester.tester&amp;quot;;&lt;/strong&gt; * Make sure this user exists in &lt;strong&gt;configs/users.properties&lt;/strong&gt;&lt;/li&gt;
&lt;/ol&gt;
&lt;/li&gt;
&lt;li&gt;Run the &lt;strong&gt;main()&lt;/strong&gt; method of this class:
&lt;ol&gt;
&lt;li&gt;&amp;nbsp;You should see that a Chrome browser will open up, and the fixture commands in &lt;strong&gt;HelloAppian.java&lt;/strong&gt; will execute accordingly.&lt;/li&gt;
&lt;li&gt;Note that this test will fail since your site might not have an action &amp;quot;Create a Case&amp;quot; under menu &amp;quot;Actions&amp;quot; that opens up an interface that has a &amp;quot;Submit&amp;quot; button.&lt;/li&gt;
&lt;/ol&gt;
&lt;/li&gt;
&lt;/ol&gt;
&lt;h2 id="features"&gt;Features&lt;/h2&gt;
&lt;p&gt;Multiple browser support&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;Chrome&lt;/li&gt;
&lt;li&gt;Firefox&lt;/li&gt;
&lt;/ul&gt;
&lt;h2 id="benefits"&gt;Benefits&lt;/h2&gt;
&lt;ul&gt;
&lt;li&gt;Define your own integration tests without being limited by a third-party testing tool&lt;/li&gt;
&lt;li&gt;Selenium-based test scripts can be created for reusability throughout test suites&lt;/li&gt;
&lt;li&gt;Methods created specifically to operate within Appian applications and Tempo&lt;/li&gt;
&lt;li&gt;Test scripts do not need to be updated when upgrading between supported Appian versions&lt;/li&gt;
&lt;li&gt;Test scripts are easily updated for new UI changes to a form or interface&lt;/li&gt;
&lt;li&gt;Appian design knowledge is not required to create test scripts&lt;/li&gt;
&lt;/ul&gt;
&lt;h2 id="release_notes"&gt;Release Notes&lt;/h2&gt;
&lt;h3 id="24.2"&gt;June 2024 - Release 24.2&lt;/h3&gt;
&lt;ul&gt;
&lt;li class="ql-indent-1"&gt;Enhancements
&lt;ul&gt;
&lt;li class="ql-indent-1"&gt;Updated locator for site menu links&lt;/li&gt;
&lt;li class="ql-indent-1"&gt;Created method which supports clicking on text within an interface. This is particularly useful for nested cards such as tab layouts, but can also be used as a fallback when existing methods don&amp;#39;t work. This method is available for all Appian versions.&lt;/li&gt;
&lt;li class="ql-indent-1"&gt;Click operation on Card layout will be performed on the left side of the element instead of the right. We&amp;#39;re not expecting any impact on existing test cases.&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;h3 id="june&amp;nbsp;2023_-_release_23.2.1"&gt;March 2024 - Release 24.1&lt;/h3&gt;
&lt;ul&gt;
&lt;li class="ql-indent-1"&gt;Enhancements
&lt;ul&gt;
&lt;li style="font-weight:400;"&gt;&lt;span style="font-weight:400;"&gt;Support for Appian version 24.1&lt;/span&gt;&lt;/li&gt;
&lt;li style="font-weight:400;"&gt;Adds support for collapsing/opening sidebars&lt;/li&gt;
&lt;li style="font-weight:400;"&gt;ClickOnCard updated to support clicking on cards with complex content. For example, the method can now click on cards that have a component nested in multiple layouts within the card&lt;!--mce:protected %3C%21--%20notionvc%3A%20c9bfab53-e4e1-4301-9c43-08f4d6f59a50%20--%3E--&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;h3 id="june&amp;nbsp;2023_-_release_23.2.1"&gt;November&amp;nbsp;2023 - Release 23.4&lt;/h3&gt;
&lt;ul&gt;
&lt;li class="ql-indent-1"&gt;&lt;strong&gt;NOTE&lt;/strong&gt;: &lt;span style="font-weight:400;"&gt;Project has been updated to require Java 11 JRE&lt;/span&gt;&lt;/li&gt;
&lt;li class="ql-indent-1"&gt;Enhancements
&lt;ul&gt;
&lt;li style="font-weight:400;"&gt;&lt;span style="font-weight:400;"&gt;Support for Appian version 23.4&lt;/span&gt;&lt;/li&gt;
&lt;li style="font-weight:400;"&gt;&lt;span style="font-weight:400;"&gt;Add support for the side navigation menu in sites&lt;/span&gt;&lt;/li&gt;
&lt;li style="font-weight:400;"&gt;&lt;span style="font-weight:400;"&gt;Add support for downloading charts&lt;/span&gt;&lt;/li&gt;
&lt;li style="font-weight:400;"&gt;&lt;span style="font-weight:400;"&gt;Add support for buttons configured with custom colors&lt;/span&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;Bug Fixes
&lt;ul&gt;
&lt;li style="font-weight:400;"&gt;&lt;span style="font-weight:400;"&gt;Honor the download directory given in custom.properties for Remote Drivers&lt;/span&gt;&lt;/li&gt;
&lt;li style="font-weight:400;"&gt;&lt;span style="font-weight:400;"&gt;Update dropdowns for versions greater than 23.3 to ignore the aria-checked value&lt;/span&gt;&lt;/li&gt;
&lt;li style="font-weight:400;"&gt;&lt;span style="font-weight:400;"&gt;Fixed Populate Record Type Data Range User Filter method&lt;/span&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;h3 id="june&amp;nbsp;2023_-_release_23.2.1"&gt;August 2023 - Release 23.3&lt;/h3&gt;
&lt;ul&gt;
&lt;li class="ql-indent-1"&gt;&lt;strong&gt;NOTE&lt;/strong&gt;: &lt;span style="font-weight:400;"&gt;Project has been updated to require Java 11 JRE&lt;/span&gt;&lt;/li&gt;
&lt;li class="ql-indent-1"&gt;Enhancements
&lt;ul&gt;
&lt;li style="font-weight:400;"&gt;&lt;span style="font-weight:400;"&gt;Supports Appian version 23.3&lt;/span&gt;&lt;/li&gt;
&lt;li style="font-weight:400;"&gt;&lt;span style="font-weight:400;"&gt;Added functionality to interact with new site group headers&lt;/span&gt;&lt;/li&gt;
&lt;li style="font-weight:400;"&gt;&lt;span style="font-weight:400;"&gt;Updated to Selenium 4.11.0&lt;/span&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;Bug Fixes
&lt;ul&gt;
&lt;li style="font-weight:400;"&gt;&lt;span style="font-weight:400;"&gt;Update checkboxes to support CARD style for 23.3 and later Appian versions&lt;/span&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;h3 id="june&amp;nbsp;2023_-_release_23.2.1"&gt;June&amp;nbsp;2023 - Release 23.2.1&lt;/h3&gt;
&lt;ul&gt;
&lt;li class="ql-indent-1"&gt;&lt;strong&gt;NOTE&lt;/strong&gt;: Updates to site navigation in the 23.2 product breaks the use of the clickOnMenu method defined in TempoFixtures for site environments. clickOnMenu, and other navigation methods defined in TempoFixtures, are guaranteed&amp;nbsp;to work only in Tempo environments. Use the clickOnSitePage method defined in SitesFixtures instead&lt;/li&gt;
&lt;li&gt;Bug Fixes
&lt;ul&gt;
&lt;li&gt;Update pickers to recognize selections with links (e.g. Record Pickers)&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;h3 id="june&amp;nbsp;2023_-_release_23.2"&gt;June&amp;nbsp;2023 - Release 23.2&lt;/h3&gt;
&lt;ul&gt;
&lt;li&gt;Enhancements
&lt;ul&gt;
&lt;li class="ql-indent-1"&gt;Supports Appian version 23.2
&lt;ul&gt;
&lt;li class="ql-indent-1"&gt;&lt;strong&gt;NOTE&lt;/strong&gt;: Updates to site navigation in the 23.2 product breaks the use of the clickOnMenu method defined in TempoFixtures for site environments. clickOnMenu, and other navigation methods defined in TempoFixtures, are guaranteed&amp;nbsp;to work only in Tempo environments. Use the clickOnSitePage method defined in SitesFixtures instead&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;h3 id="may_2023_-_release_23.1.2"&gt;May 2023 - Release 23.1.2&lt;/h3&gt;
&lt;ul&gt;
&lt;li&gt;Bug Fixes
&lt;ul&gt;
&lt;li&gt;Fixes an issue where Dropdowns with Search were not working&lt;/li&gt;
&lt;li&gt;Fixes an Issue where verifyText did not work on multi-node components&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;h3 id="february_2023_-_release_23.1"&gt;February 2023 - Release 23.1&lt;/h3&gt;
&lt;ul&gt;
&lt;li&gt;Enhancements
&lt;ul&gt;
&lt;li&gt;Supports Appian version 23.1&lt;/li&gt;
&lt;li&gt;Updated locator for Dropdown class&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;Bug Fixes
&lt;ul&gt;
&lt;li&gt;Update CVEs&lt;/li&gt;
&lt;li&gt;Update scripts (start.bat, start-mac.sh, start-unix.sh, runFitNesseTest.sh) to reference the new fitnesse-20221219-standalone.jar&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;h3 id="august&amp;nbsp;2022_-_release_22.3"&gt;August&amp;nbsp;2022 - Release 22.3&lt;/h3&gt;
&lt;ul&gt;
&lt;li&gt;Appian Selenium API is released and supported&lt;/li&gt;
&lt;li&gt;Removed support for 20.3&lt;/li&gt;
&lt;/ul&gt;
&lt;h3 id="november&amp;nbsp;2021_-_release_21.4"&gt;November&amp;nbsp;2021 - Release 21.4&lt;/h3&gt;
&lt;ul&gt;
&lt;li&gt;Enhancements
&lt;ul&gt;
&lt;li&gt;Support new card choice components&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;Bug Fixes
&lt;ul&gt;
&lt;li class="ql-indent-1"&gt;Update CVEs&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;h3 id="august&amp;nbsp;2021_-_release_21.3"&gt;August&amp;nbsp;2021 - Release 21.3&lt;/h3&gt;
&lt;ul&gt;
&lt;li&gt;Bug Fixes
&lt;ul&gt;
&lt;li class="ql-indent-1"&gt;Fix bug for radio button card&lt;/li&gt;
&lt;li class="ql-indent-1"&gt;Fix bug for date picker&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;h3 id="june_2021_-_release_21.2"&gt;June 2021 - Release 21.2&lt;/h3&gt;
&lt;ul&gt;
&lt;li&gt;Enhancements
&lt;ul&gt;
&lt;li class="ql-indent-1"&gt;Support new SectionLayout&lt;/li&gt;
&lt;li class="ql-indent-1"&gt;Upgrade Selenium Server to 3.141.59&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;Bug Fixes
&lt;ul&gt;
&lt;li class="ql-indent-1"&gt;Fix bug for radio button card&lt;/li&gt;
&lt;li class="ql-indent-1"&gt;Fix bug for icon link alt text&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;h3 id="march&amp;nbsp;2021_-_release_21.1"&gt;March&amp;nbsp;2021 - Release 21.1&lt;/h3&gt;
&lt;ul&gt;
&lt;li&gt;Appian Selenium API is released and supported&lt;/li&gt;
&lt;/ul&gt;
&lt;/div&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;

&lt;div style="font-size: 90%;"&gt;Tags: testing, Architecture&lt;/div&gt;
</description></item><item><title>Automated Testing with Appian Selenium API</title><link>https://community.appian.com/success/w/guide/3312/automated-testing-with-appian-selenium-api/revision/21</link><pubDate>Mon, 01 Jul 2024 17:01:59 GMT</pubDate><guid isPermaLink="false">d3a83456-d57b-489c-a84c-4e8267bb592a:af6be428-e229-4a89-9844-d99ca095396c</guid><dc:creator>joel.larin</dc:creator><comments>https://community.appian.com/success/w/guide/3312/automated-testing-with-appian-selenium-api#comments</comments><description>Revision 21 posted to Guide by joel.larin on 7/1/2024 5:01:59 PM&lt;br /&gt;
&lt;div style="margin:8px 16% 8px 8%;"&gt;
&lt;h2 id="requirements"&gt;Requirements&lt;/h2&gt;
&lt;ul style="font-size:105%;"&gt;
&lt;li&gt;Appian 22.2 and above&lt;/li&gt;
&lt;li&gt;Java Runtime Environment 11&lt;/li&gt;
&lt;li&gt;If using Chrome, we recommend also using Chrome For Testing for a more consistent testing experience&lt;/li&gt;
&lt;li&gt;An IDE, such as IntelliJ IDEA or Eclipse&lt;/li&gt;
&lt;/ul&gt;
&lt;h2 id="setup"&gt;Setup&lt;/h2&gt;
&lt;p&gt;The &lt;a href="/b/appmarket/posts/appian_2d00_selenium_2d00_api"&gt;Appian Selenium API&lt;/a&gt; plug-in is a Java library which allows you to write automated tests for your Appian UIs. It contains methods which allow you to interact with Appian components in a browser. It provides methods and fixtures to interact with Appian applications in its various environments, e.g. Tempo or Sites. When writing tests, be sure to use methods from the correct fixture for the environment under test, e.g. use SitesFixture where possible to test Sites. Methods defined in fixtures that are intended for different environments are not guaranteed to work in future versions of the plugin.&lt;/p&gt;
&lt;p&gt;It can be used in a Java application or integrated directly into any Selenium or Java-based testing tool.&lt;/p&gt;
&lt;p&gt;Appian Selenium API contains the underlying Selenium methods used by &lt;a href="/b/appmarket/posts/cucumber-for-appian"&gt;Cucumber for Appian&lt;/a&gt; and &lt;a href="/b/appmarket/posts/fitnesse-for-appian"&gt;FitNesse for Appian&lt;/a&gt;, but offers you more flexibility by allowing you to define your own automated test cases. You can create your own Cucumber Step Definitions, your own testNG test, or the Java Framework of your choosing. You are no longer tied to Cucumber for Appian or FitNesse for Appian yet you get the same ease and simplicity of those respective frameworks.&lt;/p&gt;
&lt;ol style="font-size:105%;"&gt;
&lt;li&gt;Open this project in an IDE, such as IntelliJ IDEA or Eclipse.&lt;/li&gt;
&lt;li&gt;Update configurations:
&lt;ol&gt;
&lt;li&gt;&amp;nbsp;Open file &lt;strong&gt;configs/custom.properties&lt;/strong&gt;
&lt;ol&gt;
&lt;li&gt;Update &lt;strong&gt;automated.testing.hom&lt;/strong&gt;e with the path to this installation. Examples:
&lt;ol&gt;
&lt;li&gt;Windows: &lt;strong&gt;automated.testing.home=C:\\testFolder\\appian-selenium-api-example-java&lt;/strong&gt;&lt;/li&gt;
&lt;li&gt;Mac: &lt;strong&gt;automated.testing.home=/Users/tester/Desktop/appian-selenium-api-example-java&lt;/strong&gt;&lt;/li&gt;
&lt;/ol&gt;
&lt;/li&gt;
&lt;li&gt;Update &lt;strong&gt;chrome.driver.home&lt;/strong&gt; with the path to the Chrome driver that comes with this installation. Examples: * Windows: &lt;strong&gt;automated.testing.home=C:\\testFolder\\appian-selenium-api-example-java\\lib\\drivers\\chromedriver.exe&lt;/strong&gt; * Mac: &lt;strong&gt;automated.testing.home=/Users/tester/Desktop/appian-selenium-api-example-java/lib/drivers/chromedriver-mac&lt;/strong&gt;&lt;/li&gt;
&lt;/ol&gt;
&lt;/li&gt;
&lt;li&gt;Open file&lt;strong&gt; configs/users.properties&lt;/strong&gt;, for each username used in a test add a line in the format of &lt;strong&gt;&amp;lt;username&amp;gt;=&amp;lt;password&amp;gt;&lt;/strong&gt; to this file.
&lt;ol&gt;
&lt;li&gt;If you prefer not to disclose your password in plain text, you can also choose to use &lt;strong&gt;com.appiancorp.ps.automatedtest.fixture.BaseFixture.loginIntoWithUsernameAndPassword&lt;/strong&gt; fixture method to login by passing in the password from a system property value.&lt;/li&gt;
&lt;/ol&gt;
&lt;/li&gt;
&lt;/ol&gt;
&lt;/li&gt;
&lt;li&gt;Open &amp;quot;src/main/java/com/appiancorp/example/HelloAppian.java&amp;quot;:
&lt;ol&gt;
&lt;li&gt;Update &lt;strong&gt;TEST_SITE_URL&lt;/strong&gt; to your Appian URL, such as &lt;strong&gt;protected static String TEST_SITE_URL = &amp;quot;https://example.appiancloud.com/suite&amp;quot;;&lt;/strong&gt;&lt;/li&gt;
&lt;li&gt;Update &lt;strong&gt;TEST_USERNAME&lt;/strong&gt; with a username, such as &lt;strong&gt;protected static String TEST_USERNAME = &amp;quot;tester.tester&amp;quot;;&lt;/strong&gt; * Make sure this user exists in &lt;strong&gt;configs/users.properties&lt;/strong&gt;&lt;/li&gt;
&lt;/ol&gt;
&lt;/li&gt;
&lt;li&gt;Run the &lt;strong&gt;main()&lt;/strong&gt; method of this class:
&lt;ol&gt;
&lt;li&gt;&amp;nbsp;You should see that a Chrome browser will open up, and the fixture commands in &lt;strong&gt;HelloAppian.java&lt;/strong&gt; will execute accordingly.&lt;/li&gt;
&lt;li&gt;Note that this test will fail since your site might not have an action &amp;quot;Create a Case&amp;quot; under menu &amp;quot;Actions&amp;quot; that opens up an interface that has a &amp;quot;Submit&amp;quot; button.&lt;/li&gt;
&lt;/ol&gt;
&lt;/li&gt;
&lt;/ol&gt;
&lt;h2 id="features"&gt;Features&lt;/h2&gt;
&lt;p&gt;Multiple browser support&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;Chrome&lt;/li&gt;
&lt;li&gt;Firefox&lt;/li&gt;
&lt;/ul&gt;
&lt;h2 id="benefits"&gt;Benefits&lt;/h2&gt;
&lt;ul&gt;
&lt;li&gt;Define your own integration tests without being limited by a third-party testing tool&lt;/li&gt;
&lt;li&gt;Selenium-based test scripts can be created for reusability throughout test suites&lt;/li&gt;
&lt;li&gt;Methods created specifically to operate within Appian applications and Tempo&lt;/li&gt;
&lt;li&gt;Test scripts do not need to be updated when upgrading between supported Appian versions&lt;/li&gt;
&lt;li&gt;Test scripts are easily updated for new UI changes to a form or interface&lt;/li&gt;
&lt;li&gt;Appian design knowledge is not required to create test scripts&lt;/li&gt;
&lt;/ul&gt;
&lt;h2 id="release_notes"&gt;Release Notes&lt;/h2&gt;
&lt;h3 id="24.2"&gt;June 2024 - Release 24.2&lt;/h3&gt;
&lt;ul&gt;
&lt;li class="ql-indent-1"&gt;Enhancements
&lt;ul&gt;
&lt;li class="ql-indent-1"&gt;Updated locator for site menu links&lt;/li&gt;
&lt;li class="ql-indent-1"&gt;Created method which supports clicking on text within an interface. This is particularly useful for nested cards such as tab layouts, but can also be used as a fallback when existing methods don&amp;#39;t work. This method is available for all Appian versions.&lt;/li&gt;
&lt;li class="ql-indent-1"&gt;Click operation on Card layout will be performed on the left side of the element instead of the right. We&amp;#39;re not expecting any impact on existing test cases.&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;h3 id="june&amp;nbsp;2023_-_release_23.2.1"&gt;March 2024 - Release 24.1&lt;/h3&gt;
&lt;ul&gt;
&lt;li class="ql-indent-1"&gt;Enhancements
&lt;ul&gt;
&lt;li style="font-weight:400;"&gt;&lt;span style="font-weight:400;"&gt;Support for Appian version 24.1&lt;/span&gt;&lt;/li&gt;
&lt;li style="font-weight:400;"&gt;Adds support for collapsing/opening sidebars&lt;/li&gt;
&lt;li style="font-weight:400;"&gt;ClickOnCard updated to support clicking on cards with complex content. For example, the method can now click on cards that have a component nested in multiple layouts within the card&lt;!--mce:protected %3C%21--%20notionvc%3A%20c9bfab53-e4e1-4301-9c43-08f4d6f59a50%20--%3E--&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;h3 id="june&amp;nbsp;2023_-_release_23.2.1"&gt;November&amp;nbsp;2023 - Release 23.4&lt;/h3&gt;
&lt;ul&gt;
&lt;li class="ql-indent-1"&gt;&lt;strong&gt;NOTE&lt;/strong&gt;: &lt;span style="font-weight:400;"&gt;Project has been updated to require Java 11 JRE&lt;/span&gt;&lt;/li&gt;
&lt;li class="ql-indent-1"&gt;Enhancements
&lt;ul&gt;
&lt;li style="font-weight:400;"&gt;&lt;span style="font-weight:400;"&gt;Support for Appian version 23.4&lt;/span&gt;&lt;/li&gt;
&lt;li style="font-weight:400;"&gt;&lt;span style="font-weight:400;"&gt;Add support for the side navigation menu in sites&lt;/span&gt;&lt;/li&gt;
&lt;li style="font-weight:400;"&gt;&lt;span style="font-weight:400;"&gt;Add support for downloading charts&lt;/span&gt;&lt;/li&gt;
&lt;li style="font-weight:400;"&gt;&lt;span style="font-weight:400;"&gt;Add support for buttons configured with custom colors&lt;/span&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;Bug Fixes
&lt;ul&gt;
&lt;li style="font-weight:400;"&gt;&lt;span style="font-weight:400;"&gt;Honor the download directory given in custom.properties for Remote Drivers&lt;/span&gt;&lt;/li&gt;
&lt;li style="font-weight:400;"&gt;&lt;span style="font-weight:400;"&gt;Update dropdowns for versions greater than 23.3 to ignore the aria-checked value&lt;/span&gt;&lt;/li&gt;
&lt;li style="font-weight:400;"&gt;&lt;span style="font-weight:400;"&gt;Fixed Populate Record Type Data Range User Filter method&lt;/span&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;h3 id="june&amp;nbsp;2023_-_release_23.2.1"&gt;August 2023 - Release 23.3&lt;/h3&gt;
&lt;ul&gt;
&lt;li class="ql-indent-1"&gt;&lt;strong&gt;NOTE&lt;/strong&gt;: &lt;span style="font-weight:400;"&gt;Project has been updated to require Java 11 JRE&lt;/span&gt;&lt;/li&gt;
&lt;li class="ql-indent-1"&gt;Enhancements
&lt;ul&gt;
&lt;li style="font-weight:400;"&gt;&lt;span style="font-weight:400;"&gt;Supports Appian version 23.3&lt;/span&gt;&lt;/li&gt;
&lt;li style="font-weight:400;"&gt;&lt;span style="font-weight:400;"&gt;Added functionality to interact with new site group headers&lt;/span&gt;&lt;/li&gt;
&lt;li style="font-weight:400;"&gt;&lt;span style="font-weight:400;"&gt;Updated to Selenium 4.11.0&lt;/span&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;Bug Fixes
&lt;ul&gt;
&lt;li style="font-weight:400;"&gt;&lt;span style="font-weight:400;"&gt;Update checkboxes to support CARD style for 23.3 and later Appian versions&lt;/span&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;h3 id="june&amp;nbsp;2023_-_release_23.2.1"&gt;June&amp;nbsp;2023 - Release 23.2.1&lt;/h3&gt;
&lt;ul&gt;
&lt;li class="ql-indent-1"&gt;&lt;strong&gt;NOTE&lt;/strong&gt;: Updates to site navigation in the 23.2 product breaks the use of the clickOnMenu method defined in TempoFixtures for site environments. clickOnMenu, and other navigation methods defined in TempoFixtures, are guaranteed&amp;nbsp;to work only in Tempo environments. Use the clickOnSitePage method defined in SitesFixtures instead&lt;/li&gt;
&lt;li&gt;Bug Fixes
&lt;ul&gt;
&lt;li&gt;Update pickers to recognize selections with links (e.g. Record Pickers)&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;h3 id="june&amp;nbsp;2023_-_release_23.2"&gt;June&amp;nbsp;2023 - Release 23.2&lt;/h3&gt;
&lt;ul&gt;
&lt;li&gt;Enhancements
&lt;ul&gt;
&lt;li class="ql-indent-1"&gt;Supports Appian version 23.2
&lt;ul&gt;
&lt;li class="ql-indent-1"&gt;&lt;strong&gt;NOTE&lt;/strong&gt;: Updates to site navigation in the 23.2 product breaks the use of the clickOnMenu method defined in TempoFixtures for site environments. clickOnMenu, and other navigation methods defined in TempoFixtures, are guaranteed&amp;nbsp;to work only in Tempo environments. Use the clickOnSitePage method defined in SitesFixtures instead&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;h3 id="may_2023_-_release_23.1.2"&gt;May 2023 - Release 23.1.2&lt;/h3&gt;
&lt;ul&gt;
&lt;li&gt;Bug Fixes
&lt;ul&gt;
&lt;li&gt;Fixes an issue where Dropdowns with Search were not working&lt;/li&gt;
&lt;li&gt;Fixes an Issue where verifyText did not work on multi-node components&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;h3 id="february_2023_-_release_23.1"&gt;February 2023 - Release 23.1&lt;/h3&gt;
&lt;ul&gt;
&lt;li&gt;Enhancements
&lt;ul&gt;
&lt;li&gt;Supports Appian version 23.1&lt;/li&gt;
&lt;li&gt;Updated locator for Dropdown class&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;Bug Fixes
&lt;ul&gt;
&lt;li&gt;Update CVEs&lt;/li&gt;
&lt;li&gt;Update scripts (start.bat, start-mac.sh, start-unix.sh, runFitNesseTest.sh) to reference the new fitnesse-20221219-standalone.jar&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;h3 id="august&amp;nbsp;2022_-_release_22.3"&gt;August&amp;nbsp;2022 - Release 22.3&lt;/h3&gt;
&lt;ul&gt;
&lt;li&gt;Appian Selenium API is released and supported&lt;/li&gt;
&lt;li&gt;Removed support for 20.3&lt;/li&gt;
&lt;/ul&gt;
&lt;h3 id="november&amp;nbsp;2021_-_release_21.4"&gt;November&amp;nbsp;2021 - Release 21.4&lt;/h3&gt;
&lt;ul&gt;
&lt;li&gt;Enhancements
&lt;ul&gt;
&lt;li&gt;Support new card choice components&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;Bug Fixes
&lt;ul&gt;
&lt;li class="ql-indent-1"&gt;Update CVEs&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;h3 id="august&amp;nbsp;2021_-_release_21.3"&gt;August&amp;nbsp;2021 - Release 21.3&lt;/h3&gt;
&lt;ul&gt;
&lt;li&gt;Bug Fixes
&lt;ul&gt;
&lt;li class="ql-indent-1"&gt;Fix bug for radio button card&lt;/li&gt;
&lt;li class="ql-indent-1"&gt;Fix bug for date picker&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;h3 id="june_2021_-_release_21.2"&gt;June 2021 - Release 21.2&lt;/h3&gt;
&lt;ul&gt;
&lt;li&gt;Enhancements
&lt;ul&gt;
&lt;li class="ql-indent-1"&gt;Support new SectionLayout&lt;/li&gt;
&lt;li class="ql-indent-1"&gt;Upgrade Selenium Server to 3.141.59&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;Bug Fixes
&lt;ul&gt;
&lt;li class="ql-indent-1"&gt;Fix bug for radio button card&lt;/li&gt;
&lt;li class="ql-indent-1"&gt;Fix bug for icon link alt text&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;h3 id="march&amp;nbsp;2021_-_release_21.1"&gt;March&amp;nbsp;2021 - Release 21.1&lt;/h3&gt;
&lt;ul&gt;
&lt;li&gt;Appian Selenium API is released and supported&lt;/li&gt;
&lt;/ul&gt;
&lt;/div&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;

&lt;div style="font-size: 90%;"&gt;Tags: testing, Architecture&lt;/div&gt;
</description></item><item><title>Automated Testing with Appian Selenium API</title><link>https://community.appian.com/success/w/guide/3312/automated-testing-with-appian-selenium-api/revision/20</link><pubDate>Mon, 01 Jul 2024 16:59:00 GMT</pubDate><guid isPermaLink="false">d3a83456-d57b-489c-a84c-4e8267bb592a:af6be428-e229-4a89-9844-d99ca095396c</guid><dc:creator>joel.larin</dc:creator><comments>https://community.appian.com/success/w/guide/3312/automated-testing-with-appian-selenium-api#comments</comments><description>Revision 20 posted to Guide by joel.larin on 7/1/2024 4:59:00 PM&lt;br /&gt;
&lt;div style="margin:8px 16% 8px 8%;"&gt;
&lt;h2 id="requirements"&gt;Requirements&lt;/h2&gt;
&lt;ul style="font-size:105%;"&gt;
&lt;li&gt;Appian 22.2 and above&lt;!-- notionvc: a9d4fc2b-4113-4e91-ac27-57dbd815397b --&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;h2 id="setup"&gt;Setup&lt;/h2&gt;
&lt;p&gt;The &lt;a href="/b/appmarket/posts/appian_2d00_selenium_2d00_api"&gt;Appian Selenium API&lt;/a&gt; plug-in is a Java library which allows you to write automated tests for your Appian UIs. It contains methods which allow you to interact with Appian components in a browser. It provides methods and fixtures to interact with Appian applications in its various environments, e.g. Tempo or Sites. When writing tests, be sure to use methods from the correct fixture for the environment under test, e.g. use SitesFixture where possible to test Sites. Methods defined in fixtures that are intended for different environments are not guaranteed to work in future versions of the plugin.&lt;/p&gt;
&lt;p&gt;It can be used in a Java application or integrated directly into any Selenium or Java-based testing tool.&lt;/p&gt;
&lt;p&gt;Appian Selenium API contains the underlying Selenium methods used by &lt;a href="/b/appmarket/posts/cucumber-for-appian"&gt;Cucumber for Appian&lt;/a&gt; and &lt;a href="/b/appmarket/posts/fitnesse-for-appian"&gt;FitNesse for Appian&lt;/a&gt;, but offers you more flexibility by allowing you to define your own automated test cases. You can create your own Cucumber Step Definitions, your own testNG test, or the Java Framework of your choosing. You are no longer tied to Cucumber for Appian or FitNesse for Appian yet you get the same ease and simplicity of those respective frameworks.&lt;/p&gt;
&lt;ol style="font-size:105%;"&gt;
&lt;li&gt;Open this project in an IDE, such as IntelliJ IDEA or Eclipse.&lt;/li&gt;
&lt;li&gt;Update configurations:
&lt;ol&gt;
&lt;li&gt;&amp;nbsp;Open file &lt;strong&gt;configs/custom.properties&lt;/strong&gt;
&lt;ol&gt;
&lt;li&gt;Update &lt;strong&gt;automated.testing.hom&lt;/strong&gt;e with the path to this installation. Examples:
&lt;ol&gt;
&lt;li&gt;Windows: &lt;strong&gt;automated.testing.home=C:\\testFolder\\appian-selenium-api-example-java&lt;/strong&gt;&lt;/li&gt;
&lt;li&gt;Mac: &lt;strong&gt;automated.testing.home=/Users/tester/Desktop/appian-selenium-api-example-java&lt;/strong&gt;&lt;/li&gt;
&lt;/ol&gt;
&lt;/li&gt;
&lt;li&gt;Update &lt;strong&gt;chrome.driver.home&lt;/strong&gt; with the path to the Chrome driver that comes with this installation. Examples: * Windows: &lt;strong&gt;automated.testing.home=C:\\testFolder\\appian-selenium-api-example-java\\lib\\drivers\\chromedriver.exe&lt;/strong&gt; * Mac: &lt;strong&gt;automated.testing.home=/Users/tester/Desktop/appian-selenium-api-example-java/lib/drivers/chromedriver-mac&lt;/strong&gt;&lt;/li&gt;
&lt;/ol&gt;
&lt;/li&gt;
&lt;li&gt;Open file&lt;strong&gt; configs/users.properties&lt;/strong&gt;, for each username used in a test add a line in the format of &lt;strong&gt;&amp;lt;username&amp;gt;=&amp;lt;password&amp;gt;&lt;/strong&gt; to this file.
&lt;ol&gt;
&lt;li&gt;If you prefer not to disclose your password in plain text, you can also choose to use &lt;strong&gt;com.appiancorp.ps.automatedtest.fixture.BaseFixture.loginIntoWithUsernameAndPassword&lt;/strong&gt; fixture method to login by passing in the password from a system property value.&lt;/li&gt;
&lt;/ol&gt;
&lt;/li&gt;
&lt;/ol&gt;
&lt;/li&gt;
&lt;li&gt;Open &amp;quot;src/main/java/com/appiancorp/example/HelloAppian.java&amp;quot;:
&lt;ol&gt;
&lt;li&gt;Update &lt;strong&gt;TEST_SITE_URL&lt;/strong&gt; to your Appian URL, such as &lt;strong&gt;protected static String TEST_SITE_URL = &amp;quot;https://example.appiancloud.com/suite&amp;quot;;&lt;/strong&gt;&lt;/li&gt;
&lt;li&gt;Update &lt;strong&gt;TEST_USERNAME&lt;/strong&gt; with a username, such as &lt;strong&gt;protected static String TEST_USERNAME = &amp;quot;tester.tester&amp;quot;;&lt;/strong&gt; * Make sure this user exists in &lt;strong&gt;configs/users.properties&lt;/strong&gt;&lt;/li&gt;
&lt;/ol&gt;
&lt;/li&gt;
&lt;li&gt;Run the &lt;strong&gt;main()&lt;/strong&gt; method of this class:
&lt;ol&gt;
&lt;li&gt;&amp;nbsp;You should see that a Chrome browser will open up, and the fixture commands in &lt;strong&gt;HelloAppian.java&lt;/strong&gt; will execute accordingly.&lt;/li&gt;
&lt;li&gt;Note that this test will fail since your site might not have an action &amp;quot;Create a Case&amp;quot; under menu &amp;quot;Actions&amp;quot; that opens up an interface that has a &amp;quot;Submit&amp;quot; button.&lt;/li&gt;
&lt;/ol&gt;
&lt;/li&gt;
&lt;/ol&gt;
&lt;h2 id="features"&gt;Features&lt;/h2&gt;
&lt;p&gt;Multiple browser support&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;Chrome&lt;/li&gt;
&lt;li&gt;Firefox&lt;/li&gt;
&lt;/ul&gt;
&lt;h2 id="benefits"&gt;Benefits&lt;/h2&gt;
&lt;ul&gt;
&lt;li&gt;Define your own integration tests without being limited by a third-party testing tool&lt;/li&gt;
&lt;li&gt;Selenium-based test scripts can be created for reusability throughout test suites&lt;/li&gt;
&lt;li&gt;Methods created specifically to operate within Appian applications and Tempo&lt;/li&gt;
&lt;li&gt;Test scripts do not need to be updated when upgrading between supported Appian versions&lt;/li&gt;
&lt;li&gt;Test scripts are easily updated for new UI changes to a form or interface&lt;/li&gt;
&lt;li&gt;Appian design knowledge is not required to create test scripts&lt;/li&gt;
&lt;/ul&gt;
&lt;h2 id="release_notes"&gt;Release Notes&lt;/h2&gt;
&lt;h3 id="24.2"&gt;June 2024 - Release 24.2&lt;/h3&gt;
&lt;ul&gt;
&lt;li class="ql-indent-1"&gt;Enhancements
&lt;ul&gt;
&lt;li class="ql-indent-1"&gt;Updated locator for site menu links&lt;/li&gt;
&lt;li class="ql-indent-1"&gt;Created method which supports clicking on text within an interface. This is particularly useful for nested cards such as tab layouts, but can also be used as a fallback when existing methods don&amp;#39;t work. This method is available for all Appian versions.&lt;/li&gt;
&lt;li class="ql-indent-1"&gt;Click operation on Card layout will be performed on the left side of the element instead of the right. We&amp;#39;re not expecting any impact on existing test cases.&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;h3 id="june&amp;nbsp;2023_-_release_23.2.1"&gt;March 2024 - Release 24.1&lt;/h3&gt;
&lt;ul&gt;
&lt;li class="ql-indent-1"&gt;Enhancements
&lt;ul&gt;
&lt;li style="font-weight:400;"&gt;&lt;span style="font-weight:400;"&gt;Support for Appian version 24.1&lt;/span&gt;&lt;/li&gt;
&lt;li style="font-weight:400;"&gt;Adds support for collapsing/opening sidebars&lt;/li&gt;
&lt;li style="font-weight:400;"&gt;ClickOnCard updated to support clicking on cards with complex content. For example, the method can now click on cards that have a component nested in multiple layouts within the card&lt;!--mce:protected %3C%21--%20notionvc%3A%20c9bfab53-e4e1-4301-9c43-08f4d6f59a50%20--%3E--&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;h3 id="june&amp;nbsp;2023_-_release_23.2.1"&gt;November&amp;nbsp;2023 - Release 23.4&lt;/h3&gt;
&lt;ul&gt;
&lt;li class="ql-indent-1"&gt;&lt;strong&gt;NOTE&lt;/strong&gt;: &lt;span style="font-weight:400;"&gt;Project has been updated to require Java 11 JRE&lt;/span&gt;&lt;/li&gt;
&lt;li class="ql-indent-1"&gt;Enhancements
&lt;ul&gt;
&lt;li style="font-weight:400;"&gt;&lt;span style="font-weight:400;"&gt;Support for Appian version 23.4&lt;/span&gt;&lt;/li&gt;
&lt;li style="font-weight:400;"&gt;&lt;span style="font-weight:400;"&gt;Add support for the side navigation menu in sites&lt;/span&gt;&lt;/li&gt;
&lt;li style="font-weight:400;"&gt;&lt;span style="font-weight:400;"&gt;Add support for downloading charts&lt;/span&gt;&lt;/li&gt;
&lt;li style="font-weight:400;"&gt;&lt;span style="font-weight:400;"&gt;Add support for buttons configured with custom colors&lt;/span&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;Bug Fixes
&lt;ul&gt;
&lt;li style="font-weight:400;"&gt;&lt;span style="font-weight:400;"&gt;Honor the download directory given in custom.properties for Remote Drivers&lt;/span&gt;&lt;/li&gt;
&lt;li style="font-weight:400;"&gt;&lt;span style="font-weight:400;"&gt;Update dropdowns for versions greater than 23.3 to ignore the aria-checked value&lt;/span&gt;&lt;/li&gt;
&lt;li style="font-weight:400;"&gt;&lt;span style="font-weight:400;"&gt;Fixed Populate Record Type Data Range User Filter method&lt;/span&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;h3 id="june&amp;nbsp;2023_-_release_23.2.1"&gt;August 2023 - Release 23.3&lt;/h3&gt;
&lt;ul&gt;
&lt;li class="ql-indent-1"&gt;&lt;strong&gt;NOTE&lt;/strong&gt;: &lt;span style="font-weight:400;"&gt;Project has been updated to require Java 11 JRE&lt;/span&gt;&lt;/li&gt;
&lt;li class="ql-indent-1"&gt;Enhancements
&lt;ul&gt;
&lt;li style="font-weight:400;"&gt;&lt;span style="font-weight:400;"&gt;Supports Appian version 23.3&lt;/span&gt;&lt;/li&gt;
&lt;li style="font-weight:400;"&gt;&lt;span style="font-weight:400;"&gt;Added functionality to interact with new site group headers&lt;/span&gt;&lt;/li&gt;
&lt;li style="font-weight:400;"&gt;&lt;span style="font-weight:400;"&gt;Updated to Selenium 4.11.0&lt;/span&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;Bug Fixes
&lt;ul&gt;
&lt;li style="font-weight:400;"&gt;&lt;span style="font-weight:400;"&gt;Update checkboxes to support CARD style for 23.3 and later Appian versions&lt;/span&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;h3 id="june&amp;nbsp;2023_-_release_23.2.1"&gt;June&amp;nbsp;2023 - Release 23.2.1&lt;/h3&gt;
&lt;ul&gt;
&lt;li class="ql-indent-1"&gt;&lt;strong&gt;NOTE&lt;/strong&gt;: Updates to site navigation in the 23.2 product breaks the use of the clickOnMenu method defined in TempoFixtures for site environments. clickOnMenu, and other navigation methods defined in TempoFixtures, are guaranteed&amp;nbsp;to work only in Tempo environments. Use the clickOnSitePage method defined in SitesFixtures instead&lt;/li&gt;
&lt;li&gt;Bug Fixes
&lt;ul&gt;
&lt;li&gt;Update pickers to recognize selections with links (e.g. Record Pickers)&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;h3 id="june&amp;nbsp;2023_-_release_23.2"&gt;June&amp;nbsp;2023 - Release 23.2&lt;/h3&gt;
&lt;ul&gt;
&lt;li&gt;Enhancements
&lt;ul&gt;
&lt;li class="ql-indent-1"&gt;Supports Appian version 23.2
&lt;ul&gt;
&lt;li class="ql-indent-1"&gt;&lt;strong&gt;NOTE&lt;/strong&gt;: Updates to site navigation in the 23.2 product breaks the use of the clickOnMenu method defined in TempoFixtures for site environments. clickOnMenu, and other navigation methods defined in TempoFixtures, are guaranteed&amp;nbsp;to work only in Tempo environments. Use the clickOnSitePage method defined in SitesFixtures instead&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;h3 id="may_2023_-_release_23.1.2"&gt;May 2023 - Release 23.1.2&lt;/h3&gt;
&lt;ul&gt;
&lt;li&gt;Bug Fixes
&lt;ul&gt;
&lt;li&gt;Fixes an issue where Dropdowns with Search were not working&lt;/li&gt;
&lt;li&gt;Fixes an Issue where verifyText did not work on multi-node components&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;h3 id="february_2023_-_release_23.1"&gt;February 2023 - Release 23.1&lt;/h3&gt;
&lt;ul&gt;
&lt;li&gt;Enhancements
&lt;ul&gt;
&lt;li&gt;Supports Appian version 23.1&lt;/li&gt;
&lt;li&gt;Updated locator for Dropdown class&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;Bug Fixes
&lt;ul&gt;
&lt;li&gt;Update CVEs&lt;/li&gt;
&lt;li&gt;Update scripts (start.bat, start-mac.sh, start-unix.sh, runFitNesseTest.sh) to reference the new fitnesse-20221219-standalone.jar&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;h3 id="august&amp;nbsp;2022_-_release_22.3"&gt;August&amp;nbsp;2022 - Release 22.3&lt;/h3&gt;
&lt;ul&gt;
&lt;li&gt;Appian Selenium API is released and supported&lt;/li&gt;
&lt;li&gt;Removed support for 20.3&lt;/li&gt;
&lt;/ul&gt;
&lt;h3 id="november&amp;nbsp;2021_-_release_21.4"&gt;November&amp;nbsp;2021 - Release 21.4&lt;/h3&gt;
&lt;ul&gt;
&lt;li&gt;Enhancements
&lt;ul&gt;
&lt;li&gt;Support new card choice components&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;Bug Fixes
&lt;ul&gt;
&lt;li class="ql-indent-1"&gt;Update CVEs&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;h3 id="august&amp;nbsp;2021_-_release_21.3"&gt;August&amp;nbsp;2021 - Release 21.3&lt;/h3&gt;
&lt;ul&gt;
&lt;li&gt;Bug Fixes
&lt;ul&gt;
&lt;li class="ql-indent-1"&gt;Fix bug for radio button card&lt;/li&gt;
&lt;li class="ql-indent-1"&gt;Fix bug for date picker&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;h3 id="june_2021_-_release_21.2"&gt;June 2021 - Release 21.2&lt;/h3&gt;
&lt;ul&gt;
&lt;li&gt;Enhancements
&lt;ul&gt;
&lt;li class="ql-indent-1"&gt;Support new SectionLayout&lt;/li&gt;
&lt;li class="ql-indent-1"&gt;Upgrade Selenium Server to 3.141.59&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;Bug Fixes
&lt;ul&gt;
&lt;li class="ql-indent-1"&gt;Fix bug for radio button card&lt;/li&gt;
&lt;li class="ql-indent-1"&gt;Fix bug for icon link alt text&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;h3 id="march&amp;nbsp;2021_-_release_21.1"&gt;March&amp;nbsp;2021 - Release 21.1&lt;/h3&gt;
&lt;ul&gt;
&lt;li&gt;Appian Selenium API is released and supported&lt;/li&gt;
&lt;/ul&gt;
&lt;/div&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;

&lt;div style="font-size: 90%;"&gt;Tags: testing, Architecture&lt;/div&gt;
</description></item><item><title>Automated Testing with Appian Selenium API</title><link>https://community.appian.com/success/w/guide/3312/automated-testing-with-appian-selenium-api/revision/19</link><pubDate>Mon, 01 Jul 2024 16:58:32 GMT</pubDate><guid isPermaLink="false">d3a83456-d57b-489c-a84c-4e8267bb592a:af6be428-e229-4a89-9844-d99ca095396c</guid><dc:creator>joel.larin</dc:creator><comments>https://community.appian.com/success/w/guide/3312/automated-testing-with-appian-selenium-api#comments</comments><description>Revision 19 posted to Guide by joel.larin on 7/1/2024 4:58:32 PM&lt;br /&gt;
&lt;div style="margin:8px 16% 8px 8%;"&gt;
&lt;h2 id="requirements"&gt;Requirements&lt;/h2&gt;
&lt;ul style="font-size:104%;"&gt;
&lt;li&gt;Appian 22.2 and above&lt;!-- notionvc: a9d4fc2b-4113-4e91-ac27-57dbd815397b --&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;h2 id="setup"&gt;Setup&lt;/h2&gt;
&lt;p&gt;The &lt;a href="/b/appmarket/posts/appian_2d00_selenium_2d00_api"&gt;Appian Selenium API&lt;/a&gt; plug-in is a Java library which allows you to write automated tests for your Appian UIs. It contains methods which allow you to interact with Appian components in a browser. It provides methods and fixtures to interact with Appian applications in its various environments, e.g. Tempo or Sites. When writing tests, be sure to use methods from the correct fixture for the environment under test, e.g. use SitesFixture where possible to test Sites. Methods defined in fixtures that are intended for different environments are not guaranteed to work in future versions of the plugin.&lt;/p&gt;
&lt;p&gt;It can be used in a Java application or integrated directly into any Selenium or Java-based testing tool.&lt;/p&gt;
&lt;p&gt;Appian Selenium API contains the underlying Selenium methods used by &lt;a href="/b/appmarket/posts/cucumber-for-appian"&gt;Cucumber for Appian&lt;/a&gt; and &lt;a href="/b/appmarket/posts/fitnesse-for-appian"&gt;FitNesse for Appian&lt;/a&gt;, but offers you more flexibility by allowing you to define your own automated test cases. You can create your own Cucumber Step Definitions, your own testNG test, or the Java Framework of your choosing. You are no longer tied to Cucumber for Appian or FitNesse for Appian yet you get the same ease and simplicity of those respective frameworks.&lt;/p&gt;
&lt;ol style="font-size:104%;"&gt;
&lt;li&gt;Open this project in an IDE, such as IntelliJ IDEA or Eclipse.&lt;/li&gt;
&lt;li&gt;Update configurations:
&lt;ol&gt;
&lt;li&gt;&amp;nbsp;Open file &lt;strong&gt;configs/custom.properties&lt;/strong&gt;
&lt;ol&gt;
&lt;li&gt;Update &lt;strong&gt;automated.testing.hom&lt;/strong&gt;e with the path to this installation. Examples:
&lt;ol&gt;
&lt;li&gt;Windows: &lt;strong&gt;automated.testing.home=C:\\testFolder\\appian-selenium-api-example-java&lt;/strong&gt;&lt;/li&gt;
&lt;li&gt;Mac: &lt;strong&gt;automated.testing.home=/Users/tester/Desktop/appian-selenium-api-example-java&lt;/strong&gt;&lt;/li&gt;
&lt;/ol&gt;
&lt;/li&gt;
&lt;li&gt;Update &lt;strong&gt;chrome.driver.home&lt;/strong&gt; with the path to the Chrome driver that comes with this installation. Examples: * Windows: &lt;strong&gt;automated.testing.home=C:\\testFolder\\appian-selenium-api-example-java\\lib\\drivers\\chromedriver.exe&lt;/strong&gt; * Mac: &lt;strong&gt;automated.testing.home=/Users/tester/Desktop/appian-selenium-api-example-java/lib/drivers/chromedriver-mac&lt;/strong&gt;&lt;/li&gt;
&lt;/ol&gt;
&lt;/li&gt;
&lt;li&gt;Open file&lt;strong&gt; configs/users.properties&lt;/strong&gt;, for each username used in a test add a line in the format of &lt;strong&gt;&amp;lt;username&amp;gt;=&amp;lt;password&amp;gt;&lt;/strong&gt; to this file.
&lt;ol&gt;
&lt;li&gt;If you prefer not to disclose your password in plain text, you can also choose to use &lt;strong&gt;com.appiancorp.ps.automatedtest.fixture.BaseFixture.loginIntoWithUsernameAndPassword&lt;/strong&gt; fixture method to login by passing in the password from a system property value.&lt;/li&gt;
&lt;/ol&gt;
&lt;/li&gt;
&lt;/ol&gt;
&lt;/li&gt;
&lt;li&gt;Open &amp;quot;src/main/java/com/appiancorp/example/HelloAppian.java&amp;quot;:
&lt;ol&gt;
&lt;li&gt;Update &lt;strong&gt;TEST_SITE_URL&lt;/strong&gt; to your Appian URL, such as &lt;strong&gt;protected static String TEST_SITE_URL = &amp;quot;https://example.appiancloud.com/suite&amp;quot;;&lt;/strong&gt;&lt;/li&gt;
&lt;li&gt;Update &lt;strong&gt;TEST_USERNAME&lt;/strong&gt; with a username, such as &lt;strong&gt;protected static String TEST_USERNAME = &amp;quot;tester.tester&amp;quot;;&lt;/strong&gt; * Make sure this user exists in &lt;strong&gt;configs/users.properties&lt;/strong&gt;&lt;/li&gt;
&lt;/ol&gt;
&lt;/li&gt;
&lt;li&gt;Run the &lt;strong&gt;main()&lt;/strong&gt; method of this class:
&lt;ol&gt;
&lt;li&gt;&amp;nbsp;You should see that a Chrome browser will open up, and the fixture commands in &lt;strong&gt;HelloAppian.java&lt;/strong&gt; will execute accordingly.&lt;/li&gt;
&lt;li&gt;Note that this test will fail since your site might not have an action &amp;quot;Create a Case&amp;quot; under menu &amp;quot;Actions&amp;quot; that opens up an interface that has a &amp;quot;Submit&amp;quot; button.&lt;/li&gt;
&lt;/ol&gt;
&lt;/li&gt;
&lt;/ol&gt;
&lt;h2 id="features"&gt;Features&lt;/h2&gt;
&lt;p&gt;Multiple browser support&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;Chrome&lt;/li&gt;
&lt;li&gt;Firefox&lt;/li&gt;
&lt;/ul&gt;
&lt;h2 id="benefits"&gt;Benefits&lt;/h2&gt;
&lt;ul&gt;
&lt;li&gt;Define your own integration tests without being limited by a third-party testing tool&lt;/li&gt;
&lt;li&gt;Selenium-based test scripts can be created for reusability throughout test suites&lt;/li&gt;
&lt;li&gt;Methods created specifically to operate within Appian applications and Tempo&lt;/li&gt;
&lt;li&gt;Test scripts do not need to be updated when upgrading between supported Appian versions&lt;/li&gt;
&lt;li&gt;Test scripts are easily updated for new UI changes to a form or interface&lt;/li&gt;
&lt;li&gt;Appian design knowledge is not required to create test scripts&lt;/li&gt;
&lt;/ul&gt;
&lt;h2 id="release_notes"&gt;Release Notes&lt;/h2&gt;
&lt;h3 id="24.2"&gt;June 2024 - Release 24.2&lt;/h3&gt;
&lt;ul&gt;
&lt;li class="ql-indent-1"&gt;Enhancements
&lt;ul&gt;
&lt;li class="ql-indent-1"&gt;Updated locator for site menu links&lt;/li&gt;
&lt;li class="ql-indent-1"&gt;Created method which supports clicking on text within an interface. This is particularly useful for nested cards such as tab layouts, but can also be used as a fallback when existing methods don&amp;#39;t work. This method is available for all Appian versions.&lt;/li&gt;
&lt;li class="ql-indent-1"&gt;Click operation on Card layout will be performed on the left side of the element instead of the right. We&amp;#39;re not expecting any impact on existing test cases.&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;h3 id="june&amp;nbsp;2023_-_release_23.2.1"&gt;March 2024 - Release 24.1&lt;/h3&gt;
&lt;ul&gt;
&lt;li class="ql-indent-1"&gt;Enhancements
&lt;ul&gt;
&lt;li style="font-weight:400;"&gt;&lt;span style="font-weight:400;"&gt;Support for Appian version 24.1&lt;/span&gt;&lt;/li&gt;
&lt;li style="font-weight:400;"&gt;Adds support for collapsing/opening sidebars&lt;/li&gt;
&lt;li style="font-weight:400;"&gt;ClickOnCard updated to support clicking on cards with complex content. For example, the method can now click on cards that have a component nested in multiple layouts within the card&lt;!--mce:protected %3C%21--%20notionvc%3A%20c9bfab53-e4e1-4301-9c43-08f4d6f59a50%20--%3E--&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;h3 id="june&amp;nbsp;2023_-_release_23.2.1"&gt;November&amp;nbsp;2023 - Release 23.4&lt;/h3&gt;
&lt;ul&gt;
&lt;li class="ql-indent-1"&gt;&lt;strong&gt;NOTE&lt;/strong&gt;: &lt;span style="font-weight:400;"&gt;Project has been updated to require Java 11 JRE&lt;/span&gt;&lt;/li&gt;
&lt;li class="ql-indent-1"&gt;Enhancements
&lt;ul&gt;
&lt;li style="font-weight:400;"&gt;&lt;span style="font-weight:400;"&gt;Support for Appian version 23.4&lt;/span&gt;&lt;/li&gt;
&lt;li style="font-weight:400;"&gt;&lt;span style="font-weight:400;"&gt;Add support for the side navigation menu in sites&lt;/span&gt;&lt;/li&gt;
&lt;li style="font-weight:400;"&gt;&lt;span style="font-weight:400;"&gt;Add support for downloading charts&lt;/span&gt;&lt;/li&gt;
&lt;li style="font-weight:400;"&gt;&lt;span style="font-weight:400;"&gt;Add support for buttons configured with custom colors&lt;/span&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;Bug Fixes
&lt;ul&gt;
&lt;li style="font-weight:400;"&gt;&lt;span style="font-weight:400;"&gt;Honor the download directory given in custom.properties for Remote Drivers&lt;/span&gt;&lt;/li&gt;
&lt;li style="font-weight:400;"&gt;&lt;span style="font-weight:400;"&gt;Update dropdowns for versions greater than 23.3 to ignore the aria-checked value&lt;/span&gt;&lt;/li&gt;
&lt;li style="font-weight:400;"&gt;&lt;span style="font-weight:400;"&gt;Fixed Populate Record Type Data Range User Filter method&lt;/span&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;h3 id="june&amp;nbsp;2023_-_release_23.2.1"&gt;August 2023 - Release 23.3&lt;/h3&gt;
&lt;ul&gt;
&lt;li class="ql-indent-1"&gt;&lt;strong&gt;NOTE&lt;/strong&gt;: &lt;span style="font-weight:400;"&gt;Project has been updated to require Java 11 JRE&lt;/span&gt;&lt;/li&gt;
&lt;li class="ql-indent-1"&gt;Enhancements
&lt;ul&gt;
&lt;li style="font-weight:400;"&gt;&lt;span style="font-weight:400;"&gt;Supports Appian version 23.3&lt;/span&gt;&lt;/li&gt;
&lt;li style="font-weight:400;"&gt;&lt;span style="font-weight:400;"&gt;Added functionality to interact with new site group headers&lt;/span&gt;&lt;/li&gt;
&lt;li style="font-weight:400;"&gt;&lt;span style="font-weight:400;"&gt;Updated to Selenium 4.11.0&lt;/span&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;Bug Fixes
&lt;ul&gt;
&lt;li style="font-weight:400;"&gt;&lt;span style="font-weight:400;"&gt;Update checkboxes to support CARD style for 23.3 and later Appian versions&lt;/span&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;h3 id="june&amp;nbsp;2023_-_release_23.2.1"&gt;June&amp;nbsp;2023 - Release 23.2.1&lt;/h3&gt;
&lt;ul&gt;
&lt;li class="ql-indent-1"&gt;&lt;strong&gt;NOTE&lt;/strong&gt;: Updates to site navigation in the 23.2 product breaks the use of the clickOnMenu method defined in TempoFixtures for site environments. clickOnMenu, and other navigation methods defined in TempoFixtures, are guaranteed&amp;nbsp;to work only in Tempo environments. Use the clickOnSitePage method defined in SitesFixtures instead&lt;/li&gt;
&lt;li&gt;Bug Fixes
&lt;ul&gt;
&lt;li&gt;Update pickers to recognize selections with links (e.g. Record Pickers)&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;h3 id="june&amp;nbsp;2023_-_release_23.2"&gt;June&amp;nbsp;2023 - Release 23.2&lt;/h3&gt;
&lt;ul&gt;
&lt;li&gt;Enhancements
&lt;ul&gt;
&lt;li class="ql-indent-1"&gt;Supports Appian version 23.2
&lt;ul&gt;
&lt;li class="ql-indent-1"&gt;&lt;strong&gt;NOTE&lt;/strong&gt;: Updates to site navigation in the 23.2 product breaks the use of the clickOnMenu method defined in TempoFixtures for site environments. clickOnMenu, and other navigation methods defined in TempoFixtures, are guaranteed&amp;nbsp;to work only in Tempo environments. Use the clickOnSitePage method defined in SitesFixtures instead&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;h3 id="may_2023_-_release_23.1.2"&gt;May 2023 - Release 23.1.2&lt;/h3&gt;
&lt;ul&gt;
&lt;li&gt;Bug Fixes
&lt;ul&gt;
&lt;li&gt;Fixes an issue where Dropdowns with Search were not working&lt;/li&gt;
&lt;li&gt;Fixes an Issue where verifyText did not work on multi-node components&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;h3 id="february_2023_-_release_23.1"&gt;February 2023 - Release 23.1&lt;/h3&gt;
&lt;ul&gt;
&lt;li&gt;Enhancements
&lt;ul&gt;
&lt;li&gt;Supports Appian version 23.1&lt;/li&gt;
&lt;li&gt;Updated locator for Dropdown class&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;Bug Fixes
&lt;ul&gt;
&lt;li&gt;Update CVEs&lt;/li&gt;
&lt;li&gt;Update scripts (start.bat, start-mac.sh, start-unix.sh, runFitNesseTest.sh) to reference the new fitnesse-20221219-standalone.jar&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;h3 id="august&amp;nbsp;2022_-_release_22.3"&gt;August&amp;nbsp;2022 - Release 22.3&lt;/h3&gt;
&lt;ul&gt;
&lt;li&gt;Appian Selenium API is released and supported&lt;/li&gt;
&lt;li&gt;Removed support for 20.3&lt;/li&gt;
&lt;/ul&gt;
&lt;h3 id="november&amp;nbsp;2021_-_release_21.4"&gt;November&amp;nbsp;2021 - Release 21.4&lt;/h3&gt;
&lt;ul&gt;
&lt;li&gt;Enhancements
&lt;ul&gt;
&lt;li&gt;Support new card choice components&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;Bug Fixes
&lt;ul&gt;
&lt;li class="ql-indent-1"&gt;Update CVEs&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;h3 id="august&amp;nbsp;2021_-_release_21.3"&gt;August&amp;nbsp;2021 - Release 21.3&lt;/h3&gt;
&lt;ul&gt;
&lt;li&gt;Bug Fixes
&lt;ul&gt;
&lt;li class="ql-indent-1"&gt;Fix bug for radio button card&lt;/li&gt;
&lt;li class="ql-indent-1"&gt;Fix bug for date picker&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;h3 id="june_2021_-_release_21.2"&gt;June 2021 - Release 21.2&lt;/h3&gt;
&lt;ul&gt;
&lt;li&gt;Enhancements
&lt;ul&gt;
&lt;li class="ql-indent-1"&gt;Support new SectionLayout&lt;/li&gt;
&lt;li class="ql-indent-1"&gt;Upgrade Selenium Server to 3.141.59&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;Bug Fixes
&lt;ul&gt;
&lt;li class="ql-indent-1"&gt;Fix bug for radio button card&lt;/li&gt;
&lt;li class="ql-indent-1"&gt;Fix bug for icon link alt text&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;h3 id="march&amp;nbsp;2021_-_release_21.1"&gt;March&amp;nbsp;2021 - Release 21.1&lt;/h3&gt;
&lt;ul&gt;
&lt;li&gt;Appian Selenium API is released and supported&lt;/li&gt;
&lt;/ul&gt;
&lt;/div&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;

&lt;div style="font-size: 90%;"&gt;Tags: testing, Architecture&lt;/div&gt;
</description></item><item><title>Automated Testing with Appian Selenium API</title><link>https://community.appian.com/success/w/guide/3312/automated-testing-with-appian-selenium-api/revision/18</link><pubDate>Mon, 01 Jul 2024 16:58:07 GMT</pubDate><guid isPermaLink="false">d3a83456-d57b-489c-a84c-4e8267bb592a:af6be428-e229-4a89-9844-d99ca095396c</guid><dc:creator>joel.larin</dc:creator><comments>https://community.appian.com/success/w/guide/3312/automated-testing-with-appian-selenium-api#comments</comments><description>Revision 18 posted to Guide by joel.larin on 7/1/2024 4:58:07 PM&lt;br /&gt;
&lt;div style="margin:8px 16% 8px 8%;"&gt;
&lt;h2 id="requirements"&gt;Requirements&lt;/h2&gt;
&lt;ul style="font-size:104%;"&gt;
&lt;li&gt;d&lt;/li&gt;
&lt;/ul&gt;
&lt;h2 id="setup"&gt;Setup&lt;/h2&gt;
&lt;p&gt;The &lt;a href="/b/appmarket/posts/appian_2d00_selenium_2d00_api"&gt;Appian Selenium API&lt;/a&gt; plug-in is a Java library which allows you to write automated tests for your Appian UIs. It contains methods which allow you to interact with Appian components in a browser. It provides methods and fixtures to interact with Appian applications in its various environments, e.g. Tempo or Sites. When writing tests, be sure to use methods from the correct fixture for the environment under test, e.g. use SitesFixture where possible to test Sites. Methods defined in fixtures that are intended for different environments are not guaranteed to work in future versions of the plugin.&lt;/p&gt;
&lt;p&gt;It can be used in a Java application or integrated directly into any Selenium or Java-based testing tool.&lt;/p&gt;
&lt;p&gt;Appian Selenium API contains the underlying Selenium methods used by &lt;a href="/b/appmarket/posts/cucumber-for-appian"&gt;Cucumber for Appian&lt;/a&gt; and &lt;a href="/b/appmarket/posts/fitnesse-for-appian"&gt;FitNesse for Appian&lt;/a&gt;, but offers you more flexibility by allowing you to define your own automated test cases. You can create your own Cucumber Step Definitions, your own testNG test, or the Java Framework of your choosing. You are no longer tied to Cucumber for Appian or FitNesse for Appian yet you get the same ease and simplicity of those respective frameworks.&lt;/p&gt;
&lt;ol style="font-size:104%;"&gt;
&lt;li&gt;Open this project in an IDE, such as IntelliJ IDEA or Eclipse.&lt;/li&gt;
&lt;li&gt;Update configurations:
&lt;ol&gt;
&lt;li&gt;&amp;nbsp;Open file &lt;strong&gt;configs/custom.properties&lt;/strong&gt;
&lt;ol&gt;
&lt;li&gt;Update &lt;strong&gt;automated.testing.hom&lt;/strong&gt;e with the path to this installation. Examples:
&lt;ol&gt;
&lt;li&gt;Windows: &lt;strong&gt;automated.testing.home=C:\\testFolder\\appian-selenium-api-example-java&lt;/strong&gt;&lt;/li&gt;
&lt;li&gt;Mac: &lt;strong&gt;automated.testing.home=/Users/tester/Desktop/appian-selenium-api-example-java&lt;/strong&gt;&lt;/li&gt;
&lt;/ol&gt;
&lt;/li&gt;
&lt;li&gt;Update &lt;strong&gt;chrome.driver.home&lt;/strong&gt; with the path to the Chrome driver that comes with this installation. Examples: * Windows: &lt;strong&gt;automated.testing.home=C:\\testFolder\\appian-selenium-api-example-java\\lib\\drivers\\chromedriver.exe&lt;/strong&gt; * Mac: &lt;strong&gt;automated.testing.home=/Users/tester/Desktop/appian-selenium-api-example-java/lib/drivers/chromedriver-mac&lt;/strong&gt;&lt;/li&gt;
&lt;/ol&gt;
&lt;/li&gt;
&lt;li&gt;Open file&lt;strong&gt; configs/users.properties&lt;/strong&gt;, for each username used in a test add a line in the format of &lt;strong&gt;&amp;lt;username&amp;gt;=&amp;lt;password&amp;gt;&lt;/strong&gt; to this file.
&lt;ol&gt;
&lt;li&gt;If you prefer not to disclose your password in plain text, you can also choose to use &lt;strong&gt;com.appiancorp.ps.automatedtest.fixture.BaseFixture.loginIntoWithUsernameAndPassword&lt;/strong&gt; fixture method to login by passing in the password from a system property value.&lt;/li&gt;
&lt;/ol&gt;
&lt;/li&gt;
&lt;/ol&gt;
&lt;/li&gt;
&lt;li&gt;Open &amp;quot;src/main/java/com/appiancorp/example/HelloAppian.java&amp;quot;:
&lt;ol&gt;
&lt;li&gt;Update &lt;strong&gt;TEST_SITE_URL&lt;/strong&gt; to your Appian URL, such as &lt;strong&gt;protected static String TEST_SITE_URL = &amp;quot;https://example.appiancloud.com/suite&amp;quot;;&lt;/strong&gt;&lt;/li&gt;
&lt;li&gt;Update &lt;strong&gt;TEST_USERNAME&lt;/strong&gt; with a username, such as &lt;strong&gt;protected static String TEST_USERNAME = &amp;quot;tester.tester&amp;quot;;&lt;/strong&gt; * Make sure this user exists in &lt;strong&gt;configs/users.properties&lt;/strong&gt;&lt;/li&gt;
&lt;/ol&gt;
&lt;/li&gt;
&lt;li&gt;Run the &lt;strong&gt;main()&lt;/strong&gt; method of this class:
&lt;ol&gt;
&lt;li&gt;&amp;nbsp;You should see that a Chrome browser will open up, and the fixture commands in &lt;strong&gt;HelloAppian.java&lt;/strong&gt; will execute accordingly.&lt;/li&gt;
&lt;li&gt;Note that this test will fail since your site might not have an action &amp;quot;Create a Case&amp;quot; under menu &amp;quot;Actions&amp;quot; that opens up an interface that has a &amp;quot;Submit&amp;quot; button.&lt;/li&gt;
&lt;/ol&gt;
&lt;/li&gt;
&lt;/ol&gt;
&lt;h2 id="features"&gt;Features&lt;/h2&gt;
&lt;p&gt;Multiple browser support&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;Chrome&lt;/li&gt;
&lt;li&gt;Firefox&lt;/li&gt;
&lt;/ul&gt;
&lt;h2 id="benefits"&gt;Benefits&lt;/h2&gt;
&lt;ul&gt;
&lt;li&gt;Define your own integration tests without being limited by a third-party testing tool&lt;/li&gt;
&lt;li&gt;Selenium-based test scripts can be created for reusability throughout test suites&lt;/li&gt;
&lt;li&gt;Methods created specifically to operate within Appian applications and Tempo&lt;/li&gt;
&lt;li&gt;Test scripts do not need to be updated when upgrading between supported Appian versions&lt;/li&gt;
&lt;li&gt;Test scripts are easily updated for new UI changes to a form or interface&lt;/li&gt;
&lt;li&gt;Appian design knowledge is not required to create test scripts&lt;/li&gt;
&lt;/ul&gt;
&lt;h2 id="release_notes"&gt;Release Notes&lt;/h2&gt;
&lt;h3 id="24.2"&gt;June 2024 - Release 24.2&lt;/h3&gt;
&lt;ul&gt;
&lt;li class="ql-indent-1"&gt;Enhancements
&lt;ul&gt;
&lt;li class="ql-indent-1"&gt;Updated locator for site menu links&lt;/li&gt;
&lt;li class="ql-indent-1"&gt;Created method which supports clicking on text within an interface. This is particularly useful for nested cards such as tab layouts, but can also be used as a fallback when existing methods don&amp;#39;t work. This method is available for all Appian versions.&lt;/li&gt;
&lt;li class="ql-indent-1"&gt;Click operation on Card layout will be performed on the left side of the element instead of the right. We&amp;#39;re not expecting any impact on existing test cases.&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;h3 id="june&amp;nbsp;2023_-_release_23.2.1"&gt;March 2024 - Release 24.1&lt;/h3&gt;
&lt;ul&gt;
&lt;li class="ql-indent-1"&gt;Enhancements
&lt;ul&gt;
&lt;li style="font-weight:400;"&gt;&lt;span style="font-weight:400;"&gt;Support for Appian version 24.1&lt;/span&gt;&lt;/li&gt;
&lt;li style="font-weight:400;"&gt;Adds support for collapsing/opening sidebars&lt;/li&gt;
&lt;li style="font-weight:400;"&gt;ClickOnCard updated to support clicking on cards with complex content. For example, the method can now click on cards that have a component nested in multiple layouts within the card&lt;!--mce:protected %3C%21--%20notionvc%3A%20c9bfab53-e4e1-4301-9c43-08f4d6f59a50%20--%3E--&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;h3 id="june&amp;nbsp;2023_-_release_23.2.1"&gt;November&amp;nbsp;2023 - Release 23.4&lt;/h3&gt;
&lt;ul&gt;
&lt;li class="ql-indent-1"&gt;&lt;strong&gt;NOTE&lt;/strong&gt;: &lt;span style="font-weight:400;"&gt;Project has been updated to require Java 11 JRE&lt;/span&gt;&lt;/li&gt;
&lt;li class="ql-indent-1"&gt;Enhancements
&lt;ul&gt;
&lt;li style="font-weight:400;"&gt;&lt;span style="font-weight:400;"&gt;Support for Appian version 23.4&lt;/span&gt;&lt;/li&gt;
&lt;li style="font-weight:400;"&gt;&lt;span style="font-weight:400;"&gt;Add support for the side navigation menu in sites&lt;/span&gt;&lt;/li&gt;
&lt;li style="font-weight:400;"&gt;&lt;span style="font-weight:400;"&gt;Add support for downloading charts&lt;/span&gt;&lt;/li&gt;
&lt;li style="font-weight:400;"&gt;&lt;span style="font-weight:400;"&gt;Add support for buttons configured with custom colors&lt;/span&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;Bug Fixes
&lt;ul&gt;
&lt;li style="font-weight:400;"&gt;&lt;span style="font-weight:400;"&gt;Honor the download directory given in custom.properties for Remote Drivers&lt;/span&gt;&lt;/li&gt;
&lt;li style="font-weight:400;"&gt;&lt;span style="font-weight:400;"&gt;Update dropdowns for versions greater than 23.3 to ignore the aria-checked value&lt;/span&gt;&lt;/li&gt;
&lt;li style="font-weight:400;"&gt;&lt;span style="font-weight:400;"&gt;Fixed Populate Record Type Data Range User Filter method&lt;/span&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;h3 id="june&amp;nbsp;2023_-_release_23.2.1"&gt;August 2023 - Release 23.3&lt;/h3&gt;
&lt;ul&gt;
&lt;li class="ql-indent-1"&gt;&lt;strong&gt;NOTE&lt;/strong&gt;: &lt;span style="font-weight:400;"&gt;Project has been updated to require Java 11 JRE&lt;/span&gt;&lt;/li&gt;
&lt;li class="ql-indent-1"&gt;Enhancements
&lt;ul&gt;
&lt;li style="font-weight:400;"&gt;&lt;span style="font-weight:400;"&gt;Supports Appian version 23.3&lt;/span&gt;&lt;/li&gt;
&lt;li style="font-weight:400;"&gt;&lt;span style="font-weight:400;"&gt;Added functionality to interact with new site group headers&lt;/span&gt;&lt;/li&gt;
&lt;li style="font-weight:400;"&gt;&lt;span style="font-weight:400;"&gt;Updated to Selenium 4.11.0&lt;/span&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;Bug Fixes
&lt;ul&gt;
&lt;li style="font-weight:400;"&gt;&lt;span style="font-weight:400;"&gt;Update checkboxes to support CARD style for 23.3 and later Appian versions&lt;/span&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;h3 id="june&amp;nbsp;2023_-_release_23.2.1"&gt;June&amp;nbsp;2023 - Release 23.2.1&lt;/h3&gt;
&lt;ul&gt;
&lt;li class="ql-indent-1"&gt;&lt;strong&gt;NOTE&lt;/strong&gt;: Updates to site navigation in the 23.2 product breaks the use of the clickOnMenu method defined in TempoFixtures for site environments. clickOnMenu, and other navigation methods defined in TempoFixtures, are guaranteed&amp;nbsp;to work only in Tempo environments. Use the clickOnSitePage method defined in SitesFixtures instead&lt;/li&gt;
&lt;li&gt;Bug Fixes
&lt;ul&gt;
&lt;li&gt;Update pickers to recognize selections with links (e.g. Record Pickers)&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;h3 id="june&amp;nbsp;2023_-_release_23.2"&gt;June&amp;nbsp;2023 - Release 23.2&lt;/h3&gt;
&lt;ul&gt;
&lt;li&gt;Enhancements
&lt;ul&gt;
&lt;li class="ql-indent-1"&gt;Supports Appian version 23.2
&lt;ul&gt;
&lt;li class="ql-indent-1"&gt;&lt;strong&gt;NOTE&lt;/strong&gt;: Updates to site navigation in the 23.2 product breaks the use of the clickOnMenu method defined in TempoFixtures for site environments. clickOnMenu, and other navigation methods defined in TempoFixtures, are guaranteed&amp;nbsp;to work only in Tempo environments. Use the clickOnSitePage method defined in SitesFixtures instead&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;h3 id="may_2023_-_release_23.1.2"&gt;May 2023 - Release 23.1.2&lt;/h3&gt;
&lt;ul&gt;
&lt;li&gt;Bug Fixes
&lt;ul&gt;
&lt;li&gt;Fixes an issue where Dropdowns with Search were not working&lt;/li&gt;
&lt;li&gt;Fixes an Issue where verifyText did not work on multi-node components&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;h3 id="february_2023_-_release_23.1"&gt;February 2023 - Release 23.1&lt;/h3&gt;
&lt;ul&gt;
&lt;li&gt;Enhancements
&lt;ul&gt;
&lt;li&gt;Supports Appian version 23.1&lt;/li&gt;
&lt;li&gt;Updated locator for Dropdown class&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;Bug Fixes
&lt;ul&gt;
&lt;li&gt;Update CVEs&lt;/li&gt;
&lt;li&gt;Update scripts (start.bat, start-mac.sh, start-unix.sh, runFitNesseTest.sh) to reference the new fitnesse-20221219-standalone.jar&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;h3 id="august&amp;nbsp;2022_-_release_22.3"&gt;August&amp;nbsp;2022 - Release 22.3&lt;/h3&gt;
&lt;ul&gt;
&lt;li&gt;Appian Selenium API is released and supported&lt;/li&gt;
&lt;li&gt;Removed support for 20.3&lt;/li&gt;
&lt;/ul&gt;
&lt;h3 id="november&amp;nbsp;2021_-_release_21.4"&gt;November&amp;nbsp;2021 - Release 21.4&lt;/h3&gt;
&lt;ul&gt;
&lt;li&gt;Enhancements
&lt;ul&gt;
&lt;li&gt;Support new card choice components&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;Bug Fixes
&lt;ul&gt;
&lt;li class="ql-indent-1"&gt;Update CVEs&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;h3 id="august&amp;nbsp;2021_-_release_21.3"&gt;August&amp;nbsp;2021 - Release 21.3&lt;/h3&gt;
&lt;ul&gt;
&lt;li&gt;Bug Fixes
&lt;ul&gt;
&lt;li class="ql-indent-1"&gt;Fix bug for radio button card&lt;/li&gt;
&lt;li class="ql-indent-1"&gt;Fix bug for date picker&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;h3 id="june_2021_-_release_21.2"&gt;June 2021 - Release 21.2&lt;/h3&gt;
&lt;ul&gt;
&lt;li&gt;Enhancements
&lt;ul&gt;
&lt;li class="ql-indent-1"&gt;Support new SectionLayout&lt;/li&gt;
&lt;li class="ql-indent-1"&gt;Upgrade Selenium Server to 3.141.59&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;Bug Fixes
&lt;ul&gt;
&lt;li class="ql-indent-1"&gt;Fix bug for radio button card&lt;/li&gt;
&lt;li class="ql-indent-1"&gt;Fix bug for icon link alt text&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;h3 id="march&amp;nbsp;2021_-_release_21.1"&gt;March&amp;nbsp;2021 - Release 21.1&lt;/h3&gt;
&lt;ul&gt;
&lt;li&gt;Appian Selenium API is released and supported&lt;/li&gt;
&lt;/ul&gt;
&lt;/div&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;

&lt;div style="font-size: 90%;"&gt;Tags: testing, Architecture&lt;/div&gt;
</description></item><item><title>Automated Testing with Appian Selenium API</title><link>https://community.appian.com/success/w/guide/3312/automated-testing-with-appian-selenium-api/revision/17</link><pubDate>Mon, 01 Jul 2024 16:55:37 GMT</pubDate><guid isPermaLink="false">d3a83456-d57b-489c-a84c-4e8267bb592a:af6be428-e229-4a89-9844-d99ca095396c</guid><dc:creator>joel.larin</dc:creator><comments>https://community.appian.com/success/w/guide/3312/automated-testing-with-appian-selenium-api#comments</comments><description>Revision 17 posted to Guide by joel.larin on 7/1/2024 4:55:37 PM&lt;br /&gt;
&lt;div style="margin:8px 16% 8px 8%;"&gt;
&lt;h2 id="setup"&gt;Setup&lt;/h2&gt;
&lt;p&gt;The &lt;a href="/b/appmarket/posts/appian_2d00_selenium_2d00_api"&gt;Appian Selenium API&lt;/a&gt; plug-in is a Java library which allows you to write automated tests for your Appian UIs. It contains methods which allow you to interact with Appian components in a browser. It provides methods and fixtures to interact with Appian applications in its various environments, e.g. Tempo or Sites. When writing tests, be sure to use methods from the correct fixture for the environment under test, e.g. use SitesFixture where possible to test Sites. Methods defined in fixtures that are intended for different environments are not guaranteed to work in future versions of the plugin.&lt;/p&gt;
&lt;p&gt;It can be used in a Java application or integrated directly into any Selenium or Java-based testing tool.&lt;/p&gt;
&lt;p&gt;Appian Selenium API contains the underlying Selenium methods used by &lt;a href="/b/appmarket/posts/cucumber-for-appian"&gt;Cucumber for Appian&lt;/a&gt; and &lt;a href="/b/appmarket/posts/fitnesse-for-appian"&gt;FitNesse for Appian&lt;/a&gt;, but offers you more flexibility by allowing you to define your own automated test cases. You can create your own Cucumber Step Definitions, your own testNG test, or the Java Framework of your choosing. You are no longer tied to Cucumber for Appian or FitNesse for Appian yet you get the same ease and simplicity of those respective frameworks.&lt;/p&gt;
&lt;ol style="font-size:104%;"&gt;
&lt;li&gt;Open this project in an IDE, such as IntelliJ IDEA or Eclipse.&lt;/li&gt;
&lt;li&gt;Update configurations:
&lt;ol&gt;
&lt;li&gt;&amp;nbsp;Open file &lt;strong&gt;configs/custom.properties&lt;/strong&gt;
&lt;ol&gt;
&lt;li&gt;Update &lt;strong&gt;automated.testing.hom&lt;/strong&gt;e with the path to this installation. Examples:
&lt;ol&gt;
&lt;li&gt;Windows: &lt;strong&gt;automated.testing.home=C:\\testFolder\\appian-selenium-api-example-java&lt;/strong&gt;&lt;/li&gt;
&lt;li&gt;Mac: &lt;strong&gt;automated.testing.home=/Users/tester/Desktop/appian-selenium-api-example-java&lt;/strong&gt;&lt;/li&gt;
&lt;/ol&gt;
&lt;/li&gt;
&lt;li&gt;Update &lt;strong&gt;chrome.driver.home&lt;/strong&gt; with the path to the Chrome driver that comes with this installation. Examples: * Windows: &lt;strong&gt;automated.testing.home=C:\\testFolder\\appian-selenium-api-example-java\\lib\\drivers\\chromedriver.exe&lt;/strong&gt; * Mac: &lt;strong&gt;automated.testing.home=/Users/tester/Desktop/appian-selenium-api-example-java/lib/drivers/chromedriver-mac&lt;/strong&gt;&lt;/li&gt;
&lt;/ol&gt;
&lt;/li&gt;
&lt;li&gt;Open file&lt;strong&gt; configs/users.properties&lt;/strong&gt;, for each username used in a test add a line in the format of &lt;strong&gt;&amp;lt;username&amp;gt;=&amp;lt;password&amp;gt;&lt;/strong&gt; to this file.
&lt;ol&gt;
&lt;li&gt;If you prefer not to disclose your password in plain text, you can also choose to use &lt;strong&gt;com.appiancorp.ps.automatedtest.fixture.BaseFixture.loginIntoWithUsernameAndPassword&lt;/strong&gt; fixture method to login by passing in the password from a system property value.&lt;/li&gt;
&lt;/ol&gt;
&lt;/li&gt;
&lt;/ol&gt;
&lt;/li&gt;
&lt;li&gt;Open &amp;quot;src/main/java/com/appiancorp/example/HelloAppian.java&amp;quot;:
&lt;ol&gt;
&lt;li&gt;Update &lt;strong&gt;TEST_SITE_URL&lt;/strong&gt; to your Appian URL, such as &lt;strong&gt;protected static String TEST_SITE_URL = &amp;quot;https://example.appiancloud.com/suite&amp;quot;;&lt;/strong&gt;&lt;/li&gt;
&lt;li&gt;Update &lt;strong&gt;TEST_USERNAME&lt;/strong&gt; with a username, such as &lt;strong&gt;protected static String TEST_USERNAME = &amp;quot;tester.tester&amp;quot;;&lt;/strong&gt; * Make sure this user exists in &lt;strong&gt;configs/users.properties&lt;/strong&gt;&lt;/li&gt;
&lt;/ol&gt;
&lt;/li&gt;
&lt;li&gt;Run the &lt;strong&gt;main()&lt;/strong&gt; method of this class:
&lt;ol&gt;
&lt;li&gt;&amp;nbsp;You should see that a Chrome browser will open up, and the fixture commands in &lt;strong&gt;HelloAppian.java&lt;/strong&gt; will execute accordingly.&lt;/li&gt;
&lt;li&gt;Note that this test will fail since your site might not have an action &amp;quot;Create a Case&amp;quot; under menu &amp;quot;Actions&amp;quot; that opens up an interface that has a &amp;quot;Submit&amp;quot; button.&lt;/li&gt;
&lt;/ol&gt;
&lt;/li&gt;
&lt;/ol&gt;
&lt;h2 id="features"&gt;Features&lt;/h2&gt;
&lt;p&gt;Multiple browser support&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;Chrome&lt;/li&gt;
&lt;li&gt;Firefox&lt;/li&gt;
&lt;/ul&gt;
&lt;h2 id="benefits"&gt;Benefits&lt;/h2&gt;
&lt;ul&gt;
&lt;li&gt;Define your own integration tests without being limited by a third-party testing tool&lt;/li&gt;
&lt;li&gt;Selenium-based test scripts can be created for reusability throughout test suites&lt;/li&gt;
&lt;li&gt;Methods created specifically to operate within Appian applications and Tempo&lt;/li&gt;
&lt;li&gt;Test scripts do not need to be updated when upgrading between supported Appian versions&lt;/li&gt;
&lt;li&gt;Test scripts are easily updated for new UI changes to a form or interface&lt;/li&gt;
&lt;li&gt;Appian design knowledge is not required to create test scripts&lt;/li&gt;
&lt;/ul&gt;
&lt;h2 id="release_notes"&gt;Release Notes&lt;/h2&gt;
&lt;h3 id="24.2"&gt;June 2024 - Release 24.2&lt;/h3&gt;
&lt;ul&gt;
&lt;li class="ql-indent-1"&gt;Enhancements
&lt;ul&gt;
&lt;li class="ql-indent-1"&gt;Updated locator for site menu links&lt;/li&gt;
&lt;li class="ql-indent-1"&gt;Created method which supports clicking on text within an interface. This is particularly useful for nested cards such as tab layouts, but can also be used as a fallback when existing methods don&amp;#39;t work. This method is available for all Appian versions.&lt;/li&gt;
&lt;li class="ql-indent-1"&gt;Click operation on Card layout will be performed on the left side of the element instead of the right. We&amp;#39;re not expecting any impact on existing test cases.&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;h3 id="june&amp;nbsp;2023_-_release_23.2.1"&gt;March 2024 - Release 24.1&lt;/h3&gt;
&lt;ul&gt;
&lt;li class="ql-indent-1"&gt;Enhancements
&lt;ul&gt;
&lt;li style="font-weight:400;"&gt;&lt;span style="font-weight:400;"&gt;Support for Appian version 24.1&lt;/span&gt;&lt;/li&gt;
&lt;li style="font-weight:400;"&gt;Adds support for collapsing/opening sidebars&lt;/li&gt;
&lt;li style="font-weight:400;"&gt;ClickOnCard updated to support clicking on cards with complex content. For example, the method can now click on cards that have a component nested in multiple layouts within the card&lt;!--mce:protected %3C%21--%20notionvc%3A%20c9bfab53-e4e1-4301-9c43-08f4d6f59a50%20--%3E--&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;h3 id="june&amp;nbsp;2023_-_release_23.2.1"&gt;November&amp;nbsp;2023 - Release 23.4&lt;/h3&gt;
&lt;ul&gt;
&lt;li class="ql-indent-1"&gt;&lt;strong&gt;NOTE&lt;/strong&gt;: &lt;span style="font-weight:400;"&gt;Project has been updated to require Java 11 JRE&lt;/span&gt;&lt;/li&gt;
&lt;li class="ql-indent-1"&gt;Enhancements
&lt;ul&gt;
&lt;li style="font-weight:400;"&gt;&lt;span style="font-weight:400;"&gt;Support for Appian version 23.4&lt;/span&gt;&lt;/li&gt;
&lt;li style="font-weight:400;"&gt;&lt;span style="font-weight:400;"&gt;Add support for the side navigation menu in sites&lt;/span&gt;&lt;/li&gt;
&lt;li style="font-weight:400;"&gt;&lt;span style="font-weight:400;"&gt;Add support for downloading charts&lt;/span&gt;&lt;/li&gt;
&lt;li style="font-weight:400;"&gt;&lt;span style="font-weight:400;"&gt;Add support for buttons configured with custom colors&lt;/span&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;Bug Fixes
&lt;ul&gt;
&lt;li style="font-weight:400;"&gt;&lt;span style="font-weight:400;"&gt;Honor the download directory given in custom.properties for Remote Drivers&lt;/span&gt;&lt;/li&gt;
&lt;li style="font-weight:400;"&gt;&lt;span style="font-weight:400;"&gt;Update dropdowns for versions greater than 23.3 to ignore the aria-checked value&lt;/span&gt;&lt;/li&gt;
&lt;li style="font-weight:400;"&gt;&lt;span style="font-weight:400;"&gt;Fixed Populate Record Type Data Range User Filter method&lt;/span&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;h3 id="june&amp;nbsp;2023_-_release_23.2.1"&gt;August 2023 - Release 23.3&lt;/h3&gt;
&lt;ul&gt;
&lt;li class="ql-indent-1"&gt;&lt;strong&gt;NOTE&lt;/strong&gt;: &lt;span style="font-weight:400;"&gt;Project has been updated to require Java 11 JRE&lt;/span&gt;&lt;/li&gt;
&lt;li class="ql-indent-1"&gt;Enhancements
&lt;ul&gt;
&lt;li style="font-weight:400;"&gt;&lt;span style="font-weight:400;"&gt;Supports Appian version 23.3&lt;/span&gt;&lt;/li&gt;
&lt;li style="font-weight:400;"&gt;&lt;span style="font-weight:400;"&gt;Added functionality to interact with new site group headers&lt;/span&gt;&lt;/li&gt;
&lt;li style="font-weight:400;"&gt;&lt;span style="font-weight:400;"&gt;Updated to Selenium 4.11.0&lt;/span&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;Bug Fixes
&lt;ul&gt;
&lt;li style="font-weight:400;"&gt;&lt;span style="font-weight:400;"&gt;Update checkboxes to support CARD style for 23.3 and later Appian versions&lt;/span&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;h3 id="june&amp;nbsp;2023_-_release_23.2.1"&gt;June&amp;nbsp;2023 - Release 23.2.1&lt;/h3&gt;
&lt;ul&gt;
&lt;li class="ql-indent-1"&gt;&lt;strong&gt;NOTE&lt;/strong&gt;: Updates to site navigation in the 23.2 product breaks the use of the clickOnMenu method defined in TempoFixtures for site environments. clickOnMenu, and other navigation methods defined in TempoFixtures, are guaranteed&amp;nbsp;to work only in Tempo environments. Use the clickOnSitePage method defined in SitesFixtures instead&lt;/li&gt;
&lt;li&gt;Bug Fixes
&lt;ul&gt;
&lt;li&gt;Update pickers to recognize selections with links (e.g. Record Pickers)&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;h3 id="june&amp;nbsp;2023_-_release_23.2"&gt;June&amp;nbsp;2023 - Release 23.2&lt;/h3&gt;
&lt;ul&gt;
&lt;li&gt;Enhancements
&lt;ul&gt;
&lt;li class="ql-indent-1"&gt;Supports Appian version 23.2
&lt;ul&gt;
&lt;li class="ql-indent-1"&gt;&lt;strong&gt;NOTE&lt;/strong&gt;: Updates to site navigation in the 23.2 product breaks the use of the clickOnMenu method defined in TempoFixtures for site environments. clickOnMenu, and other navigation methods defined in TempoFixtures, are guaranteed&amp;nbsp;to work only in Tempo environments. Use the clickOnSitePage method defined in SitesFixtures instead&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;h3 id="may_2023_-_release_23.1.2"&gt;May 2023 - Release 23.1.2&lt;/h3&gt;
&lt;ul&gt;
&lt;li&gt;Bug Fixes
&lt;ul&gt;
&lt;li&gt;Fixes an issue where Dropdowns with Search were not working&lt;/li&gt;
&lt;li&gt;Fixes an Issue where verifyText did not work on multi-node components&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;h3 id="february_2023_-_release_23.1"&gt;February 2023 - Release 23.1&lt;/h3&gt;
&lt;ul&gt;
&lt;li&gt;Enhancements
&lt;ul&gt;
&lt;li&gt;Supports Appian version 23.1&lt;/li&gt;
&lt;li&gt;Updated locator for Dropdown class&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;Bug Fixes
&lt;ul&gt;
&lt;li&gt;Update CVEs&lt;/li&gt;
&lt;li&gt;Update scripts (start.bat, start-mac.sh, start-unix.sh, runFitNesseTest.sh) to reference the new fitnesse-20221219-standalone.jar&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;h3 id="august&amp;nbsp;2022_-_release_22.3"&gt;August&amp;nbsp;2022 - Release 22.3&lt;/h3&gt;
&lt;ul&gt;
&lt;li&gt;Appian Selenium API is released and supported&lt;/li&gt;
&lt;li&gt;Removed support for 20.3&lt;/li&gt;
&lt;/ul&gt;
&lt;h3 id="november&amp;nbsp;2021_-_release_21.4"&gt;November&amp;nbsp;2021 - Release 21.4&lt;/h3&gt;
&lt;ul&gt;
&lt;li&gt;Enhancements
&lt;ul&gt;
&lt;li&gt;Support new card choice components&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;Bug Fixes
&lt;ul&gt;
&lt;li class="ql-indent-1"&gt;Update CVEs&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;h3 id="august&amp;nbsp;2021_-_release_21.3"&gt;August&amp;nbsp;2021 - Release 21.3&lt;/h3&gt;
&lt;ul&gt;
&lt;li&gt;Bug Fixes
&lt;ul&gt;
&lt;li class="ql-indent-1"&gt;Fix bug for radio button card&lt;/li&gt;
&lt;li class="ql-indent-1"&gt;Fix bug for date picker&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;h3 id="june_2021_-_release_21.2"&gt;June 2021 - Release 21.2&lt;/h3&gt;
&lt;ul&gt;
&lt;li&gt;Enhancements
&lt;ul&gt;
&lt;li class="ql-indent-1"&gt;Support new SectionLayout&lt;/li&gt;
&lt;li class="ql-indent-1"&gt;Upgrade Selenium Server to 3.141.59&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;Bug Fixes
&lt;ul&gt;
&lt;li class="ql-indent-1"&gt;Fix bug for radio button card&lt;/li&gt;
&lt;li class="ql-indent-1"&gt;Fix bug for icon link alt text&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;h3 id="march&amp;nbsp;2021_-_release_21.1"&gt;March&amp;nbsp;2021 - Release 21.1&lt;/h3&gt;
&lt;ul&gt;
&lt;li&gt;Appian Selenium API is released and supported&lt;/li&gt;
&lt;/ul&gt;
&lt;/div&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;

&lt;div style="font-size: 90%;"&gt;Tags: testing, Architecture&lt;/div&gt;
</description></item><item><title>Automated Testing with Appian Selenium API</title><link>https://community.appian.com/success/w/guide/3312/automated-testing-with-appian-selenium-api/revision/16</link><pubDate>Thu, 13 Jun 2024 13:14:50 GMT</pubDate><guid isPermaLink="false">d3a83456-d57b-489c-a84c-4e8267bb592a:af6be428-e229-4a89-9844-d99ca095396c</guid><dc:creator>joel.larin</dc:creator><comments>https://community.appian.com/success/w/guide/3312/automated-testing-with-appian-selenium-api#comments</comments><description>Revision 16 posted to Guide by joel.larin on 6/13/2024 1:14:50 PM&lt;br /&gt;
&lt;div style="margin:8px 16% 8px 8%;"&gt;
&lt;h2 id="setup"&gt;Setup&lt;/h2&gt;
&lt;p&gt;The &lt;a href="/b/appmarket/posts/appian_2d00_selenium_2d00_api"&gt;Appian Selenium API&lt;/a&gt; plug-in is a Java library which allows you to write automated tests for your Appian UIs. It contains methods which allow you to interact with Appian components in a browser. It provides methods and fixtures to interact with Appian applications in its various environments, e.g. Tempo or Sites. When writing tests, be sure to use methods from the correct fixture for the environment under test, e.g. use SitesFixture where possible to test Sites. Methods defined in fixtures that are intended for different environments are not guaranteed to work in future versions of the plugin.&lt;/p&gt;
&lt;p&gt;It can be used in a Java application or integrated directly into any Selenium or Java-based testing tool.&lt;/p&gt;
&lt;p&gt;Appian Selenium API contains the underlying Selenium methods used by &lt;a href="/b/appmarket/posts/cucumber-for-appian"&gt;Cucumber for Appian&lt;/a&gt; and &lt;a href="/b/appmarket/posts/fitnesse-for-appian"&gt;FitNesse for Appian&lt;/a&gt;, but offers you more flexibility by allowing you to define your own automated test cases. You can create your own Cucumber Step Definitions, your own testNG test, or the Java Framework of your choosing. You are no longer tied to Cucumber for Appian or FitNesse for Appian yet you get the same ease and simplicity of those respective frameworks.&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;
&lt;p&gt;Appian 22.1 and above&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;Java Runtime Environment 11&lt;/p&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;ol&gt;
&lt;li&gt;Open this project in an IDE, such as IntelliJ IDEA or Eclipse.&lt;/li&gt;
&lt;li&gt;Update configurations:
&lt;ol&gt;
&lt;li&gt;&amp;nbsp;Open file &lt;strong&gt;configs/custom.properties&lt;/strong&gt;
&lt;ol&gt;
&lt;li&gt;Update &lt;strong&gt;automated.testing.hom&lt;/strong&gt;e with the path to this installation. Examples:
&lt;ol&gt;
&lt;li&gt;Windows: &lt;strong&gt;automated.testing.home=C:\\testFolder\\appian-selenium-api-example-java&lt;/strong&gt;&lt;/li&gt;
&lt;li&gt;Mac: &lt;strong&gt;automated.testing.home=/Users/tester/Desktop/appian-selenium-api-example-java&lt;/strong&gt;&lt;/li&gt;
&lt;/ol&gt;
&lt;/li&gt;
&lt;li&gt;Update &lt;strong&gt;chrome.driver.home&lt;/strong&gt; with the path to the Chrome driver that comes with this installation. Examples: * Windows: &lt;strong&gt;automated.testing.home=C:\\testFolder\\appian-selenium-api-example-java\\lib\\drivers\\chromedriver.exe&lt;/strong&gt; * Mac: &lt;strong&gt;automated.testing.home=/Users/tester/Desktop/appian-selenium-api-example-java/lib/drivers/chromedriver-mac&lt;/strong&gt;&lt;/li&gt;
&lt;/ol&gt;
&lt;/li&gt;
&lt;li&gt;Open file&lt;strong&gt; configs/users.properties&lt;/strong&gt;, for each username used in a test add a line in the format of &lt;strong&gt;&amp;lt;username&amp;gt;=&amp;lt;password&amp;gt;&lt;/strong&gt; to this file.
&lt;ol&gt;
&lt;li&gt;If you prefer not to disclose your password in plain text, you can also choose to use &lt;strong&gt;com.appiancorp.ps.automatedtest.fixture.BaseFixture.loginIntoWithUsernameAndPassword&lt;/strong&gt; fixture method to login by passing in the password from a system property value.&lt;/li&gt;
&lt;/ol&gt;
&lt;/li&gt;
&lt;/ol&gt;
&lt;/li&gt;
&lt;li&gt;Open &amp;quot;src/main/java/com/appiancorp/example/HelloAppian.java&amp;quot;:
&lt;ol&gt;
&lt;li&gt;Update &lt;strong&gt;TEST_SITE_URL&lt;/strong&gt; to your Appian URL, such as &lt;strong&gt;protected static String TEST_SITE_URL = &amp;quot;https://example.appiancloud.com/suite&amp;quot;;&lt;/strong&gt;&lt;/li&gt;
&lt;li&gt;Update &lt;strong&gt;TEST_USERNAME&lt;/strong&gt; with a username, such as &lt;strong&gt;protected static String TEST_USERNAME = &amp;quot;tester.tester&amp;quot;;&lt;/strong&gt; * Make sure this user exists in &lt;strong&gt;configs/users.properties&lt;/strong&gt;&lt;/li&gt;
&lt;/ol&gt;
&lt;/li&gt;
&lt;li&gt;Run the &lt;strong&gt;main()&lt;/strong&gt; method of this class:
&lt;ol&gt;
&lt;li&gt;&amp;nbsp;You should see that a Chrome browser will open up, and the fixture commands in &lt;strong&gt;HelloAppian.java&lt;/strong&gt; will execute accordingly.&lt;/li&gt;
&lt;li&gt;Note that this test will fail since your site might not have an action &amp;quot;Create a Case&amp;quot; under menu &amp;quot;Actions&amp;quot; that opens up an interface that has a &amp;quot;Submit&amp;quot; button.&lt;/li&gt;
&lt;/ol&gt;
&lt;/li&gt;
&lt;/ol&gt;
&lt;h2 id="features"&gt;Features&lt;/h2&gt;
&lt;p&gt;Multiple browser support&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;Chrome&lt;/li&gt;
&lt;li&gt;Firefox&lt;/li&gt;
&lt;/ul&gt;
&lt;h2 id="benefits"&gt;Benefits&lt;/h2&gt;
&lt;ul&gt;
&lt;li&gt;Define your own integration tests without being limited by a third-party testing tool&lt;/li&gt;
&lt;li&gt;Selenium-based test scripts can be created for reusability throughout test suites&lt;/li&gt;
&lt;li&gt;Methods created specifically to operate within Appian applications and Tempo&lt;/li&gt;
&lt;li&gt;Test scripts do not need to be updated when upgrading between supported Appian versions&lt;/li&gt;
&lt;li&gt;Test scripts are easily updated for new UI changes to a form or interface&lt;/li&gt;
&lt;li&gt;Appian design knowledge is not required to create test scripts&lt;/li&gt;
&lt;/ul&gt;
&lt;h2 id="release_notes"&gt;Release Notes&lt;/h2&gt;
&lt;h3 id="24.2"&gt;June 2024 - Release 24.2&lt;/h3&gt;
&lt;ul&gt;
&lt;li class="ql-indent-1"&gt;Enhancements
&lt;ul&gt;
&lt;li class="ql-indent-1"&gt;Updated locator for site menu links&lt;/li&gt;
&lt;li class="ql-indent-1"&gt;Created method which supports clicking on text within an interface. This is particularly useful for nested cards such as tab layouts, but can also be used as a fallback when existing methods don&amp;#39;t work. This method is available for all Appian versions.&lt;/li&gt;
&lt;li class="ql-indent-1"&gt;Click operation on Card layout will be performed on the left side of the element instead of the right. We&amp;#39;re not expecting any impact on existing test cases.&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;h3 id="june&amp;nbsp;2023_-_release_23.2.1"&gt;March 2024 - Release 24.1&lt;/h3&gt;
&lt;ul&gt;
&lt;li class="ql-indent-1"&gt;Enhancements
&lt;ul&gt;
&lt;li style="font-weight:400;"&gt;&lt;span style="font-weight:400;"&gt;Support for Appian version 24.1&lt;/span&gt;&lt;/li&gt;
&lt;li style="font-weight:400;"&gt;Adds support for collapsing/opening sidebars&lt;/li&gt;
&lt;li style="font-weight:400;"&gt;ClickOnCard updated to support clicking on cards with complex content. For example, the method can now click on cards that have a component nested in multiple layouts within the card&lt;!--mce:protected %3C%21--%20notionvc%3A%20c9bfab53-e4e1-4301-9c43-08f4d6f59a50%20--%3E--&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;h3 id="june&amp;nbsp;2023_-_release_23.2.1"&gt;November&amp;nbsp;2023 - Release 23.4&lt;/h3&gt;
&lt;ul&gt;
&lt;li class="ql-indent-1"&gt;&lt;strong&gt;NOTE&lt;/strong&gt;: &lt;span style="font-weight:400;"&gt;Project has been updated to require Java 11 JRE&lt;/span&gt;&lt;/li&gt;
&lt;li class="ql-indent-1"&gt;Enhancements
&lt;ul&gt;
&lt;li style="font-weight:400;"&gt;&lt;span style="font-weight:400;"&gt;Support for Appian version 23.4&lt;/span&gt;&lt;/li&gt;
&lt;li style="font-weight:400;"&gt;&lt;span style="font-weight:400;"&gt;Add support for the side navigation menu in sites&lt;/span&gt;&lt;/li&gt;
&lt;li style="font-weight:400;"&gt;&lt;span style="font-weight:400;"&gt;Add support for downloading charts&lt;/span&gt;&lt;/li&gt;
&lt;li style="font-weight:400;"&gt;&lt;span style="font-weight:400;"&gt;Add support for buttons configured with custom colors&lt;/span&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;Bug Fixes
&lt;ul&gt;
&lt;li style="font-weight:400;"&gt;&lt;span style="font-weight:400;"&gt;Honor the download directory given in custom.properties for Remote Drivers&lt;/span&gt;&lt;/li&gt;
&lt;li style="font-weight:400;"&gt;&lt;span style="font-weight:400;"&gt;Update dropdowns for versions greater than 23.3 to ignore the aria-checked value&lt;/span&gt;&lt;/li&gt;
&lt;li style="font-weight:400;"&gt;&lt;span style="font-weight:400;"&gt;Fixed Populate Record Type Data Range User Filter method&lt;/span&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;h3 id="june&amp;nbsp;2023_-_release_23.2.1"&gt;August 2023 - Release 23.3&lt;/h3&gt;
&lt;ul&gt;
&lt;li class="ql-indent-1"&gt;&lt;strong&gt;NOTE&lt;/strong&gt;: &lt;span style="font-weight:400;"&gt;Project has been updated to require Java 11 JRE&lt;/span&gt;&lt;/li&gt;
&lt;li class="ql-indent-1"&gt;Enhancements
&lt;ul&gt;
&lt;li style="font-weight:400;"&gt;&lt;span style="font-weight:400;"&gt;Supports Appian version 23.3&lt;/span&gt;&lt;/li&gt;
&lt;li style="font-weight:400;"&gt;&lt;span style="font-weight:400;"&gt;Added functionality to interact with new site group headers&lt;/span&gt;&lt;/li&gt;
&lt;li style="font-weight:400;"&gt;&lt;span style="font-weight:400;"&gt;Updated to Selenium 4.11.0&lt;/span&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;Bug Fixes
&lt;ul&gt;
&lt;li style="font-weight:400;"&gt;&lt;span style="font-weight:400;"&gt;Update checkboxes to support CARD style for 23.3 and later Appian versions&lt;/span&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;h3 id="june&amp;nbsp;2023_-_release_23.2.1"&gt;June&amp;nbsp;2023 - Release 23.2.1&lt;/h3&gt;
&lt;ul&gt;
&lt;li class="ql-indent-1"&gt;&lt;strong&gt;NOTE&lt;/strong&gt;: Updates to site navigation in the 23.2 product breaks the use of the clickOnMenu method defined in TempoFixtures for site environments. clickOnMenu, and other navigation methods defined in TempoFixtures, are guaranteed&amp;nbsp;to work only in Tempo environments. Use the clickOnSitePage method defined in SitesFixtures instead&lt;/li&gt;
&lt;li&gt;Bug Fixes
&lt;ul&gt;
&lt;li&gt;Update pickers to recognize selections with links (e.g. Record Pickers)&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;h3 id="june&amp;nbsp;2023_-_release_23.2"&gt;June&amp;nbsp;2023 - Release 23.2&lt;/h3&gt;
&lt;ul&gt;
&lt;li&gt;Enhancements
&lt;ul&gt;
&lt;li class="ql-indent-1"&gt;Supports Appian version 23.2
&lt;ul&gt;
&lt;li class="ql-indent-1"&gt;&lt;strong&gt;NOTE&lt;/strong&gt;: Updates to site navigation in the 23.2 product breaks the use of the clickOnMenu method defined in TempoFixtures for site environments. clickOnMenu, and other navigation methods defined in TempoFixtures, are guaranteed&amp;nbsp;to work only in Tempo environments. Use the clickOnSitePage method defined in SitesFixtures instead&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;h3 id="may_2023_-_release_23.1.2"&gt;May 2023 - Release 23.1.2&lt;/h3&gt;
&lt;ul&gt;
&lt;li&gt;Bug Fixes
&lt;ul&gt;
&lt;li&gt;Fixes an issue where Dropdowns with Search were not working&lt;/li&gt;
&lt;li&gt;Fixes an Issue where verifyText did not work on multi-node components&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;h3 id="february_2023_-_release_23.1"&gt;February 2023 - Release 23.1&lt;/h3&gt;
&lt;ul&gt;
&lt;li&gt;Enhancements
&lt;ul&gt;
&lt;li&gt;Supports Appian version 23.1&lt;/li&gt;
&lt;li&gt;Updated locator for Dropdown class&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;Bug Fixes
&lt;ul&gt;
&lt;li&gt;Update CVEs&lt;/li&gt;
&lt;li&gt;Update scripts (start.bat, start-mac.sh, start-unix.sh, runFitNesseTest.sh) to reference the new fitnesse-20221219-standalone.jar&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;h3 id="august&amp;nbsp;2022_-_release_22.3"&gt;August&amp;nbsp;2022 - Release 22.3&lt;/h3&gt;
&lt;ul&gt;
&lt;li&gt;Appian Selenium API is released and supported&lt;/li&gt;
&lt;li&gt;Removed support for 20.3&lt;/li&gt;
&lt;/ul&gt;
&lt;h3 id="november&amp;nbsp;2021_-_release_21.4"&gt;November&amp;nbsp;2021 - Release 21.4&lt;/h3&gt;
&lt;ul&gt;
&lt;li&gt;Enhancements
&lt;ul&gt;
&lt;li&gt;Support new card choice components&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;Bug Fixes
&lt;ul&gt;
&lt;li class="ql-indent-1"&gt;Update CVEs&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;h3 id="august&amp;nbsp;2021_-_release_21.3"&gt;August&amp;nbsp;2021 - Release 21.3&lt;/h3&gt;
&lt;ul&gt;
&lt;li&gt;Bug Fixes
&lt;ul&gt;
&lt;li class="ql-indent-1"&gt;Fix bug for radio button card&lt;/li&gt;
&lt;li class="ql-indent-1"&gt;Fix bug for date picker&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;h3 id="june_2021_-_release_21.2"&gt;June 2021 - Release 21.2&lt;/h3&gt;
&lt;ul&gt;
&lt;li&gt;Enhancements
&lt;ul&gt;
&lt;li class="ql-indent-1"&gt;Support new SectionLayout&lt;/li&gt;
&lt;li class="ql-indent-1"&gt;Upgrade Selenium Server to 3.141.59&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;Bug Fixes
&lt;ul&gt;
&lt;li class="ql-indent-1"&gt;Fix bug for radio button card&lt;/li&gt;
&lt;li class="ql-indent-1"&gt;Fix bug for icon link alt text&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;h3 id="march&amp;nbsp;2021_-_release_21.1"&gt;March&amp;nbsp;2021 - Release 21.1&lt;/h3&gt;
&lt;ul&gt;
&lt;li&gt;Appian Selenium API is released and supported&lt;/li&gt;
&lt;/ul&gt;
&lt;/div&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;

&lt;div style="font-size: 90%;"&gt;Tags: testing, Architecture&lt;/div&gt;
</description></item><item><title>Automated Testing with Appian Selenium API</title><link>https://community.appian.com/success/w/guide/3312/automated-testing-with-appian-selenium-api/revision/15</link><pubDate>Thu, 13 Jun 2024 13:13:14 GMT</pubDate><guid isPermaLink="false">d3a83456-d57b-489c-a84c-4e8267bb592a:af6be428-e229-4a89-9844-d99ca095396c</guid><dc:creator>joel.larin</dc:creator><comments>https://community.appian.com/success/w/guide/3312/automated-testing-with-appian-selenium-api#comments</comments><description>Revision 15 posted to Guide by joel.larin on 6/13/2024 1:13:14 PM&lt;br /&gt;
&lt;div style="margin:8px 16% 8px 8%;"&gt;
&lt;h2 id="setup"&gt;Setup&lt;/h2&gt;
&lt;p&gt;The &lt;a href="/b/appmarket/posts/appian_2d00_selenium_2d00_api"&gt;Appian Selenium API&lt;/a&gt; plug-in is a Java library which allows you to write automated tests for your Appian UIs. It contains methods which allow you to interact with Appian components in a browser. It provides methods and fixtures to interact with Appian applications in its various environments, e.g. Tempo or Sites. When writing tests, be sure to use methods from the correct fixture for the environment under test, e.g. use SitesFixture where possible to test Sites. Methods defined in fixtures that are intended for different environments are not guaranteed to work in future versions of the plugin.&lt;/p&gt;
&lt;p&gt;It can be used in a Java application or integrated directly into any Selenium or Java-based testing tool.&lt;/p&gt;
&lt;p&gt;Appian Selenium API contains the underlying Selenium methods used by &lt;a href="/b/appmarket/posts/cucumber-for-appian"&gt;Cucumber for Appian&lt;/a&gt; and &lt;a href="/b/appmarket/posts/fitnesse-for-appian"&gt;FitNesse for Appian&lt;/a&gt;, but offers you more flexibility by allowing you to define your own automated test cases. You can create your own Cucumber Step Definitions, your own testNG test, or the Java Framework of your choosing. You are no longer tied to Cucumber for Appian or FitNesse for Appian yet you get the same ease and simplicity of those respective frameworks.&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;
&lt;p&gt;Appian 22.1 and above&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;Java Runtime Environment 11&lt;/p&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;ol&gt;
&lt;li&gt;Open this project in an IDE, such as IntelliJ IDEA or Eclipse.&lt;/li&gt;
&lt;li&gt;Update configurations:
&lt;ol&gt;
&lt;li&gt;&amp;nbsp;Open file &lt;strong&gt;configs/custom.properties&lt;/strong&gt;
&lt;ol&gt;
&lt;li&gt;Update &lt;strong&gt;automated.testing.hom&lt;/strong&gt;e with the path to this installation. Examples:
&lt;ol&gt;
&lt;li&gt;Windows: &lt;strong&gt;automated.testing.home=C:\\testFolder\\appian-selenium-api-example-java&lt;/strong&gt;&lt;/li&gt;
&lt;li&gt;Mac: &lt;strong&gt;automated.testing.home=/Users/tester/Desktop/appian-selenium-api-example-java&lt;/strong&gt;&lt;/li&gt;
&lt;/ol&gt;
&lt;/li&gt;
&lt;li&gt;Update &lt;strong&gt;chrome.driver.home&lt;/strong&gt; with the path to the Chrome driver that comes with this installation. Examples: * Windows: &lt;strong&gt;automated.testing.home=C:\\testFolder\\appian-selenium-api-example-java\\lib\\drivers\\chromedriver.exe&lt;/strong&gt; * Mac: &lt;strong&gt;automated.testing.home=/Users/tester/Desktop/appian-selenium-api-example-java/lib/drivers/chromedriver-mac&lt;/strong&gt;&lt;/li&gt;
&lt;/ol&gt;
&lt;/li&gt;
&lt;li&gt;Open file&lt;strong&gt; configs/users.properties&lt;/strong&gt;, for each username used in a test add a line in the format of &lt;strong&gt;&amp;lt;username&amp;gt;=&amp;lt;password&amp;gt;&lt;/strong&gt; to this file.
&lt;ol&gt;
&lt;li&gt;If you prefer not to disclose your password in plain text, you can also choose to use &lt;strong&gt;com.appiancorp.ps.automatedtest.fixture.BaseFixture.loginIntoWithUsernameAndPassword&lt;/strong&gt; fixture method to login by passing in the password from a system property value.&lt;/li&gt;
&lt;/ol&gt;
&lt;/li&gt;
&lt;/ol&gt;
&lt;/li&gt;
&lt;li&gt;Open &amp;quot;src/main/java/com/appiancorp/example/HelloAppian.java&amp;quot;:
&lt;ol&gt;
&lt;li&gt;Update &lt;strong&gt;TEST_SITE_URL&lt;/strong&gt; to your Appian URL, such as &lt;strong&gt;protected static String TEST_SITE_URL = &amp;quot;https://example.appiancloud.com/suite&amp;quot;;&lt;/strong&gt;&lt;/li&gt;
&lt;li&gt;Update &lt;strong&gt;TEST_USERNAME&lt;/strong&gt; with a username, such as &lt;strong&gt;protected static String TEST_USERNAME = &amp;quot;tester.tester&amp;quot;;&lt;/strong&gt; * Make sure this user exists in &lt;strong&gt;configs/users.properties&lt;/strong&gt;&lt;/li&gt;
&lt;/ol&gt;
&lt;/li&gt;
&lt;li&gt;Run the &lt;strong&gt;main()&lt;/strong&gt; method of this class:
&lt;ol&gt;
&lt;li&gt;&amp;nbsp;You should see that a Chrome browser will open up, and the fixture commands in &lt;strong&gt;HelloAppian.java&lt;/strong&gt; will execute accordingly.&lt;/li&gt;
&lt;li&gt;Note that this test will fail since your site might not have an action &amp;quot;Create a Case&amp;quot; under menu &amp;quot;Actions&amp;quot; that opens up an interface that has a &amp;quot;Submit&amp;quot; button.&lt;/li&gt;
&lt;/ol&gt;
&lt;/li&gt;
&lt;/ol&gt;
&lt;h2 id="features"&gt;Features&lt;/h2&gt;
&lt;p&gt;Multiple browser support&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;Chrome&lt;/li&gt;
&lt;li&gt;Firefox&lt;/li&gt;
&lt;/ul&gt;
&lt;h2 id="benefits"&gt;Benefits&lt;/h2&gt;
&lt;ul&gt;
&lt;li&gt;Define your own integration tests without being limited by a third-party testing tool&lt;/li&gt;
&lt;li&gt;Selenium-based test scripts can be created for reusability throughout test suites&lt;/li&gt;
&lt;li&gt;Methods created specifically to operate within Appian applications and Tempo&lt;/li&gt;
&lt;li&gt;Test scripts do not need to be updated when upgrading between supported Appian versions&lt;/li&gt;
&lt;li&gt;Test scripts are easily updated for new UI changes to a form or interface&lt;/li&gt;
&lt;li&gt;Appian design knowledge is not required to create test scripts&lt;/li&gt;
&lt;/ul&gt;
&lt;h2 id="release_notes"&gt;Release Notes&lt;/h2&gt;
&lt;h3 id="24.2"&gt;June 2024 - Release 24.2&lt;/h3&gt;
&lt;ul&gt;
&lt;li class="ql-indent-1"&gt;Enhancements
&lt;ul&gt;
&lt;li class="ql-indent-1"&gt;Updated locator for site menu links&lt;/li&gt;
&lt;li class="ql-indent-1"&gt;Created method which supports clicking on text within an interface. This is particularly useful for nested cards such as tab layouts, but can also be used as a fallback when existing methods don&amp;#39;t work. This method is available for all Appian versions.&lt;/li&gt;
&lt;li class="ql-indent-1"&gt;Click operation on Card layout will be performed on the left side of the element instead of the right. We&amp;#39;re not expecting any impact on existing test cases.&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;h3 id="june&amp;nbsp;2023_-_release_23.2.1"&gt;March 2024 - Release 24.1&lt;/h3&gt;
&lt;ul&gt;
&lt;li class="ql-indent-1"&gt;Enhancements
&lt;ul&gt;
&lt;li style="font-weight:400;"&gt;&lt;span style="font-weight:400;"&gt;Support for Appian version 24.1&lt;/span&gt;&lt;/li&gt;
&lt;li style="font-weight:400;"&gt;Adds support for collapsing/opening sidebars&lt;/li&gt;
&lt;li style="font-weight:400;"&gt;ClickOnCard updated to support clicking on cards with complex content. For example, the method can now click on cards that have a component nested in multiple layouts within the card&lt;!--mce:protected %3C%21--%20notionvc%3A%20c9bfab53-e4e1-4301-9c43-08f4d6f59a50%20--%3E--&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;h3 id="june&amp;nbsp;2023_-_release_23.2.1"&gt;November&amp;nbsp;2023 - Release 23.4&lt;/h3&gt;
&lt;ul&gt;
&lt;li class="ql-indent-1"&gt;&lt;strong&gt;NOTE&lt;/strong&gt;: &lt;span style="font-weight:400;"&gt;Project has been updated to require Java 11 JRE&lt;/span&gt;&lt;/li&gt;
&lt;li class="ql-indent-1"&gt;Enhancements
&lt;ul&gt;
&lt;li style="font-weight:400;"&gt;&lt;span style="font-weight:400;"&gt;Support for Appian version 23.4&lt;/span&gt;&lt;/li&gt;
&lt;li style="font-weight:400;"&gt;&lt;span style="font-weight:400;"&gt;Add support for the side navigation menu in sites&lt;/span&gt;&lt;/li&gt;
&lt;li style="font-weight:400;"&gt;&lt;span style="font-weight:400;"&gt;Add support for downloading charts&lt;/span&gt;&lt;/li&gt;
&lt;li style="font-weight:400;"&gt;&lt;span style="font-weight:400;"&gt;Add support for buttons configured with custom colors&lt;/span&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;Bug Fixes
&lt;ul&gt;
&lt;li style="font-weight:400;"&gt;&lt;span style="font-weight:400;"&gt;Honor the download directory given in custom.properties for Remote Drivers&lt;/span&gt;&lt;/li&gt;
&lt;li style="font-weight:400;"&gt;&lt;span style="font-weight:400;"&gt;Update dropdowns for versions greater than 23.3 to ignore the aria-checked value&lt;/span&gt;&lt;/li&gt;
&lt;li style="font-weight:400;"&gt;&lt;span style="font-weight:400;"&gt;Fixed Populate Record Type Data Range User Filter method&lt;/span&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;h3 id="june&amp;nbsp;2023_-_release_23.2.1"&gt;August 2023 - Release 23.3&lt;/h3&gt;
&lt;ul&gt;
&lt;li class="ql-indent-1"&gt;&lt;strong&gt;NOTE&lt;/strong&gt;: &lt;span style="font-weight:400;"&gt;Project has been updated to require Java 11 JRE&lt;/span&gt;&lt;/li&gt;
&lt;li class="ql-indent-1"&gt;Enhancements
&lt;ul&gt;
&lt;li style="font-weight:400;"&gt;&lt;span style="font-weight:400;"&gt;Supports Appian version 23.3&lt;/span&gt;&lt;/li&gt;
&lt;li style="font-weight:400;"&gt;&lt;span style="font-weight:400;"&gt;Added functionality to interact with new site group headers&lt;/span&gt;&lt;/li&gt;
&lt;li style="font-weight:400;"&gt;&lt;span style="font-weight:400;"&gt;Updated to Selenium 4.11.0&lt;/span&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;Bug Fixes
&lt;ul&gt;
&lt;li style="font-weight:400;"&gt;&lt;span style="font-weight:400;"&gt;Update checkboxes to support CARD style for 23.3 and later Appian versions&lt;/span&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;h3 id="june&amp;nbsp;2023_-_release_23.2.1"&gt;June&amp;nbsp;2023 - Release 23.2.1&lt;/h3&gt;
&lt;ul&gt;
&lt;li class="ql-indent-1"&gt;&lt;strong&gt;NOTE&lt;/strong&gt;: Updates to site navigation in the 23.2 product breaks the use of the clickOnMenu method defined in TempoFixtures for site environments. clickOnMenu, and other navigation methods defined in TempoFixtures, are guaranteed&amp;nbsp;to work only in Tempo environments. Use the clickOnSitePage method defined in SitesFixtures instead&lt;/li&gt;
&lt;li&gt;Bug Fixes
&lt;ul&gt;
&lt;li&gt;Update pickers to recognize selections with links (e.g. Record Pickers)&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;h3 id="june&amp;nbsp;2023_-_release_23.2"&gt;June&amp;nbsp;2023 - Release 23.2&lt;/h3&gt;
&lt;ul&gt;
&lt;li&gt;Enhancements
&lt;ul&gt;
&lt;li class="ql-indent-1"&gt;Supports Appian version 23.2
&lt;ul&gt;
&lt;li class="ql-indent-1"&gt;&lt;strong&gt;NOTE&lt;/strong&gt;: Updates to site navigation in the 23.2 product breaks the use of the clickOnMenu method defined in TempoFixtures for site environments. clickOnMenu, and other navigation methods defined in TempoFixtures, are guaranteed&amp;nbsp;to work only in Tempo environments. Use the clickOnSitePage method defined in SitesFixtures instead&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;h3 id="may_2023_-_release_23.1.2"&gt;May 2023 - Release 23.1.2&lt;/h3&gt;
&lt;ul&gt;
&lt;li&gt;Bug Fixes
&lt;ul&gt;
&lt;li&gt;Fixes an issue where Dropdowns with Search were not working&lt;/li&gt;
&lt;li&gt;Fixes an Issue where verifyText did not work on multi-node components&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;h3 id="february_2023_-_release_23.1"&gt;February 2023 - Release 23.1&lt;/h3&gt;
&lt;ul&gt;
&lt;li&gt;Enhancements
&lt;ul&gt;
&lt;li&gt;Supports Appian version 23.1&lt;/li&gt;
&lt;li&gt;Updated locator for Dropdown class&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;Bug Fixes
&lt;ul&gt;
&lt;li&gt;Update CVEs&lt;/li&gt;
&lt;li&gt;Update scripts (start.bat, start-mac.sh, start-unix.sh, runFitNesseTest.sh) to reference the new fitnesse-20221219-standalone.jar&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;h3 id="august&amp;nbsp;2022_-_release_22.3"&gt;August&amp;nbsp;2022 - Release 22.3&lt;/h3&gt;
&lt;ul&gt;
&lt;li&gt;Appian Selenium API is released and supported&lt;/li&gt;
&lt;li&gt;Removed support for 20.3&lt;/li&gt;
&lt;/ul&gt;
&lt;h3 id="november&amp;nbsp;2021_-_release_21.4"&gt;November&amp;nbsp;2021 - Release 21.4&lt;/h3&gt;
&lt;ul&gt;
&lt;li&gt;Enhancements
&lt;ul&gt;
&lt;li&gt;Support new card choice components&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;Bug Fixes
&lt;ul&gt;
&lt;li class="ql-indent-1"&gt;Update CVEs&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;h3 id="august&amp;nbsp;2021_-_release_21.3"&gt;August&amp;nbsp;2021 - Release 21.3&lt;/h3&gt;
&lt;ul&gt;
&lt;li&gt;Bug Fixes
&lt;ul&gt;
&lt;li class="ql-indent-1"&gt;Fix bug for radio button card&lt;/li&gt;
&lt;li class="ql-indent-1"&gt;Fix bug for date picker&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;h3 id="june_2021_-_release_21.2"&gt;June 2021 - Release 21.2&lt;/h3&gt;
&lt;ul&gt;
&lt;li&gt;Enhancements
&lt;ul&gt;
&lt;li class="ql-indent-1"&gt;Support new SectionLayout&lt;/li&gt;
&lt;li class="ql-indent-1"&gt;Upgrade Selenium Server to 3.141.59&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;Bug Fixes
&lt;ul&gt;
&lt;li class="ql-indent-1"&gt;Fix bug for radio button card&lt;/li&gt;
&lt;li class="ql-indent-1"&gt;Fix bug for icon link alt text&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;h3 id="march&amp;nbsp;2021_-_release_21.1"&gt;March&amp;nbsp;2021 - Release 21.1&lt;/h3&gt;
&lt;ul&gt;
&lt;li&gt;Appian Selenium API is released and supported&lt;/li&gt;
&lt;/ul&gt;
&lt;/div&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;

&lt;div style="font-size: 90%;"&gt;Tags: testing, Architecture&lt;/div&gt;
</description></item></channel></rss>