ruby watir classic不会验证代理

时间:2016-04-20 20:56:04

标签: ruby authentication proxy watir-webdriver watir-classic

我尝试使用我的代码通过watir-webdriver打开Internet Explorer:

require "watir-webdriver"


profile = Selenium::WebDriver::Firefox::Profile.new
profile.proxy = Selenium::WebDriver::Proxy.new :http => 'http://username:password@xx.xxx.xxx.xx:xxxxx', :ssl => 'http://username:password@xx.xxx.xxx.xx:xxxxx'

我得到这个错误,说明我猜的是什么? 这就是它的内容:

C:/Ruby/lib/ruby/gems/2.2.0/gems/selenium-webdriver-2.53.0/lib/selenium/webdriver/firefox/profile.rb:205:in `Integer': invalid value for Integer(): "//username:password@xx.xxx.xxx.xx:xxxxx" (ArgumentError)
    from C:/Ruby/lib/ruby/gems/2.2.0/gems/selenium-webdriver-2.53.0/lib/selenium/webdriver/firefox/profile.rb:205:in `set_manual_proxy_preference'
    from C:/Ruby/lib/ruby/gems/2.2.0/gems/selenium-webdriver-2.53.0/lib/selenium/webdriver/firefox/profile.rb:176:in `proxy='
    from test1.rb:6:in `<main>'

1 个答案:

答案 0 :(得分:0)

我至少可以解释这个错误。您无法将基本身份验证传递给代理URL,因为代码期望字符串中的冒号区分主机和端口(需要是整数。

我没有太多使用Selenium代理的经验。在互联网上浏览问题可以提供诸如在指定的Firefox个人资料中将signon.autologin.proxy设置为true或添加Firefox autoauth扩展名等建议。基本上,您可以在配置文件中手动保存密码,然后自动测试不必输入密码。