0

機能ファイルを実行すると、このエラーが発生します。

提供されたブラウザのプラットフォームを選択できません (RuntimeError)

助けが必要です、お願いします。

コードは次のとおりです。

class GooglePage
  include PageObject

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

end

env.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

rake ファイルにタグと BROWSER と URL を渡すようにするとどうなるでしょうか。 rake my_task BROWSER=chrome URL=http://google.com.au

フックは BROWSER がクロムかどうかをチェックし、クロム用の特定の Webdriver を使用します。しかし、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

次に、HomePage pageobject に 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

これはうまくいきません:

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

@browser = Selenium::WebDriver.for :firefoxhooks.rbのBeforeメソッドに移動します。

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

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