2016-07-23 791 views
0

我有appium.dmg客戶端運行:在Ruby中使用Appium我得到:錯誤:無法連接到Appium。服務器正在運行嗎? (RuntimeError)

服務器地址:127.0.0.1
端口:4723

但是我嘗試運行我的紅寶石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) from /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'

寶石 '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。獲得「http://androidsdet.blogspot.com」`

回答

0

您需要啓動一個Appium服務器並等待測試連接。這可能位於您自己的本地主機中,或者位於某個遠程服務器或雲服務中。

默認情況下,Appium ruby​​客戶端會將服務器設置爲使用本地主機,除非您提供SauceLabs用戶詳細信息。對於其他用例,您將需要爲server_url變量提供一個值,以定位特定的服務器或服務。

對於Appium webdriver,需要在appium_lib中提供諸如server_url之類的值。看simple_test。從Appium的樣本代碼頁RB例如:https://github.com/appium/sample-code/blob/master/sample-code/examples/ruby/simple_test.rb#L36

硒webdriver的,在的webdriver的初始化看起來是這樣的:

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

要了解如何將自己的Appium服務器設置到localhost,請請參閱Appium的自述文件,地址爲https://github.com/appium/appium

+0

是的......我在運行此測試之前已將Appium.dmg客戶端啓動並運行在我的mac上。服務器地址:127.0.0.1端口:4723 - 我相信這是Appium默認 –

+0

您能確認Appium.dmg是否正確啓動服務器?服務器日誌是否給出了你試圖啓動一個webdriver會話的任何跡象? – Domestus

0

這是因爲您的appium已在運行,並且正嘗試使用相同的端口啓動另一個會話。 在終端上使用命令killall node,然後再次運行Appium

相關問題