【问题标题】:Using Appium with Ruby I get: ERROR: Unable to connect to Appium. Is the server running? (RuntimeError)将 Appium 与 Ruby 一起使用,我得到:错误:无法连接到 Appium。服务器在运行吗? (运行时错误)
【发布时间】:2016-11-27 02:05:54
【问题描述】:

我的 appium.dmg 客户端正在运行:

服务器地址:127.0.0.1
端口:4723

但我在尝试运行我的 Ruby 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:inrescue in start_driver':错误:无法连接到 Appium。服务器在运行吗? (运行时错误) 来自 /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:inload' 从 -e:1:in `'

进程以退出代码 1 结束`

这是 Ruby 代码:

宝石文件:

`来源'http://rubygems.org'

gem 'appium_lib'

gem 'appium_console'

gem 'selenium-webdriver'`

launch_safari_on_ios_device.rb

`需要'rubygems' 需要'appium_lib' 需要'selenium-webdriver'

为驱动程序定义所需的功能 所需能力 = {

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"`

【问题讨论】:

    标签: ruby appium-ios


    【解决方案1】:

    您需要启动并运行 Appium 服务器以等待您的测试连接。这可以在您自己的本地主机中,也可以在某个远程服务器或云服务中。

    Appium ruby​​ 客户端默认将服务器设置为使用您的本地主机,除非您提供 SauceLabs 用户详细信息。对于其他用例,您需要为 server_url 变量提供一个值来定位特定的服务器或服务。

    对于 Appium webdriver,需要在 appium_lib 中提供 server_url 等值。请参阅 Appium 示例代码页中的 simple_test.rb 示例:https://github.com/appium/sample-code/blob/master/sample-code/examples/ruby/simple_test.rb#L36

    使用 Selenium Webdriver,webdriver 的 init 可能如下所示:

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

    要了解如何将自己的 Appium 服务器设置到本地主机,请参阅 Appium 的自述文件https://github.com/appium/appium

    【讨论】:

    • 是的...在运行此测试之前,我已经在我的 Mac 上启动并运行了 Appium.dmg 客户端。服务器地址:127.0.0.1 端口:4723 - 我相信这是 Appiums 默认的
    • 您能否确认 Appium.dmg 正确启动了服务器?服务器日志是否表明您尝试针对它启动 webdriver 会话?
    【解决方案2】:

    这是因为您的 appium 已经在运行,并且正在尝试使用同一端口启动另一个会话。 在终端上使用命令killall node,然后再次运行Appium

    【讨论】:

      猜你喜欢
      • 2018-06-16
      • 2018-10-07
      • 2014-07-31
      • 2016-03-30
      • 2014-11-23
      • 2020-07-06
      • 1970-01-01
      • 2017-11-07
      • 1970-01-01
      相关资源
      最近更新 更多