2017-12-11 15 views
0

셀렌 그리드를 배우려고했는데, 튜토리얼을 따라했지만 내 기능을 실행하려고 할 때NoMethodError : {browserName => : firefox, : version => nil}의 private 메소드`browser_name '이 호출되었습니다. 해시

NoMethodError :이 오류 얻었다을 촉구 개인 방법`BROWSER_NAME을 '{: browserName => : 파이어 폭스, : 버전 => 전무} :

require 'watir-webdriver' 
require 'cucumber' 

def browser_path 
    (ENV['BPATH']) 
end 

def browser_name 
    (ENV['BROWSER'] ||= 'firefox').downcase.to_sym 
end 

def environment 
    (ENV['ENV'] ||= 'grid').downcase.to_sym 
end 

def browser_version 
    (ENV['VER']) 
end 

Before do 
    def assert_it message, &block 
    begin 
     if (block.call) 
     puts "Assertion PASSED for #{message}" 

     else 
     puts "Assertion FAILED for #{message}" 
     fail('Test Failure on assertion') 
     end 
    rescue => e 
     puts "Assertion FAILED for #{message} with exception '#{e}'" 
     fail('Test Failure on assertion') 
    end 
    end 
    if browser_path != nil 
    Selenium::WebDriver::Firefox.path= "#{browser_path}" 
    end 
    if environment == :grid 
    @browser = Watir::Browser.new(:remote, :url=>"http://10.196.60.38:4444/wd/hub", :desired_capabilities=> {browserName: browser_name,version: browser_version}) 
    @browser.window.maximize 
    else 
    @browser = Watir::Browser.new browser_name 
    @browser.window.maximize 
    end 

end 

After do 
    @browser.close 
end 
: 해시 여기

는 env.rb 파일입니다

감사합니다. 귀하의 도움에 감사드립니다.

답변

2

watir-webdriver은 더 이상 사용되지 않으며 최신 버전의 Firefox에서는 작동하지 않습니다. watir의 최신 버전으로 업데이트하십시오.

Watir::Browser.new(browser_name, url: "http://10.196.60.38:4444/wd/hub", version: browser_version 
+0

감사 많은, 그 선은 이제 작동하지만, senarion의 같은 첫 번째가 작동하지 않았다 : 또한 Watir과의 최신 버전

, 당신은 할 수 있어야 (/^주어진 사용자가 아마존에 있습니다 $ /) do @ browser.goto "http://www.amazon.com" end – Majid

+0

"작동하지 않는다"는 것은 무엇을 의미합니까? 오류가 무엇입니까? geckodriver를 다운로드 했습니까? – titusfortner

+0

새로운 질문을 시작하십시오. 다른 질문의 코멘트에서이 작업을 수행하는 것은 실제로 성 가시고 차선책입니다. –