appian selenium api failing to identify object when using remote selenium
getting below error
2023-08-01 15:46:38,708 [main] ERROR com.appiancorp.ps.automatedtest.exception.ExceptionBuilder - Login
org.jruby.exceptions.ArgumentError: (ArgumentError) expected #<Java::OrgOpenqaSelenium::By::ByXPath:0x35216a2e>:Java::OrgOpenqaSelenium::By::ByXPath to respond to #shift
at RUBY.extract_args(C:/jruby-9.4.3.0/lib/ruby/gems/shared/gems/selenium-webdriver-4.10.0/lib/selenium/webdriver/common/search_context.rb:91) ~[?:?]
at RUBY.findElement(C:/jruby-9.4.3.0/lib/ruby/gems/shared/gems/selenium-webdriver-4.10.0/lib/selenium/webdriver/common/search_context.rb:58) ~[?:?]
at RUBY.login_with_role(C:/workFolder/RemoteTest/selenium_tests/ruby_methods/tempo_fixture.rb:510) ~[?:?]
at RUBY.create_pr_with_role(C:/workFolder/RemoteTest/selenium_tests/ruby_methods/easi/pr_creation.rb:3) ~[?:?]
at RUBY.<main>(C:/workFolder/RemoteTest/selenium_tests/features/step_definitions/easi/pr_creation_steps.rb:24) ~[?:?]
at org.jruby.RubyBasicObject.instance_exec(org/jruby/RubyBasicObject.java:2610) ~[jruby.jar:?]
at RUBY.cucumber_instance_exec_in(C:/jruby-9.4.3.0/lib/ruby/gems/shared/gems/cucumber-3.1.2/lib/cucumber/glue/invoke_in_world.rb:39) ~[?:?]
at RUBY.cucumber_run_with_backtrace_filtering(C:/jruby-9.4.3.0/lib/ruby/gems/shared/gems/cucumber-3.1.2/lib/cucumber/glue/invoke_in_world.rb:54) ~[?:?]
at RUBY.cucumber_instance_exec_in(C:/jruby-9.4.3.0/lib/ruby/gems/shared/gems/cucumber-3.1.2/lib/cucumber/glue/invoke_in_world.rb:27) ~[?:?]
at RUBY.invoke(C:/jruby-9.4.3.0/lib/ruby/gems/shared/gems/cucumber-3.1.2/lib/cucumber/glue/step_definition.rb:110) ~[?:?]
at RUBY.invoke(C:/jruby-9.4.3.0/lib/ruby/gems/shared/gems/cucumber-3.1.2/lib/cucumber/step_match.rb:31) ~[?:?]
at RUBY.activate(C:/jruby-9.4.3.0/lib/ruby/gems/shared/gems/cucumber-3.1.2/lib/cucumber/step_match.rb:24) ~[?:?]
at RUBY.execute(C:/jruby-9.4.3.0/lib/ruby/gems/shared/gems/cucumber-core-3.2.1/lib/cucumber/core/test/action.rb:24) ~[?:?]
i am using below code to initiate a chrome browser
chrome_options = Selenium::WebDriver::Chrome::Options.new
#chrome_options.add_argument("--headless")
#chrome_options.add_argument("--window-size=1920,1080")
chrome_options.add_argument("--disable-extensions")
chrome_options.add_argument("--disable-gpu")
chrome_options.add_argument("--no-sandbox")
chrome_options.add_argument("start-maximized")
chrome_options.add_argument("enable-automation")
chrome_prefs = {
'profile.default_content_settings.popups' => 0.to_s,
'safebrowsing.enabled' => 'true'
}
chrome_options.add_preference('prefs', chrome_prefs)
chrome_options.add_preference("webdriver.chrome.driver", driverHome)
client = Selenium::WebDriver::Remote::Http::Default.new
client.read_timeout = 500 # seconds
$web_driver = Selenium::WebDriver.for :remote, url:"">">http://localhost:4444", options: chrome_options, :http_client => client
$tf.set_web_driver($web_driver)
$driver = $tf.get_settings.get_driver
$driver = $tf.get_settings.get_driver
