0

我在运行我的功能文件时收到此错误。

无法为提供的浏览器选择平台 (RuntimeError)

需要帮助,请。

这是代码;

class GooglePage
  include PageObject

  def self.visitor
    visit("http://www.google.com")
  end

end

环境.rb

require 'selenium-webdriver'
require 'page-object'
require 'rubygems'
require 'page-object/page_factory'

World (PageObject::PageFactory)
@browser = Selenium::WebDriver.for :firefox


Step-Definitions

require_relative 'GooglePage'

Given(/^I am on the Google home page$/) do  
   visit(GooglePage)
  # visit('http://www.google.com')

   on(GooglePage).visitor
end
4

3 回答 3

0

这不起作用:

visit(GooglePage)

因为您没有在 GooglePage 中调用 page_url(下面的 ln 4)

class GooglePage
  include PageObject

  page_url "http://www.google.com"    

  def self.visitor
    visit("http://www.google.com")
  end

end 
于 2013-09-27T13:55:30.177 回答
0

如果你让你的 rake 文件传递​​标签、浏览器和 URL 怎么办,例如 rake my_task BROWSER=chrome URL=http://google.com.au

并且钩子将检查浏览器是否是 chrome,然后将使用特定的 Webdriver for chrome。但是如何在 PageObject 中传递 URL 呢?

目前从钩子我有ff:

when "chrome" then
    caps = Selenium::WebDriver::Remote::Capabilities.chrome
    caps.version = "40.0.2214.115 m"
    caps.native_events = false
    caps.javascript_enabled= true

    # This is for increasing the default timeout to 180
    client = Selenium::WebDriver::Remote::Http::Default.new
    client.timeout = 180

    browser = Selenium::WebDriver.for :chrome
    browser.manage.window.maximize 


end

Before do
browser.cookies.clear
@browser = browser
end

After do
unless ENV["BROWSER"].eql? "ie"
    browser.close
    sleep 2
end
end

然后在我的主页页面对象上,我有 ff:

class HomePage
include PageObject

page_url("#{ENV['URL']}")

#opens the url defined in ENV['URL']
def goto_homepage
    visit(HomePage)
end

end

使用 Watir,URL 被打开了,所以在 Selenium 中尝试一下,它不会工作。

于 2015-03-13T07:12:33.037 回答
0

将行@browser = Selenium::WebDriver.for :firefox移动到hooks.rb中的Before方法

Before do
  @browser = Selenium::WebDriver.for :firefox
end

After do
  @browser.close
end
于 2014-10-14T18:31:06.607 回答