Capybara -> 如何使用本地方法的结果

Posted

技术标签:

【中文标题】Capybara -> 如何使用本地方法的结果【英文标题】:Capybara -> how to use the result of native method 【发布时间】:2012-10-20 07:15:46 【问题描述】:

使用page.find( 'some-element' ).native 始终返回一个字符串,例如“4”。文档声明它返回一些允许我访问本机方法的对象。有人遇到过这种情况吗?

Capybara 版本是1.1.2 Capybara-Webkit 版本为0.12.1

【问题讨论】:

当,我正要再问这个问题。我想我是在暮光之城或者这个。 有什么解决办法吗?我得到完全相同的结果:Failure/Error: page.find('.event').native.location.y.should be > 0 undefined method `location' for "4":String 不幸的是,唯一的解决方案是将 ruby​​ 从 1.8.7 升级到 1.9.3 以及随之而来的所有不错的依赖项。 奇怪,我已经在 1.9.3 了。在此过程中,您最终还升级了什么?感谢您的回复:) 不幸的是,我不再有权访问代码(隐含 Gemfile );而且我们使用了很多实际上不必使用的宝石,我什至无法给您一个好的猜测。这是一个真正的大杂烩。 【参考方案1】:

听起来您可能正在使用 Capybara Webkit,它将内部节点表示为整数。您仍然可以使用以下方式访问本机 Rack::Test 节点:

page.find( 'some-element' ).base.native

更多详情:https://github.com/thoughtbot/capybara-webkit/issues/634

【讨论】:

以上是关于Capybara -> 如何使用本地方法的结果的主要内容,如果未能解决你的问题,请参考以下文章

如何在 Capybara 中获取父节点?

Rails:Capybara执行js以节省浏览器本地存储的价值

如何使用 capybara-webkit 获取响应头和时间

Capybara:测试何时禁用 cookie、localStorage 和 sessionStorage

如何使用 capybara 访问电子邮件中的链接

如何使用 Capybara 和 ChromeDriver 在输入字段中模拟输入?