首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >在调试时使用Capybara Webkit执行Capybara命令?

在调试时使用Capybara Webkit执行Capybara命令?
EN

Stack Overflow用户
提问于 2017-03-07 18:50:08
回答 1查看 650关注 0票数 0

通过使用Pry (也可以使用Rubymine),我尝试调试代码中的某个点(使用binding.pry)。在调用Capybara的save_screenshot之后,我无法执行任何与Capybara相关的命令(所有命令都在超时时死亡)。这工作在“调试模式”和其他web驱动程序中,如Poltergeist。

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2017-03-09 22:47:04

我今天花了几个小时试着调试它。我想我找到了问题所在--或者至少找到了解决问题的方法。

我们的网站有几个链接,可以在另一个浏览器窗口中打开内容。由于自动化是相当古老的,在那个时候Selenium还没有一种合适的方法来切换窗口上下文,我们所做的是通过URL visit打开的页面,这样在任何给定的时间都只有一个窗口打开。

这是可行的,但是当在“调试模式”(例如使用binding.pry )下运行此测试时,会发生一些奇怪的事情。在对该特定页面执行任何操作之前,我们使用Capybara的save_screenshot方法截取屏幕截图。在调试时,这将导致损坏的映像,并且任何后续的Capybara方法都将在超时时失败。使用链接打开此页面,并使用Capybara的handle_window方法处理窗口上下文切换解决了此问题。这仍然是一个谜,为什么它只发生在Capybara wekit上(因为其他web驱动程序工作正常)。我猜也许DOM的结构可能不同。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/42646277

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档