FitNesse for Appian

Overview

FitNesse for Appian is a client-side tool that makes it easy to create automated tests on the Appian platform. Create test scripts that will run Appian as if a user was clicking through the application and filling out data. FitNesse for Appian includes easy instructions to get you started.

Note: Java 11 required for plugin version 23.4

Key Features & Functionality

With FitNesse for Appian, you can:

  • Write easy-to-read wiki language tests for Appian applications
  • Speed up testing times
  • Set up reusable regression tests

Reusable scripts can be written to:

  • Create new packages
  • Move them to different stages in the workflow
  • Check that forms are being populated correctly
Anonymous
Parents
  • Hello! I am getting an error message trying to run a test after updating to the latest version yesterday (March 6, 2023). We are using Appian 22.4, Chrome version 111. The test crashes on trying to open a Chrome window in which to run the automation.

    The issue seems to be with the chromedriver.exe. Can you please update the driver to the latest version?

    The error message reads as follows:

    setup with browser__EXCEPTION__:org.openqa.selenium.SessionNotCreatedException: Could not start a new session. Response code 500. Message: session not created: This version of ChromeDriver only supports Chrome version 107 Current browser version is 111.0.5563.65 with binary path C:\Program Files (x86)\Google\Chrome\Application\chrome.exe Host info: host: 'GS-5CD7525XJ9', ip: '192.168.1.251' Build info: version: '4.7.2', revision: '4d4020c3b7' System info: os.name: 'Windows 10', os.arch: 'x86', os.version: '10.0', java.version: '1.8.0_211' Driver info: org.openqa.selenium.chrome.ChromeDriver Command: [null, newSession {capabilities=[Capabilities {browserName: chrome, goog:chromeOptions: {args: [--disable-extensions], extensions: [], prefs: {download.default_directory: C:\FitNesseForAppian\Downloads, profile.default_content_settings.popups: 0, safebrowsing.enabled: true}, useAutomationExtension: false}}], desiredCapabilities=Capabilities {browserName: chrome, goog:chromeOptions: {args: [--disable-extensions], extensions: [], prefs: {download.default_directory: C:\FitNesseForAppian\Downloads, profile.default_content_settings.popups: 0, safebrowsing.enabled: true}, useAutomationExtension: false}}}] at org.openqa.selenium.remote.ProtocolHandshake.createSession(ProtocolHandshake.java:148) [selenium-remote-driver-4.7.2.jar] at org.openqa.selenium.remote.ProtocolHandshake.createSession(ProtocolHandshake.java:106) [selenium-remote-driver-4.7.2.jar] at org.openqa.selenium.remote.ProtocolHandshake.createSession(ProtocolHandshake.java:67) [selenium-remote-driver-4.7.2.jar] at org.openqa.selenium.remote.HttpCommandExecutor.execute(HttpCommandExecutor.java:156) [selenium-remote-driver-4.7.2.jar] at org.openqa.selenium.remote.service.DriverCommandExecutor.invokeExecute(DriverCommandExecutor.java:167) [selenium-remote-driver-4.7.2.jar] at org.openqa.selenium.remote.service.DriverCommandExecutor.execute(DriverCommandExecutor.java:142) [selenium-remote-driver-4.7.2.jar] at org.openqa.selenium.remote.RemoteWebDriver.execute(RemoteWebDriver.java:535) [selenium-remote-driver-4.7.2.jar] at org.openqa.selenium.remote.RemoteWebDriver.startSession(RemoteWebDriver.java:228) [selenium-remote-driver-4.7.2.jar] at org.openqa.selenium.remote.RemoteWebDriver.<init>(RemoteWebDriver.java:156) [selenium-remote-driver-4.7.2.jar] at org.openqa.selenium.chromium.ChromiumDriver.<init>(ChromiumDriver.java:101) [selenium-chromium-driver-4.7.2.jar] at org.openqa.selenium.chrome.ChromeDriver.<init>(ChromeDriver.java:82) [selenium-chrome-driver-4.7.2.jar] at org.openqa.selenium.chrome.ChromeDriver.<init>(ChromeDriver.java:71) [selenium-chrome-driver-4.7.2.jar] at com.appiancorp.ps.automatedtest.fixture.BaseFixture.setupWithBrowser(BaseFixture.java:176) [appian-selenium-api-23.1.jar] at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) [rt.jar:1.8.0_211] at sun.reflect.NativeMethodAccessorImpl.invoke(Unknown Source) [rt.jar:1.8.0_211] at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source) [rt.jar:1.8.0_211] at java.lang.reflect.Method.invoke(Unknown Source) [rt.jar:1.8.0_211] at fitnesse.slim.fixtureInteraction.SimpleInteraction.methodInvoke(SimpleInteraction.java:322) [fitnesse-20221219-standalone.jar:20221219] at fitnesse.slim.fixtureInteraction.SimpleInteraction.callMethod(SimpleInteraction.java:307) [fitnesse-20221219-standalone.jar:20221219] at fitnesse.slim.fixtureInteraction.SimpleInteraction.invokeMethod(SimpleInteraction.java:290) [fitnesse-20221219-standalone.jar:20221219] at fitnesse.slim.fixtureInteraction.SimpleInteraction.findAndInvoke(SimpleInteraction.java:217) [fitnesse-20221219-standalone.jar:20221219] at fitnesse.slim.MethodExecutor.findAndInvoke(MethodExecutor.java:18) [fitnesse-20221219-standalone.jar:20221219] at fitnesse.slim.FixtureMethodExecutor.execute(FixtureMethodExecutor.java:18) [fitnesse-20221219-standalone.jar:20221219] at fitnesse.slim.StatementExecutor.getMethodExecutionResult(StatementExecutor.java:139) [fitnesse-20221219-standalone.jar:20221219] at fitnesse.slim.StatementExecutor.call(StatementExecutor.java:112) [fitnesse-20221219-standalone.jar:20221219] at fitnesse.slim.instructions.CallAndOptionalAssignInstruction.executeInternal(CallAndOptionalAssignInstruction.java:30) [fitnesse-20221219-standalone.jar:20221219] at fitnesse.slim.instructions.Instruction.execute(Instruction.java:29) [fitnesse-20221219-standalone.jar:20221219] at fitnesse.slim.ListExecutor$Executive.executeStatement(ListExecutor.java:49) [fitnesse-20221219-standalone.jar:20221219] at fitnesse.slim.ListExecutor$Executive.executeStatements(ListExecutor.java:43) [fitnesse-20221219-standalone.jar:20221219] at fitnesse.slim.ListExecutor.execute(ListExecutor.java:85) [fitnesse-20221219-standalone.jar:20221219] at fitnesse.slim.SlimServer.executeInstructions(SlimServer.java:84) [fitnesse-20221219-standalone.jar:20221219] at fitnesse.slim.SlimServer.processOneSetOfInstructions(SlimServer.java:77) [fitnesse-20221219-standalone.jar:20221219] at fitnesse.slim.SlimServer.tryProcessInstructions(SlimServer.java:64) [fitnesse-20221219-standalone.jar:20221219] at fitnesse.slim.SlimServer.serve(SlimServer.java:49) [fitnesse-20221219-standalone.jar:20221219] at fitnesse.slim.SlimService.handle(SlimService.java:169) [fitnesse-20221219-standalone.jar:20221219] at fitnesse.slim.SlimService.acceptOne(SlimService.java:177) [fitnesse-20221219-standalone.jar:20221219] at fitnesse.slim.SlimService.accept(SlimService.java:139) [fitnesse-20221219-standalone.jar:20221219] at fitnesse.slim.SlimService.startWithFactory(SlimService.java:92) [fitnesse-20221219-standalone.jar:20221219] at fitnesse.slim.SlimService.main(SlimService.java:57) [fitnesse-20221219-standalone.jar:20221219]

