如何在ruby中找到selenium的浏览器用户代理

时间:2013-06-13 11:37:10

标签: ruby firefox selenium cucumber selenium-webdriver

我想知道当前的用户代理。我用过selenium2和红宝石

我在env.rb中设置了user-agent

  Capybara.default_driver = :selenium
  Capybara.register_driver :selenium do |app|

  profile = Selenium::WebDriver::Firefox::Profile.new
  profile['general.useragent.override'] = "Mozilla/5.0 (iPhone; U; CPU iPhone OS 4_0 like Mac OS X; en-us) AppleWebKit/532.9 (KHTML, like Gecko) Version/4.0.5 Mobile/8A293 Safari/6531.22.7"

  Capybara::Selenium::Driver.new(app, {:browser => :firefox, :profile =>  profile})
end

当运行黄瓜测试用例打开FireFox Browser时,我没有看到iphone。所以我想检查测试用例是否在iphone模式下运行(用户代理)。我怎么能这样做?

3 个答案:

答案 0 :(得分:2)

$ irb
2.3.3 :001 > require 'selenium-webdriver'
 => true 
2.3.3 :002 > d = Selenium::WebDriver.for(:chrome)
 => #<Selenium::WebDriver::Driver:0x..fcc762e239318ca30 browser=:chrome> 
2.3.3 :003 > d.execute_script('return navigator.userAgent')
 => "Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/55.0.2883.75 Safari/537.36" 
2.3.3 :004 > d.quit
 => nil 
2.3.3 :005 >
$

答案 1 :(得分:0)

试试这个: -

page.driver.browser.browser

=> 

:firefox

答案 2 :(得分:0)

如果您想检查您的浏览器是否在Iphone模式下打开,那么您从测试用例中访问“http://google.com”,您将看到使用移动模式打开网页。所以你可以证明你已经设置了合适的用户代理。