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:
Reusable scripts can be written to:
Hi Team, There seems to a glitch with the login in the new version.
java.lang.IllegalArgumentException: Keys to send should be a not null CharSequence
Could you please check & confirm?
execution Log below
Picked up _JAVA_OPTIONS: -Djavax.net.ssl.trustStoreType=Windows-ROOT 11:38:48.634 [main] ERROR com.appiancorp.ps.automatedtest.exception.ExceptionBuilder - Login page - appianFitnesse java.lang.IllegalArgumentException: Keys to send should be a not null CharSequence at org.openqa.selenium.remote.RemoteWebElement.sendKeys(RemoteWebElement.java:98) ~[selenium-remote-driver-4.8.2.jar:?] at com.appiancorp.ps.automatedtest.tempo.TempoLogin.login(TempoLogin.java:136) [appian-selenium-api-23.1.1.jar:?] at com.appiancorp.ps.automatedtest.fixture.BaseFixture.loginIntoWithUsernameAndPassword(BaseFixture.java:438) [appian-selenium-api-23.1.1.jar:?] at com.appiancorp.ps.automatedtest.fixture.BaseFixture.loginIntoWithUsername(BaseFixture.java:467) [appian-selenium-api-23.1.1.jar:?] at com.appiancorp.ps.automatedtest.fixture.BaseFixture.loginWithUsername(BaseFixture.java:478) [appian-selenium-api-23.1.1.jar:?] at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) ~[?:1.8.0_261] at sun.reflect.NativeMethodAccessorImpl.invoke(Unknown Source) ~[?:1.8.0_261] at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source) ~[?:1.8.0_261] at java.lang.reflect.Method.invoke(Unknown Source) ~[?:1.8.0_261]
Issue resolved in this latest version release v23.1.1
Still facing the same issue
Here is the stack trace ...
EXCEPTION__:org.openqa.selenium.remote.http.ConnectionFailedException: Unable to establish websocket connection to http://localhost:2284/devtools/browser/6cecc91d-4fbc-47db-a266-a38e956198a7
Build info: version: '4.1.2', revision: '9a5a329c5a'
System info: host: 'VN000280', ip: '192.168.126.148', os.name: 'Windows 10', os.arch: 'amd64', os.version: '10.0', java.version: '1.8.0_332'
Driver info: driver.version: ChromeDriver
at org.openqa.selenium.remote.http.netty.NettyWebSocket
Hello, we have the same issue here with Chrome 111.
I also got the same error as above and when I placed the chrome driver and got the error __EXCEPTION__:org.openqa.selenium.remote.http.ConnectionFailedException: Unable to establish websocket connection to localhost:57655/.../6ad34c1f-9893-4f8d-b49d-288d377044fe Build info: version: '4.7.2', revision: '4d4020c3b7' System info: os.name: 'Windows 11', os.arch: 'x86', os.version: '10.0', java.version: '1.8.0_361' Driver info: driver.version: ChromeDriver at org.openqa.selenium.remote.http.netty.NettyWebSocket.<init>(NettyWebSocket.java:102) [selenium-remote-driver-4.7.2.jar] at org.openqa.selenium.remote.http.netty.NettyWebSocket.lambda$create$3(NettyWebSocket.java:128) [selenium-remote-driver-4.7.2.jar]
I tried that, and encountered further errors.
You can download the corresponding chrome driver and place it in driver path. Also you can change custom.properties files if you have chrome driver in different path
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]