ruby - 使用 Cucumber 和 Capybara 传递多个参数

标签 ruby cucumber capybara ui-testing

您好,我需要有关 Cucumber 到 Capybara 正则表达式匹配的帮助。

所以我想在下面有一个 Cucumber 步骤:

I should see "10:00, 11:00, 12:00" under "div1"

我想传入“10:00, 11:00. 12:00”。 在我想做的步骤中:

Then /^I should see "([^\"]*)"+ under "([^\"]*)"$/ do | slots, selector_name |
     slots.each do |value|
     end
end

所以基本上我想传入逗号分隔的字符串列表和步骤定义 我想将此列表视为一个字符串数组。这可能吗?

谢谢!

最佳答案

您可能想要做的只是让步骤将所有三次捕获到单个 slots 项中(就像您现在一样),然后改为执行此操作:

slots.split(", ").each do |value|
  ...
end

查看此 Railscast举个例子(它在“假设我有标题为 Pizza,Breadsticks 的文章”步骤中做了类似的事情)。

关于ruby - 使用 Cucumber 和 Capybara 传递多个参数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6964713/

相关文章:

ruby-on-rails - Rails 应用程序的生命周期

ruby-on-rails - 如何找到未使用的 cucumber 步骤

ruby-on-rails - docker 中的 Capybara headless chrome 返回 DevToolsActivePort 文件不存在

ruby-on-rails - 使用 capybara-webkit Attach_file 上传图像时遇到问题

Ruby:生产环境中的 GC::Profiler.enable 会导致性能问题吗?

ruby-on-rails - 无法通过救援捕获 ActiveRecord::RecordNotFound

ruby - bundle update 尖峰 cpu 并且什么也不做

TypeScript 模块解析不适用于 Cucumber-js

使用 Aruba 进行 Ruby gem CLI 测试

javascript - Rails/React 应用程序 - Capybara-Selenium::WebDriver::Error 在该点不可点击,其他元素将收到点击: