问题标签 [capybara-webkit]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
1 回答
314 浏览

javascript - capybara-webkit 中未定义的方法“invalid_element_errors”

首先,我想指出我对此有点陌生,因此希望这篇文章可以理解。

现在我正在做一个项目,我正在尝试使用 cucumber 对 Rails Web 应用程序进行集成测试。由于 Web 应用程序严重依赖 javascript 和 ajax,我想使用可以处理此问题的 capybara 驱动程序。(我刚刚意识到 :rake_test 没有)但是我不想一直弹出浏览器窗口,因为这需要时间。所以我选择了 capybara-webkit。但是现在我更改了驱动程序,通过在我的 env.rb 中设置水豚的 javascript 驱动程序,我一直收到一个烦人的错误:

我在那一行的代码:

因为 id 是动态的,所以我在第 35 行使用了 find 。现在看来问题实际上是 find 方法,因为如果我在这一点之上添加另一个具有已知 id 的 find ,我会在该行上收到相同的错误。

如何摆脱这个问题,以便我可以使用 capybara-webkit?我在某处听说这是实际驱动程序中的一个问题,并且 github masterbranch 提供了一个修复程序,并且您可以以某种方式将您的 gem 链接到那里?如果是这样,任何人都可以解释如何做到这一点?

0 投票
2 回答
2996 浏览

ruby - 带有 capybara-webkit 的录像机

我正在使用 capybara-webkit 来测试与第三方网站的集成(我需要 javascript)。

我想使用 vcr 记录集成测试期间发出的请求,但 capybara-webkit 不通过 net http,因此 vcr 无法记录它们。我将如何为 vcr 编写一个允许我记录请求的适配器?

0 投票
7 回答
34956 浏览

ruby-on-rails - 错误:安装 capybara-webkit 时出错:

有关如何修复的任何建议?

0 投票
1 回答
840 浏览

ruby - RSpec + Sinatra + Capybara (+ webkit) 用于 js textarea 测试

