javascript - 如何测试支持 javascript 和不支持 javascript 的场景?

标签 javascript ruby-on-rails selenium cucumber capybara

我已经在我的应用程序中引入了 Ajaxy 表排序,我想设置 Cucumber 测试来测试支持 javascript 和不支持 javascript 时的功能。

我使用的是 capybara,所以如果我使用标志 @javascript,它将使用 javascript 驱动程序运行测试。他们的标志是使用 javascript 运行场景两次,一次不运行吗?

类似下面的内容......

  @test-both-javascript-and-non-javascript
  Scenario: Table Search
    When I fill in "search" with "Jonathan"
    And I press "Search"
    Then I should see the following users:
      | Jonathan | Smith | jonathan@example.com | active |

最佳答案

使用@javascript 将驱动程序从默认切换到可以在您的页面上运行 javascript 的驱动程序。离开@javascript 并不意味着您正在测试“不支持 javascript 时”或“没有 javascript 支持”。 Then I should see "Javascript is not supported" 的测试在包含 <noscript>Javascript is not supported.</noscript> 的页面上使用默认驱动程序将失败(即没有@javascript 标记)。

如果你真的想用不支持的 javascript 进行测试,你应该配置一个禁用 javascript 的新驱动程序,并使用一个新标签(例如,@nojavascript)在 Before('@nojavascript') 中切换到该驱动程序。阻止并切换回 After('@nojavascript') 中的默认值堵塞。然后您可以专门使用该标记编写场景,并在您想要检查 javascript 何时被禁用时重复场景。

关于javascript - 如何测试支持 javascript 和不支持 javascript 的场景?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5886668/

相关文章:

python - Selenium 中的简单文件上传片段适用于 Chrome,但不适用于我的 Mac 上的 Firefox

javascript - 使用 jQuery 列表项值始终为 0

javascript - js中如何删除div中的元素?

java - 为什么我的所有页面数据都显示 StaleElementReferenceException

ruby-on-rails - 迁移到 Rails 5,rails gem 问题

ruby-on-rails - 尝试使用 run cap 部署 :cold 与 capistrano 一起部署 Rails 应用程序时出现问题

java - 使用 WebDriver 自动化非英语网站

javascript - 从选择菜单中删除嵌套选项 - jQuery

javascript - 使 SVG 响应式缩放

javascript - 加载 jQuery : "Uncaught TypeError: Cannot read property ' exports' of null "时出错