步骤代码在黄瓜中运行时阻止Web请求

时间:2017-11-01 22:32:40

标签: ruby-on-rails ruby cucumber webrick

我正在使用Cucumber + Selenium来测试一些Rails代码。在该配置中,我有时会遇到一个问题,即在第一步(请求页面)完成并且第二步正在运行之后,浏览器中会加载一些额外的资源/延迟请求。

不幸的是,代码不是线程安全的,额外的请求和下一步不能同时运行。

在功能/步骤代码的特定部分完成之前,有没有办法阻止webrick接受任何请求? cucumber或webrick会暴露任何相关的同步吗?

1 个答案:

答案 0 :(得分:1)

你可以做的一件事就是让第一个请求从额外的资源中寻找一些东西,这样它才能在加载之前完成。如果你使用Capybara,你会发现它非常擅长这样做。

您可以做的另一件事是使用机架驱动程序,因为这不会加载您用来加载额外资源的JavaScript。如果您不需要为测试额外的资源,为什么要加载它们:)