Tôi đang thử nghiệm tiện ích mở rộng của Chrome bằng cách sử dụng Dưa chuột kết hợp với Capybara và Selenium-Webdriver.Cách khởi động lại trình duyệt sau mỗi trường hợp thử nghiệm
thử nghiệm của tôi rất đơn giản:
@chrome_extension
@javascript
Scenario: Test1
Given I open a browser
And I close the browser
When I do nothing
Then nothing happens
đâu các bước được định nghĩa là:
require 'selenium-webdriver'
Given /^I open a browser$/ do
visit 'http://google.com'
STDERR.puts self
end
Given /^I close the browser$/ do
page.driver.browser.quit
end
Given /^I do nothing$/ do
end
Given /^nothing happens$/ do
end
Khi tôi gọi page.driver.browser.quit, nó bỏ ra khỏi phiên trình duyệt . Nhưng sau đó lỗi sau xảy ra:
Connection refused - connect(2) (Errno::ECONNREFUSED)
/Users/rui/.rvm/rubies/ruby-1.9.2-p180/lib/ruby/1.9.1/net/http.rb:644:in `initialize'
/Users/rui/.rvm/rubies/ruby-1.9.2-p180/lib/ruby/1.9.1/net/http.rb:644:in `open'
/Users/rui/.rvm/rubies/ruby-1.9.2-p180/lib/ruby/1.9.1/net/http.rb:644:in `block in connect'
/Users/rui/.rvm/rubies/ruby-1.9.2-p180/lib/ruby/1.9.1/timeout.rb:44:in `timeout'
/Users/rui/.rvm/rubies/ruby-1.9.2-p180/lib/ruby/1.9.1/timeout.rb:87:in `timeout'
/Users/rui/.rvm/rubies/ruby-1.9.2-p180/lib/ruby/1.9.1/net/http.rb:644:in `connect'
/Users/rui/.rvm/rubies/ruby-1.9.2-p180/lib/ruby/1.9.1/net/http.rb:637:in `do_start'
/Users/rui/.rvm/rubies/ruby-1.9.2-p180/lib/ruby/1.9.1/net/http.rb:626:in `start'
/Users/rui/.rvm/gems/[email protected]/gems/webmock-1.7.8/lib/webmock/http_lib_adapters/net_http.rb:90:in `request_with_webmock'
/Users/rui/.rvm/gems/[email protected]/gems/selenium-webdriver-2.3.2/lib/selenium/webdriver/remote/http/default.rb:73:in `response_for'
/Users/rui/.rvm/gems/[email protected]/gems/selenium-webdriver-2.3.2/lib/selenium/webdriver/remote/http/default.rb:41:in `request'
/Users/rui/.rvm/gems/[email protected]/gems/selenium-webdriver-2.3.2/lib/selenium/webdriver/remote/http/common.rb:34:in `call'
/Users/rui/.rvm/gems/[email protected]/gems/selenium-webdriver-2.3.2/lib/selenium/webdriver/remote/bridge.rb:406:in `raw_execute'
/Users/rui/.rvm/gems/[email protected]/gems/selenium-webdriver-2.3.2/lib/selenium/webdriver/remote/bridge.rb:384:in `execute'
/Users/rui/.rvm/gems/[email protected]/gems/selenium-webdriver-2.3.2/lib/selenium/webdriver/remote/bridge.rb:228:in `deleteAllCookies'
/Users/rui/.rvm/gems/[email protected]/gems/selenium-webdriver-2.3.2/lib/selenium/webdriver/common/options.rb:67:in `delete_all_cookies'
/Users/rui/.rvm/gems/[email protected]/gems/capybara-1.1.2/lib/capybara/selenium/driver.rb:81:in `reset!'
/Users/rui/.rvm/gems/[email protected]/gems/capybara-1.1.2/lib/capybara/session.rb:70:in `reset!'
/Users/rui/.rvm/gems/[email protected]/gems/capybara-1.1.2/lib/capybara/dsl.rb:87:in `block in reset_sessions!'
/Users/rui/.rvm/gems/[email protected]/gems/capybara-1.1.2/lib/capybara/dsl.rb:87:in `each'
/Users/rui/.rvm/gems/[email protected]/gems/capybara-1.1.2/lib/capybara/dsl.rb:87:in `reset_sessions!'
/Users/rui/.rvm/gems/[email protected]/gems/capybara-1.1.2/lib/capybara/cucumber.rb:10:in `After'
Cách thích hợp để khởi động lại trình duyệt sau mỗi trường hợp là gì? Tôi cần mọi thử nghiệm để trở thành quốc tịch nhất có thể.
Cảm ơn trước!
Tôi đã thêm câu trả lời bên dưới. Điều quan trọng là khi bạn thiết lập điều này, bạn chỉ cần chắc chắn rằng @After hook của bạn phá hủy triệt để trình điều khiển WebDriver mỗi lần. – MikeJRamsey56