2

我正在使用 Cucumber 执行自动化测试。我在运行期间运行两个功能,在其中我输入我的凭据以在网站中执行操作。执行第二个功能时,我将不得不重新输入相同的凭据,但浏览器已经存储了我的凭据,之前使脚本在此步骤中实际跳过/失败。我在下面分享了我的脚本。请告知什么可以解决。

我尝试删除 cookie,但问题仍然存在。

When /^I clear cookies$/ do
  browser = Capybara.current_session.driver.browser
  browser.manage.delete_all_cookies
end
4

2 回答 2

2

在这种情况下,您需要重置会话,这将允许您重新登录而不会出现任何问题!

在您的代码中:

When /^I clear cookies$/ do
  Capybara.reset_sessions!
end

如果它对你有用,请接受我的回答!

于 2016-02-18T00:43:56.590 回答
0

启动一个新的浏览器会话可以保证一个干净的环境。但是,根据您的设置和测试套件,它会大大降低测试速度,但您可能想尝试一下。

如果您使用 HTTP 基本身份验证登录,删除 cookie 不会删除凭据。如果是这种情况,除了重新启动浏览器之外,没有其他普遍适用的方法。

于 2013-09-05T17:24:03.993 回答