2017-02-20 121 views
0

我使用chrome 56,chrome驅動程序2.27(最新版本)和selenium web驅動程序3.1.0。參考問題(https://github.com/seleniumhq/selenium-google-code-issue-archive/issues/1811),一旦程序結束,chrome將關閉所有實例,並且不會給我調試的機會。我只是想知道這是否被修復,爲什麼它仍然在發生?或者我錯過了什麼? 我正在使用以下代碼。任何幫助表示讚賞。 Chrome瀏覽器在程序使用watir完成紅寶石後自動關閉

require "uri" 
 
require "net/http" 
 
require 'watir-webdriver' 
 
require 'selenium-webdriver' 
 

 
@b = Watir::Browser.new :chrome 
 
@b.goto 'http://www.google.com'

回答

2

首先,的Watir-的webdriver寶石已棄用。更新的代碼在watir gem中。此外,您不需要直接要求任何其他寶石。

當ruby進程退出時,chromedriver服務停止。如果您不希望由chromedriver啓動的瀏覽器也關閉,則需要使用detach parameter。目前,這可以這樣判定:

require 'watir' 

caps = Selenium::WebDriver::Remote::Capabilities.chrome 
caps[:chrome_options] = {detach: true} 
@b = Watir::Browser.new :chrome, desired_capabilities: caps 
0

聲明這些

caps = Selenium::WebDriver::Remote::Capabilities.chrome("chromeOptions" => {'detach' => true}) 
browser = Watir::Browser.new :chrome, desired_capabilities: caps 

在一個側面說明!這可能會在運行多個場景測試時出現問題,當其他測試在同一個chrome會話中啓動時,chromedriver會主動拒絕連接。確保您有需要時有browser.close

相關問題