元素无法找到selenium webdriver mobile

时间:2017-05-24 09:04:00

标签: ios ruby selenium mobile appium

我一直收到以下错误消息。

Selenium::WebDriver::Error::NoSuchElementError: An element could not be 
located on the page using the given search parameters.
from /Users/shafiq.malik/.rvm/gems/ruby-2.2.0/gems/selenium-webdriver-
3.4.0/lib/selenium/webdriver/remote/response.rb:69:in `assert_ok'

我目前正在使用selenium为移动测试设置ruby / appium框架。

这是我的env.rb文件。

require 'rubygems'
require 'rspec/expectations'
require 'selenium-webdriver'
require 'pry'

#APP_PATH = 'PlainNote.app'

def capabilities123
  {
      'automationName' => 'XCUITest',
      'platformName' => 'iOS',
      'deviceName' =>  'iPhone Simulator',
      'platform' => 'Mac',
      'version' => '9.2',
      'app' => '/Users/shafiq.malik/Documents/Projects/nuff-class-
booking-mobile/platforms/ios/build/emulator/HelloCordova.app'}
end

def server_url
   'http://localhost:8000/wd/hub'
end

def seleniumabc
   @driver ||= Selenium::WebDriver.for(:remote, :desired_capabilities => 
capabilities123, :url => server_url)
end

After { @driver.quit }

有人可以帮忙吗?提前谢谢。

1 个答案:

答案 0 :(得分:0)

我不确定您是否知道,但XCUITest自动化仅支持xcode 8和iOS 9.3+。

所以请更改以下内容:
将您的XCode更新为8+最新版本 将appium_lib gem版本更新为最新版本 将您的appium版本更新为1.6.4 将iOS版本的功能更改为9.3或10.3
将功能更改为特定的移动版本,而不是iPhone模拟器。

以下是示例功能:

caps = {
      :platformName => "iOS",
      :deviceName => "iPhone 6",
      :platformVersion => "9.3",
      :app => app_path,
      :noReset => 'true',
      :newCommandTimeout => "30",
      :automationName => "XCUITest",
      :sendKeyStrategy => 'setValue'
  }

试试这些并告诉我。

希望它有所帮助!!