I'm thinking this doesn't have anything to do with the set_wait, it was 30 but I changed it to 0, the timeout I'm getting is 10 seconds and I even tried to set it in the minimal program using my app.
require 'appium_lib'
capabilities = {
platformName: :android,
deviceName: '',
androidPackage: 'com.vacationrentals.homeaway.stage',
appActivity: 'com.vacationrentals.homeaway.activities.SplashActivity',
newCommandTimeout: 0,
}
appium = Appium::Driver.new(caps: capabilities)
driver = appium.start_driver
driver.find_element(:name, 'welcome_travelerButtonTitle').click
driver.find_element(:name, 'shared_search').click
driver.navigate.back
#breakpoint below this line
driver.find_element(:name, 'shared_favorites').click
driver.navigate.back
When the break point hits I get the 10 second timeout trying commands before or after the breakpoint. When I resume the program the driver methods work. I'm going to look deeper to see if I can find the problem.
Here is the stack trace:
"/Users/blavelle/.rvm/rubies/ruby-2.0.0-p451/lib/ruby/2.0.0/timeout.rb:70:in `join'"
"/Users/blavelle/.rvm/rubies/ruby-2.0.0-p451/lib/ruby/2.0.0/timeout.rb:70:in `timeout'"
"/Users/blavelle/.rvm/rubies/ruby-2.0.0-p451/lib/ruby/2.0.0/net/http.rb:877:in `connect'"
"/Users/blavelle/.rvm/rubies/ruby-2.0.0-p451/lib/ruby/2.0.0/net/http.rb:862:in `do_start'"
"/Users/blavelle/.rvm/rubies/ruby-2.0.0-p451/lib/ruby/2.0.0/net/http.rb:851:in `start'"
"/Users/blavelle/.rvm/rubies/ruby-2.0.0-p451/lib/ruby/2.0.0/net/http.rb:1367:in `request'"
"/Users/blavelle/.rvm/gems/ruby-2.0.0-p451/gems/selenium-webdriver-2.44.0/lib/selenium/webdriver/remote/http/default.rb:83:in `response_for'"
"/Users/blavelle/.rvm/gems/ruby-2.0.0-p451/gems/selenium-webdriver-2.44.0/lib/selenium/webdriver/remote/http/default.rb:39:in `request'"
"/Users/blavelle/.rvm/gems/ruby-2.0.0-p451/gems/selenium-webdriver-2.44.0/lib/selenium/webdriver/remote/http/common.rb:40:in `call'"
"/Users/blavelle/.rvm/gems/ruby-2.0.0-p451/gems/selenium-webdriver-2.44.0/lib/selenium/webdriver/remote/bridge.rb:640:in `raw_execute'"
"/Users/blavelle/.rvm/gems/ruby-2.0.0-p451/gems/selenium-webdriver-2.44.0/lib/selenium/webdriver/remote/bridge.rb:618:in `execute'"
"/Users/blavelle/.rvm/gems/ruby-2.0.0-p451/gems/selenium-webdriver-2.44.0/lib/selenium/webdriver/remote/bridge.rb:586:in `find_element_by'"
"/Users/blavelle/.rvm/gems/ruby-2.0.0-p451/gems/selenium-webdriver-2.44.0/lib/selenium/webdriver/common/search_context.rb:42:in `find_element'"
"/Users/blavelle/git/HAMobile-Test/laboratory/android_appium.rb:17:in `<top (required)>'"
"/Users/blavelle/.rvm/gems/ruby-2.0.0-p451/gems/debase-0.0.9/lib/debase/context.rb:37:in `at_line'"
"/Users/blavelle/git/HAMobile-Test/laboratory/android_appium.rb:17:in `<top (required)>'"
If I get the driver this way:
driver = Selenium::WebDriver.for(:remote, :desired_capabilities => capabilities, :url => 'http://127.0.0.1:4723/wd/hub')
Then I can evaluate code at a breakpoint.