我正在尝试测试一个 sinatra (1.3.2) 应用程序,其字段使用数据绑定通过Knockout.js更新以在客户端连接,我需要对此运行一些测试。但是我似乎无法让它工作。我已经使用 Capybara 配置了 RSpec(使用 webkit 作为 js 驱动程序)并且由于某种原因,当我在相关字段上使用 find_field('lead[temporary_notes).text 进行测试时(从 Knockout 获取它的值),我得到一个空字符串..任何想法为什么会这样或如何正确测试?

谢谢!

——杰克

这是规范(它访问更高描述块中的前块中的页面):

这是页面(erb):

运行规范时我得到了这个:

0 投票
4 回答
6324 浏览

ruby-on-rails - 无头 gem:webkit_server:无法连接到 X 服务器

我在使用 Headless gem、Xvfb 和我们的 ci 服务器运行 capybara-webkit 时遇到了一些问题。我们使用此设置对我们的 Ruby on Rails 3.2 应用程序进行自动集成测试和 javascript 测试。在测试期间它抱怨说

但是当我ps aux | grep Xvfb

我看到 Xvfb 正在运行。如果我用--trace它运行测试也只显示上面的错误日志,我无法调试错误。

有什么想法可以让我获得更多信息,甚至是解决方案吗?

0 投票
1 回答
575 浏览

window - capybara-webkit (0.8.0) 无法在窗口 7 上构建

我是新手。我正在尝试在窗口 7 上使用本机扩展构建 capybara-webkit (0.8.0)。我已经安装了(路径集):RubyMine、Ruby SDK 和 Gems、Rails、DevKit、Qt、gmake、g++。但我仍然收到以下错误消息。任何帮助是极大的赞赏。

$ gem install capybara-webkit -v '0.8.0' 临时增强 PATH 以包含 DevKit... 构建原生扩展。这可能需要一段时间... 错误:安装 capybara-webkit 时出错:错误:无法构建 gem 原生扩展。

c:\Qt\4.8.2\bin\qmake.EXE c:\make\gmake.EXE cd src/ && c:/Qt/4.8.2/bin/qmake.exe c:/Ruby193/lib/ruby/gems /1.9.1/gems/capybara-webkit-0.8.0/src/webkit_server.pro -spec c:/Qt/4.8.2/mkspecs/macx-g++ -o Makef\ile.webkit_server c:\make\gmake. EXE cd src/ && gmake -f Makefile.webkit_server gmake[1]: 进入目录`c:/Ruby193/lib/ruby/gems/1.9.1/gems/capybara-webkit-0.8.0/src' g++ -c -管道 -g -Wall -W -DQT_WEBKIT_LIB -DQT_GUI_LIB -DQT_NETWORK_LIB -DQT_CORE_LIB -DQT_HAVE_MMX -DQT_HAVE_3DNOW -DQT_HAVE_SSE -DQT_HAVE_MMXEXT -DQT_HAVE_SSE2 -Ic:/Qt/4.8.2/mkspecs/macx-g++ -I. -Ic:/Qt/4.8.2/include/QtCore -Ic:/Qt/4.8.2/include/QtNetwork -Ic:/Qt/4.8.2/include/QtGui -Ic:/Qt/4.8.2/include /QtWebKit -Ic:/Qt/4.8.2/include -I. -o RequestedUrl.o RequestedUrl.cpp process_begin: CreateProcess((null), g++ -c -pipe -g -Wall -W -DQT_WEBKIT_LIB -DQT_GUI_LIB -DQT_NETWORK_LIB -DQT_CORE_LIB -DQT_HAVE_MMX -DQT_HAVE_3DNOW -DQT_HAVE_SSE -DQT_HAVE_MMXEXT -DQT_HAVE_SSE2 -Ic:/Qt/4.8.2/mkspecs/macx-++。-Ic:/Qt/4.8.2/include/QtCore -Ic:/Qt/4.8.2/include/QtNetwork -Ic:/Qt/4.8.2/include/QtGui -Ic:/Qt/4.8.2/include /QtWebKit -Ic:/Qt/4.8.2/include -I. -o RequestedUrl.o Req uestedUrl.cpp, ...) 失败。make (e=2): 系统找不到指定的文件。

gmake[1]: * [RequestedUrl.o] 错误 2 gmake[1]: Leaving directory c:/Ruby193/lib/ruby/gems/1.9.1/gems/capybara-webkit-0.8.0/src' c:/Ruby193/lib/ruby/1.9.1/fileutils.rb:1515:instat': No such file or directory - src/webkit_server (Errno::ENOENT) from c:/Ruby193/lib/ruby/1.9. 1/fileutils.rb:1515:in block in fu_each_src_dest' from c:/Ruby193/lib/ruby/1.9.1/fileutils.rb:1529:infu_each_src_dest0' 来自 c:/Ruby193/lib/ruby/1.9.1/fileutils.rb:1513:in fu_each_src_dest' from c:/Ruby193/lib/ruby/1.9.1/fileutils.rb:395:incp' 来自 c:/Ruby193/lib/ruby/gems/1.9.1/ gems/capybara-webkit-0.8.0/lib/capybara_webkit_builder.rb:33:in build' from c:/Ruby193/lib/ruby/gems/1.9.1/gems/capybara-webkit-0.8.0/lib/capybara_webkit_builder.rb:39:inbuild_all' 来自 extconf.rb:2:in `'

Gem 文件将继续安装在 c:/Ruby193/lib/ruby/gems/1.9.1/gems/capybara-webkit-0.8.0 以供检查。结果记录到 c:/Ruby193/lib/ruby/gems/1.9.1/gems/capybara-webkit-0.8.0/./gem_make.out

0 投票
1 回答
587 浏览

ruby-on-rails - Capybara 不执行 Backbone 模型的 fetch()

我正在尝试为我用 Backbone 和 Rails 3.2 编写的单页应用程序编写集成测试当使用实际浏览器(Chrome)时,事情似乎在客户端工作但是,当使用 Capybara 使用客户端代码进行测试时(使用Cucumber),模型的 fetch() 方法没有完成。我这样做: $.active jQuery 调用,并且数字不会变为 0 .. 有什么想法可能是错误的吗?

我使用 capybara-webkit 作为无头浏览器,我也尝试使用 Selenium/firefox。上面的代码完全可以在启动了 rails 实例的实际浏览器上运行,但是在测试期间它不起作用!由于某种原因,ajax 调用没有完成......我完全被难住了。

0 投票
1 回答
988 浏览

ruby-on-rails-3 - capybara webkit-driver重置?

对一些 capybara webkit-driver ( :js => true) 测试有点奇怪。

测试在自己运行时运行良好,但不知何故按顺序失败。

例如,我有一个看起来像的请求测试

当我将describe B部分拆分为自己的文件并使用它运行bundle exec rspec spec/requests/b_spec.rb时 - 测试运行良好并通过。

对此进行调试,看起来当两个部分都在同一个文件中时,webkit 驱动程序以某种方式加载了一个“脏”浏览器会话。尝试page.driver.reset!Capybara.reset_sessions!Capybara.reset!似乎没有任何效果......

使用 spectator/spork 时这不是问题,因为我可以将测试拆分为不同的文件并独立运行它们,但是当使用 - 这些测试运行全套测试时bundle exec rspec...

如何在测试之间正确重置 webkit 驱动程序/会话?还是我在追逐错误的问题?

ps 这些测试没有以任何特定方式访问数据库或改变状态,所以我很确定这是一些与驱动程序相关的问题。

0 投票
1 回答
980 浏览

rspec - Capybara-webkit,javascript集成测试不起作用

嗨,我在运行我的规范时遇到问题,当我为我的测试打开 javascript 时,我似乎无法登录。

奇怪的是,这工作得很好。奇怪的是,当我尝试通过将第一行更改为 : 来打开 js 时describe "loggin in", js: true do,测试失败并在 flash 通知中显示无效的电子邮件密码组合。

我正在使用Rails 3.2.6,rspec-rails (2.11.0)capybara-webkit (0.12.1). 我的规范助手有这条线Capybara.javascript_driver = :webkit

我不确定到底发生了什么,我使用 pry 来检查用户是否已创建(它是),尽管我不确定如何检查字段是否正确填写。我相信它们已正确填写,因为它在关闭 javascript 时有效。

请注意,我知道您不需要 javascript 进行此测试,但我不想发布实际规范。谢谢!

0 投票
2 回答
813 浏览

ruby-on-rails-3 - 无法安装 capybara-webkit

当我跑

我收到以下错误消息。