小编Ale*_*nes的帖子

使用Capybara + RSpec测试页面重定向

我有一个step_definition

Then(/^I should be redirected to the (.+?) page/) do |target|
  expect(current_url).to eq(Urls[target])
end
Run Code Online (Sandbox Code Playgroud)

一般来说效果很好.有时当我使用恶作剧驱动程序时,它比平时更快,而current_url仍然是旧页面.那是我得到这样的错误:

Then I should be redirected to the login page                                                # features/step_definitions/navigate-steps.rb:64

expected: "http://example.com/"
got: "http://example.com/reset-password"

(compared using ==)
(RSpec::Expectations::ExpectationNotMetError)
./features/step_definitions/navigation.rb:50:in `/^I should be redirected to the (.+?) page$/'
features/password.feature:100:in `Then I should be redirected to the login page'
Run Code Online (Sandbox Code Playgroud)

有没有办法让匹配器等待一点url更新?

rspec capybara

10
推荐指数
1
解决办法
4432
查看次数

配置Capybara使用Marionette WebDriver for Firefox

随着Marionette取代FirefoxDriver,我需要配置我的测试来运行它.我已经下载了二进制文件,但我似乎无法将我的Capybara驱动程序注册配置为实际使用Marionette.

Capybara.register_driver :selenium_firefox do |app|
  capabilities = Selenium::WebDriver::Remote::Capabilities.firefox
  capabilities["firefox_binary"] = 'path/to/marionette/renamed/to/wires'
  Capybara::Selenium::Driver.new(app, browser: :firefox, desired_capabilities: capabilities)
end
Run Code Online (Sandbox Code Playgroud)

当我开始测试时,我只是得到FF的初始页面,就像我试图在没有牵线木偶的情况下运行它一样.

selenium capybara selenium-firefoxdriver firefox-marionette

4
推荐指数
1
解决办法
2570
查看次数