ruby - Capybara - 使用参数在表单中填写表单元素

标签 ruby selenium rspec capybara

我正在尝试通过名称填写字段。因为在 2 种不同的形式中有两个具有相同名称的字段,所以我不能单独使用 fill_in,因为存在不明确的匹配。

我正在尝试执行如下所示的操作,但显然内部并没有按名称查找,因此它找不到表格。

When(/^I type "(.*?)" into the "(.*?)" textbox in the "(.*?)" form$/) do |textboxValue, textboxName, textboxForm|
    within(:name, textboxForm) do
      fill_in textboxName, :with => textboxValue
    end
end

texboxForm - 元素所在的表单名称 textboxName - 文本框的名称 textboxValue - 我想要填充文本框的值

有什么想法吗? 谢谢

最佳答案

这有点可怕,但这很有效。

find("form[name='" + textboxForm + "']").fill_in textboxName, :with => textboxValue

关于ruby - Capybara - 使用参数在表单中填写表单元素,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19808966/

相关文章:

ruby - 为什么 strip 不删除前导空格?

ruby - 如果数组中存在键,如何从另一个哈希中获取哈希

python - 在 Selenium PYTHON 中使用 span id 从下拉列表中选择一个值

java - 从容器中获取文本

ruby-on-rails - 运行 Guard 进程时出错 : can't find singularize method

mysql - "uninitialized constant"迁移过程中出错

ruby-on-rails - ruby rails : short hand to put commas in between elements in an array?

java - 如何通过 <init> 中的调用解决 webdriver 设置中的 NullPointerException?

ruby-on-rails - rspec 中的操作邮件链接检查

javascript - 为什么我的 AJAX 请求在 dev 中是 PUT 请求,但在运行测试时是 GET 请求?