使用capybara,我无法从href读取自定义数据属性

时间:2016-04-29 23:01:20

标签: javascript jquery capybara capybara-webkit

我有一些看起来像这样的HTML:

<a href="javascript:void(0)" class="myclass" data-id="dynamic value"> X </a>

这是一个删除链接,我正在编码href中要删除的项目的ID。 然后我有一些看起来像一般的javascript:

$('.myclass').click(function(){
  var id = $(this).data('id');
  $.ajax({ url: 'correct_url', data: {id: id}, type: 'DELETE'});
}

当我使用该应用程序时,这一切都正常。

然而,我正试图用capybara(capybara-webkit驱动程序)测试它 它崩溃了:DELETE请求进入没有id字段的服务器!它不仅没有价值,也没有发送。但是请求已经发出,所以似乎正在执行js,只是减去使用this的行并包含额外的data哈希。

任何想法?它需要是一个变量,因为它确实有一个列表,每个都需要自己的删除链接。我是否错过了完成这件事的更好模式?水豚被破坏了吗?谢谢...

1 个答案:

答案 0 :(得分:1)

这是QtWebkit的限制 - 请参阅https://github.com/thoughtbot/capybara-webkit/issues/427 - 如果您没有将Qt 5.5.1与capybara-webkit一起使用,可能会添加一个可能性支持,因此您可能需要尝试升级。 / p>