【发布时间】:2015-03-19 06:20:15
【问题描述】:
我正在尝试使用 Sauce Labs 云服务在 Appium 上运行我的 ruby 测试用例。以下是我的能力:
caps = Selenium::WebDriver::Remote::Capabilities.iphone
caps['browserName'] = 'Safari'
caps['platformVersion'] = '7.1'
caps['platformName'] = 'iOS'
caps['deviceName'] = 'iPhone Simulator'
caps[:name] = "iOS testing with Appium"
caps[:autoAcceptAlerts] = true
caps["tunnel-identifier"] = sauce_tunnel_name
caps[:trustAllSSLCertificates] = true
caps[:safariIgnoreFraudWarning] = true
server_url = "http://#{ENV['SAUCE_USER']}:#{ENV['SAUCE_KEY']}@ondemand.saucelabs.com:80/wd/hub"
下面的命令给出了超时,因为 Sauce Labs 需要 60 多秒来创建 VM 并启动 Appium:
Watir::Browser.new(
:remote,
:url => server_url,
:desired_capabilities => caps)
所以我必须找到一种改变超时的方法,我发现使用它:
http_client = Selenium::WebDriver::Remote::Http::Persistent.new
http_client.timeout = 300 #
client = Selenium::WebDriver.for(:remote, :desired_capabilities => caps, :url => server_url, :http_client => http_client)
Watir::Browser.new(client)
效果很好,但是当我尝试在我公司的网络中运行它时,我可以看到从 Sauce Labs 开始的测试,但在 iOS 模拟器准备好之前我收到以下错误:
Selenium::WebDriver::Error::WebDriverError:
unexpected response, code=504, content-type="text/html"
<HEAD><TITLE>Connection Timed Out</TITLE></HEAD>
<BODY BGCOLOR="white" FGCOLOR="black"><H1>Connection Timed Out</H1><HR>
<FONT FACE="Helvetica,Arial"><B>
Description: Connection Timed Out</B></FONT>
<HR>
<!-- default "Connection Timed Out" response (504) -->
</BODY>
我已经联系了 Sauce Labs 的支持人员,但他们找不到解决方案。网络可能有什么问题?
【问题讨论】:
标签: ruby http selenium-webdriver appium saucelabs