我正在努力让Selenium Android WebDriver与Rspec合作,以便通过Android模拟器测试我们的Rails移动应用程序。
我已关注setup instructions并使用以下代码运行测试:
driver = Selenium::WebDriver.for :android
driver.navigate.to "http://google.com"
element = driver.find_element(:name, 'q')
element.send_keys "Hello WebDriver!"
element.submit
puts driver.title
driver.quit
Android模拟器上的WebDriver运行前两个命令,但当它达到element = driver.find_element(:name, 'q')
时,始终会失败并显示EOFError: end of file reached
。
我发现无论第一个navigate
后面是什么都会发生错误,因此find_element
方法似乎不会出现问题。
例如,如果我用以下代码替换上面的代码:
driver = Selenium::WebDriver.for :android
driver.navigate.to "http://google.com"
driver.navigate.to "http://stackoverflow.com"
driver.quit
然后我仍然在第二个navigate
命令上得到相同的错误。
我尝试过各种超时,认为问题与连接有某种关系,但最终结果总是一样的。第一个导航命令似乎正常工作,因为模拟器将打开google.com
,但之后不会发生任何事情。
为什么我收到此错误?我怎样才能阻止它以便我的测试可以运行?