cucumber / capybara 从特定类别中选择按钮?

标签 cucumber capybara

所以我遇到了一个问题,我试图单击一个按钮...不幸的是它具有相同的文本(IE 页面上有 2 个按钮具有相同的文本,基本上是一个保存按钮)

让我们假设按钮文本只是“保存”。

我确实注意到他们有不同的类(class)。

<button data-action="submit" class="btn btn-primary btn-save">Save</button>

而另一个按钮是:

<button name="button" type="submit" class="btn btn-primary set-right">
      <i class="glyphicon glyphicon-floppy-disk"></i> Save
</button>

我知道 glypicon 只是一个图标集......但它们似乎都属于同一类?但有不同的类名? (抱歉我对 Rails 不熟悉)

老实说,我选择哪一个并不重要,因为它们都有相同的功能。我已经看到哪里可以使用 xpath 了?但我们现在不应该使用 css 选择器之类的东西吗? (这是最新的方式?)我可能是错的......

我可以使用类似的东西吗:

find(:xpath, '//button[@class="btn-save"]').click

我试图避免仅使用“rails”解决方案,因为并非我测试的所有网站都是基于rails的。

最佳答案

你有多种可能性:

1) 按其类别查找按钮

find(button.btn.btn-primary.btn-save).click

2) 通过 css 选择器xpath 找到按钮(您可以使用 Google Chrome 复制它们:右键单击 -> 检查 -> 右键单击​​您的元素 -> 复制 css 或 xpath)

find(:css, "your button css selector").click

find(:xpath, "your button xpath").click

关于 cucumber / capybara 从特定类别中选择按钮?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34318242/

相关文章:

java - 从 Java 中的另一个类启动 Cucumber runner 类

ruby-on-rails - 如何根据正在执行的功能文件加载 Cucumber 步骤定义

ruby-on-rails - 检查选择框是否具有 capybara 的某些选项

ruby - 为什么使用 AJAX 的 rspec 示例无法正常工作?

ruby-on-rails - 是否可以将 Guard 与并行测试结合使用?

ruby-on-rails-3 - 在 cucumber / capybara 中模拟关闭/重新打开浏览器?

javascript - 测试javascript点击功能capybara附加文件图片上传

ruby - 为页面对象测试打桩 Capybara session

ruby - 切换到 cucumber , capybara 中的弹出窗口

css - Capybara/Poltergeist:带冒号的 CSS ID 引发 Capybara::Poltergeist::InvalidSelector