【问题标题】:How to reset session for each cucumber/watir-webdriver scenario?如何为每个 cucumber/watir-webdriver 场景重置会话?
【发布时间】:2015-08-31 09:00:27
【问题描述】:

如何为每个场景重置会话?我正在使用黄瓜、watir-webdriver、parallel_tests gem 和 ruby​​。它运行 8 个线程,但将每个线程视为一个长场景。在我的本地这很好,但是当把它发送到酱实验室时,我希望每个场景都有自己的会话,这样我就可以更新通过/失败/等。这是我尝试过的:

After do |scenario|
  browser.driver.instance_variable_get('@bridge').deleteAllCookies
end

不幸的是,这不起作用。

【问题讨论】:

  • 请注意,Watir 有一个用于清除 cookie 的 API - browser.cookies.clear。虽然快速浏览,会给出相同的结果。现在无法删除 cookie 怎么办? cookie 没有被删除吗?

标签: ruby watir-webdriver


【解决方案1】:

Is there a cucumber hook to run before and after each feature 所以不,你不能那样做。但是,您可以使用:

After('@my_feature_tag') do
  #reset 
end

在某些标签之后重置它,或者

After do |scenario|
 #reset
end

在每个场景中重置它。

【讨论】:

  • 谢谢@dgmora。我应该更清楚。我在场景之后删除了所有 cookie,但这似乎并没有奏效。我已经更新了我的问题。
【解决方案2】:

我正在关闭浏览器并清除 cookie,但这不起作用。在使用对我有用的 parallel_tests 之前找到了一个拆分场景的示例。感谢那些发布回复的人。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2021-11-02
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2019-10-13
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多