2016-07-23 4 views
0

У меня есть клиент appium.dmg работает с:Используя Appium с Ruby, я получаю: ERROR: Невозможно подключиться к Appium. Работает ли сервер? (RuntimeError)

Сервер Адрес: 127.0.0.1
Порт: 4723

но Im получаю следующее сообщение об ошибке после попытки запустить мой рубин Appium сценарий

/Users/tboland/.rbenv/shims/bundle exec /Users/tboland/.rbenv/versions/2.3.1/bin/ruby -e $stdout.sync=true;$stderr.sync=true;load($0=ARGV.shift) /Users/tboland/RubymineProjects/AppiumProject/FirstScript/launch_safari_on_ios_device.rb /Users/tboland/.rbenv/versions/2.3.1/lib/ruby/gems/2.3.0/gems/appium_lib-8.0.2/lib/appium_lib/driver.rb:492:in rescue in start_driver ': ОШИБКА: Невозможно подключиться к Appium. Работает ли сервер? (RuntimeError) из /Users/tboland/.rbenv/versions/2.3.1/lib/ruby/gems/2.3.0/gems/appium_lib-8.0.2/lib/appium_lib/driver.rb:477:in `` start_driver ' от /Users/tboland/RubymineProjects/AppiumProject/FirstScript/launch_safari_on_ios_device.rb:24:in <top (required)>' from -e:1:in нагрузки' от -e: 1: в `»

процесса закончил с выходным кодом 1`

Вот код Ruby:

Gemfile:

`источник 'http://rubygems.org'

камень 'appium_lib'

Gem 'appium_console'

камень 'селеном webdriver'`

launch_safari_on_ios_device.rb

` требуют' RubyGems ' требуют' appium_lib ' требуют' selenium-webdriver '

Определение желаемых возможностей для драйвера desired_capabilities = {

caps: { 

    platformName: 'iOS', 
    platformVersion: '9.3', 
    browserName: 'safari', 
    #iPod Touch 
    deviceName: 'aaaa', 
    udid:'#####' 
} 

}

Создание appium драйвера @driver = Appium :: Driver.new (desired_capabilities) .start_driver сна 5 @driver. get "http://androidsdet.blogspot.com" `

ответ

0

Необходимо подключить сервер Appium к ожиданию вашего теста для подключения. Это может быть в вашем собственном локальном хосте или, альтернативно, на каком-то удаленном сервере или облачном сервисе.

Клиент Appium ruby ​​устанавливает сервер для использования вашего локального хоста по умолчанию, если вы не предоставите детали пользователя SauceLabs. Для других случаев использования вам необходимо указать значение переменной server_url для задания определенного сервера или службы.

Для веб-сервера Appium значения, такие как server_url, должны быть предоставлены в пределах appium_lib. См. Simple_test.гь пример из образца кода страницы Appium в: https://github.com/appium/sample-code/blob/master/sample-code/examples/ruby/simple_test.rb#L36

С Selenium WebDriver, то INIT из WebDriver может выглядеть следующим образом:

@driver = Selenium::WebDriver.for(:remote, :desired_capabilities => desired_capabilities, :url => server_url, :http_client => http_client) 

Чтобы узнать, как создать свой собственный сервер Appium на свой локальный, пожалуйста см. README от Appium по адресу https://github.com/appium/appium

+0

Да ... У меня есть клиент Appium.dmg и запускается на моем Mac, прежде чем запускать этот тест. Адрес сервера: 127.0.0.1 Порт: 4723 - который, по моему мнению, является Appiums по умолчанию –

+0

Можете ли вы подтвердить, что Appium.dmg запустил сервер правильно? Были ли в журналах сервера какие-либо указания, что вы пытались запустить сеанс webdriver против него? – Domestus

0

Это потому, что у вас уже есть приложение, и вы пытаетесь запустить другой сеанс, используя тот же порт. Используйте команду killall node на терминале, а затем запустите Appium снова