我在运行我的功能文件时遇到了这个错误。
无法为提供的浏览器(RuntimeError)选择平台
需要帮助,请。
这是密码;
class GooglePage
include PageObject
def self.visitor
visit("http://www.google.com")
end
endenv.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发布于 2013-09-27 13:55:30
这不管用:
visit(GooglePage)因为您还没有在page_url中调用GooglePage (如下文4所示)
class GooglePage
include PageObject
page_url "http://www.google.com"
def self.visitor
visit("http://www.google.com")
end
end 发布于 2014-10-14 18:31:06
将@browser = Selenium::WebDriver.for :firefox一行移动到hooks.rb中的方法之前的
Before do
@browser = Selenium::WebDriver.for :firefox
end
After do
@browser.close
end发布于 2015-03-13 07:12:33
如果你让你的rake文件传递标签、浏览器和URL,例如rake my_task BROWSER=chrome URL=http://google.com.au
钩子将检查浏览器是否是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然后,在我的HomePage页面对象上,我得到了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中尝试一下,它就不能工作了。
https://stackoverflow.com/questions/18480753
复制相似问题