3

如何在 Capybara 中获取表单的动作?

我知道这不是正确的 BDD,但该表单正在访问应用程序之外的 API。

可以使用 Webmock 检查表单是否已提交,但在这种情况下,我认为确保正确设置操作 URL 会更简单。

4

2 回答 2

7

我很确定capybara(至少 2.1.0 版)有帮手让这更容易。

在我们的规范中,我们检查这样的表单操作:

form_action = find('#form_id')['action']

所以你不需要获取 Nokogiri 原生元素。

于 2013-10-20T22:25:51.983 回答
2

您可以使用 .native 从 Capybara 元素中检索 Nokogiri 节点,从那里您可以轻松查询节点的属性:

element = find('#form_id')
node = element.native

form_action = node.attributes['action']
于 2013-01-18T03:31:24.597 回答