Пожалуйста, узнайте о RSpec, потому что, я полагаю, вы понятия не имеете об этом (просто Google). Там нет никаких ожиданий, и вы пишете свои функции в нем.
require 'optparse'
require 'commandline/optionparser'
include CommandLine
require 'watir-webdriver'
options = {}
opts = OptionParser.new do |opts|
opts.on("--browser N",
"Browser to execute test scripts") do |n|
options[:browser] = n
end
opts.parse! ARGV
p options
ie = Watir::Browser.new(options[:browser].to_s)
#go to test website
ie.goto("www.google.com")
Это должно сработать.
РЕДАКТИРОВАТЬ: Если вы хотите проверить это, сделайте что-то вроде этого:
def open_url_with_browser(url, browser = 'firefox')
nav = Watir::Browser.new(browser)
nav.goto(url)
end
Тогда вы протестируете этот метод в спецификации. Просто заглушка new
и goto
в разных спецификациях.
Если вы все еще задаетесь вопросом, почему вы получаете недопустимую опцию, потому что вы передаете --browser
в rspec
, а не в свой сценарий, как предполагалось.