如何为每个 cucumber/watir-webdriver 场景重置会话?

How to reset session for each cucumber/watir-webdriver scenario?

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

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

不幸的是,这没有用。

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

After('@my_feature_tag') do
  #reset 
end

在某些标签后重置它,或

After do |scenario|
 #reset
end

在每个场景中重置它。

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