Comment
  • Hello! I am getting an error message trying to run a test after updating to the latest version yesterday (March 6, 2023). We are using Appian 22.4, Chrome version 111. The test crashes on trying to open a Chrome window in which to run the automation.

    The issue seems to be with the chromedriver.exe. Can you please update the driver to the latest version?

    The error message reads as follows:

    setup with browser__EXCEPTION__:org.openqa.selenium.SessionNotCreatedException: Could not start a new session. Response code 500. Message: session not created: This version of ChromeDriver only supports Chrome version 107 Current browser version is 111.0.5563.65 with binary path C:\Program Files (x86)\Google\Chrome\Application\chrome.exe Host info: host: 'GS-5CD7525XJ9', ip: '192.168.1.251' Build info: version: '4.7.2', revision: '4d4020c3b7' System info: os.name: 'Windows 10', os.arch: 'x86', os.version: '10.0', java.version: '1.8.0_211' Driver info: org.openqa.selenium.chrome.ChromeDriver Command: [null, newSession {capabilities=[Capabilities {browserName: chrome, goog:chromeOptions: {args: [--disable-extensions], extensions: [], prefs: {download.default_directory: C:\FitNesseForAppian\Downloads, profile.default_content_settings.popups: 0, safebrowsing.enabled: true}, useAutomationExtension: false}}], desiredCapabilities=Capabilities {browserName: chrome, goog:chromeOptions: {args: [--disable-extensions], extensions: [], prefs: {download.default_directory: C:\FitNesseForAppian\Downloads, profile.default_content_settings.popups: 0, safebrowsing.enabled: true}, useAutomationExtension: false}}}] at org.openqa.selenium.remote.ProtocolHandshake.createSession(ProtocolHandshake.java:148) [selenium-remote-driver-4.7.2.jar] at org.openqa.selenium.remote.ProtocolHandshake.createSession(ProtocolHandshake.java:106) [selenium-remote-driver-4.7.2.jar] at org.openqa.selenium.remote.ProtocolHandshake.createSession(ProtocolHandshake.java:67) [selenium-remote-driver-4.7.2.jar] at org.openqa.selenium.remote.HttpCommandExecutor.execute(HttpCommandExecutor.java:156) [selenium-remote-driver-4.7.2.jar] at org.openqa.selenium.remote.service.DriverCommandExecutor.invokeExecute(DriverCommandExecutor.java:167) [selenium-remote-driver-4.7.2.jar] at org.openqa.selenium.remote.service.DriverCommandExecutor.execute(DriverCommandExecutor.java:142) [selenium-remote-driver-4.7.2.jar] at org.openqa.selenium.remote.RemoteWebDriver.execute(RemoteWebDriver.java:535) [selenium-remote-driver-4.7.2.jar] at org.openqa.selenium.remote.RemoteWebDriver.startSession(RemoteWebDriver.java:228) [selenium-remote-driver-4.7.2.jar] at org.openqa.selenium.remote.RemoteWebDriver.<init>(RemoteWebDriver.java:156) [selenium-remote-driver-4.7.2.jar] at org.openqa.selenium.chromium.ChromiumDriver.<init>(ChromiumDriver.java:101) [selenium-chromium-driver-4.7.2.jar] at org.openqa.selenium.chrome.ChromeDriver.<init>(ChromeDriver.java:82) [selenium-chrome-driver-4.7.2.jar] at org.openqa.selenium.chrome.ChromeDriver.<init>(ChromeDriver.java:71) [selenium-chrome-driver-4.7.2.jar] at com.appiancorp.ps.automatedtest.fixture.BaseFixture.setupWithBrowser(BaseFixture.java:176) [appian-selenium-api-23.1.jar] at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) [rt.jar:1.8.0_211] at sun.reflect.NativeMethodAccessorImpl.invoke(Unknown Source) [rt.jar:1.8.0_211] at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source) [rt.jar:1.8.0_211] at java.lang.reflect.Method.invoke(Unknown Source) [rt.jar:1.8.0_211] at fitnesse.slim.fixtureInteraction.SimpleInteraction.methodInvoke(SimpleInteraction.java:322) [fitnesse-20221219-standalone.jar:20221219] at fitnesse.slim.fixtureInteraction.SimpleInteraction.callMethod(SimpleInteraction.java:307) [fitnesse-20221219-standalone.jar:20221219] at fitnesse.slim.fixtureInteraction.SimpleInteraction.invokeMethod(SimpleInteraction.java:290) [fitnesse-20221219-standalone.jar:20221219] at fitnesse.slim.fixtureInteraction.SimpleInteraction.findAndInvoke(SimpleInteraction.java:217) [fitnesse-20221219-standalone.jar:20221219] at fitnesse.slim.MethodExecutor.findAndInvoke(MethodExecutor.java:18) [fitnesse-20221219-standalone.jar:20221219] at fitnesse.slim.FixtureMethodExecutor.execute(FixtureMethodExecutor.java:18) [fitnesse-20221219-standalone.jar:20221219] at fitnesse.slim.StatementExecutor.getMethodExecutionResult(StatementExecutor.java:139) [fitnesse-20221219-standalone.jar:20221219] at fitnesse.slim.StatementExecutor.call(StatementExecutor.java:112) [fitnesse-20221219-standalone.jar:20221219] at fitnesse.slim.instructions.CallAndOptionalAssignInstruction.executeInternal(CallAndOptionalAssignInstruction.java:30) [fitnesse-20221219-standalone.jar:20221219] at fitnesse.slim.instructions.Instruction.execute(Instruction.java:29) [fitnesse-20221219-standalone.jar:20221219] at fitnesse.slim.ListExecutor$Executive.executeStatement(ListExecutor.java:49) [fitnesse-20221219-standalone.jar:20221219] at fitnesse.slim.ListExecutor$Executive.executeStatements(ListExecutor.java:43) [fitnesse-20221219-standalone.jar:20221219] at fitnesse.slim.ListExecutor.execute(ListExecutor.java:85) [fitnesse-20221219-standalone.jar:20221219] at fitnesse.slim.SlimServer.executeInstructions(SlimServer.java:84) [fitnesse-20221219-standalone.jar:20221219] at fitnesse.slim.SlimServer.processOneSetOfInstructions(SlimServer.java:77) [fitnesse-20221219-standalone.jar:20221219] at fitnesse.slim.SlimServer.tryProcessInstructions(SlimServer.java:64) [fitnesse-20221219-standalone.jar:20221219] at fitnesse.slim.SlimServer.serve(SlimServer.java:49) [fitnesse-20221219-standalone.jar:20221219] at fitnesse.slim.SlimService.handle(SlimService.java:169) [fitnesse-20221219-standalone.jar:20221219] at fitnesse.slim.SlimService.acceptOne(SlimService.java:177) [fitnesse-20221219-standalone.jar:20221219] at fitnesse.slim.SlimService.accept(SlimService.java:139) [fitnesse-20221219-standalone.jar:20221219] at fitnesse.slim.SlimService.startWithFactory(SlimService.java:92) [fitnesse-20221219-standalone.jar:20221219] at fitnesse.slim.SlimService.main(SlimService.java:57) [fitnesse-20221219-standalone.jar:20221219]

Children