问题标签 [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 回答
762 浏览

testing - 为什么我应该使用水豚,因为可以直接使用硒本身?

根据我的阅读,selenium 本身具有实际模拟网页交互的命令(和 gem),那么使用 capybara 的必要性是什么?

0 投票
1 回答
1284 浏览

ruby-on-rails - capybara-webkit - rails 会话未保留/设置

我为我的集成测试设置了 capybara-webkit,我遇到了一个非常简单的问题。我的会话没有被存储。用例非常简单

现在在第 2 步,我的应用程序将测试用例返回到登录页面 - 这意味着会话设置不正确。

任何帮助深表感谢

如果我使用@culerity 而不是@javascript,那么这个测试用例就会通过,所以问题似乎是 capybara-webkit 设置

我对 capybara-webkit 支持的 env.rb 如下

更新 1:看起来正在设置会话。我使用以下代码在我的步骤中转储会话

我得到了以下信息 - 所以看起来 cookie 正在设置但没有被发回

["_jqt_session=BAh7CEkiD3Nlc3Npb25faWQGOgZFRiIlYmMwYzNjYjY0MGU3NTg0OWFlNTcwODhmM2I2MzE1YmRJIhBfY3NyZl90b2tlbgY7AEZJIjEwRzN6NG1NTzZqamNCNC9FdWZWeXBCMHdoeThueXBnaTJDcTVzbmJqQlBZPQY7AEZJIgpmbGFzaAY7AEZJQzolQWN0aW9uRGlzcGF0Y2g6OkZsYXNoOjpGbGFzaEhhc2h7BjoKYWxlcnRJIh9JbnZhbGlkIGVtYWlsIG9yIHBhc3N3b3JkLgY7AFQGOgpAdXNlZG86CFNldAY6CkBoYXNoewY7B1Q%3D--3fbe1c2a77a433228e7b7f2d8c8f0aec3ad5fb5f; HttpOnly; domain=localhost; path=/"]

更新 2:正在吠叫错误的树。似乎我在测试用例中创建的用户没有被 rails 应用程序看到,因为我的数据库清理策略设置为事务性。在https://groups.google.com/forum/#!msg/ruby-capybara/JI6JrirL9gM/R6YiXj4gi_UJ查看更多信息

0 投票
3 回答
4172 浏览

ruby-on-rails-3 - Capybara-webkit 尝试打开 example.com

我正在使用 capybara、capybara-webkit、capybara-screenshot 和黄瓜。(Ruby 1.9.3,Rails 3.1.3)并且Capybara.javascript_driver = :webkit还设置了 env.rb

不幸的是,由于某种原因,运行黄瓜规范@javascript永远不会成功,错误截图只是捕获了 example.com。

我实际尝试打开的 URL 是使用我的一个模型的 rails 路由器结果生成的,例如visit products_url

那么我怎样才能避免它最终查询 example.com?

非常欢迎任何输入。


仅仅因为评论搞砸了-这就是我发现的解决方案:

0 投票
1 回答
575 浏览

jquery - Cucumber (rails 2) 没有加载 jQuery

我有一个带有标签的黄瓜场景@javascript,我正在用一些非常基本的内联 js 调用对其进行测试。我正在使用

Capybara.javascript_driver = :webkit

如果我在页面上执行此操作,在有问题的元素之后(它有 id="ajax_test_results",但现在不要担心 ajax)

然后它可以工作:如果我在测试中渲染页面,我可以看到 js 已经运行并更新了内容。但是,如果我尝试用 jquery 做同样的事情

然后它不起作用。我认为 jquery 没有被加载,但我不知道如何去调试它。

有什么想法吗?我看到这篇文章看起来很有希望https://stackoverflow.com/questions/8428405/cucumber-tests-jquery-does-not-loaded-in-webdriverconfig.assets.debug = true对我来说会导致错误 - 我认为它只是 rails 3。有没有等效的rails 2?或其他一些解决方案?

感谢任何建议 - 最大

0 投票
4 回答
3386 浏览

ruby-on-rails - Capybara-webkit 引发 Capybara::Driver::Webkit::WebkitInvalidResponseError

我在我的 rspec 中收到来自 webkit 驱动程序的以下消息:

几天前它起作用了。问题在于save_page方法。有什么问题?

0 投票
1 回答
2927 浏览

ruby-on-rails-3 - rails 3.1,安装capybara-webkit,构建gem原生扩展失败,怎么办?

我正在尝试安装 capybara-webkit (0.8.0),但出现以下错误,任何人都可以帮忙,我在 ubuntu 11.10 上。

使用原生扩展安装 capybara-webkit (0.8.0) Gem::Installer::ExtensionBuildError: ERROR: Failed to build gem native extension.

/home/sam/Documents/RoR/course_builder/CDPATH=/ruby/1.9.1/gems/capybara-webkit-0.8.0/src/webkit_server.pro -spec /usr/share/qt4/mkspecs/linux-g++ - o Makefile.webkit_server /usr/bin/make cd src/ && make -f Makefile.webkit_server make[1]: 进入目录 /home/sam/Documents/RoR/course_builder/CDPATH=/ruby/1.9.1/gems/capybara-webkit-0.8.0/src' g++ -c -pipe -O2 -Wall -W -D_REENTRANT -DQT_WEBKIT -DQT_NO_DEBUG -DQT_WEBKIT_LIB -DQT_GUI_LIB -DQT_NETWORK_LIB -DQT_CORE_LIB -DQT_SHARED -I/usr/share/qt4/mkspecs/linux-g++ -I. -I/usr/include/qt4/QtCore -I/usr/include/qt4/QtNetwork -I/usr/include/qt4/QtGui -I/usr/include/qt4/QtWebKit -I/usr/include/qt4 -I. -o RequestedUrl.o RequestedUrl.cpp make[1]: g++: Command not found make[1]: *** [RequestedUrl.o] Error 127 make[1]: Leaving directory /home/sam/Documents/RoR/course_builder/CDPATH=/ruby/1.9.1/gems/capybara -webkit-0.8.0/src' make: * [sub-src-webkit_server-pro-make_default-ordered] 错误 2

make cd src/ && make -f Makefile.webkit_server make[1]: 进入目录 /home/sam/Documents/RoR/course_builder/CDPATH=/ruby/1.9.1/gems/capybara-webkit-0.8.0/src' g++ -c -pipe -O2 -Wall -W -D_REENTRANT -DQT_WEBKIT -DQT_NO_DEBUG -DQT_WEBKIT_LIB -DQT_GUI_LIB -DQT_NETWORK_LIB -DQT_CORE_LIB -DQT_SHARED -I/usr/share/qt4/mkspecs/linux-g++ -I. -I/usr/include/qt4/QtCore -I/usr/include/qt4/QtNetwork -I/usr/include/qt4/QtGui -I/usr/include/qt4/QtWebKit -I/usr/include/qt4 -I. -o RequestedUrl.o RequestedUrl.cpp make[1]: g++: Command not found make[1]: *** [RequestedUrl.o] Error 127 make[1]: Leaving directory /home/sam/Documents/RoR/course_builder/CDPATH=/ruby/1.9.1/gems/capybara-webkit-0.8.0/src'制作:* [sub-src-webkit_server-pro-make_default-ordered] 错误 2

Gem 文件将继续安装在 /home/sam/Documents/RoR/course_builder/CDPATH=/ruby/1.9.1/gems/capybara-webkit-0.8.0 以供检查。结果记录到 /home/sam/Documents/RoR/course_builder/CDPATH=/ruby/1.9.1/gems/capybara-webkit-0.8.0/./gem_make.out 安装 capybara-webkit (0.8.0 ),并且 Bundler 无法继续。gem install capybara-webkit -v '0.8.0'在捆绑之前确保成功。

0 投票
1 回答
8049 浏览

ruby-on-rails-3 - rails 3.1,capybara-webkit,为什么 page.execute_script 失败?

安装 capybara-webkit 后,我​​尝试在规范中进行测试,这是我的测试:

然后,我收到此错误:

/home/sam/.rvm/gems/ruby-1.9.3-p0@global/gems/bundler-1.0.21/lib/bundler/runtime.rb:136:警告:不安全的世界可写目录/home/sam/Documents PATH 中的 /RoR,模式 040777 未定义|0|ReferenceError:找不到变量:$

Capybara::Driver::Webkit::WebkitInvalidResponseError: Javascript 执行失败

请问有什么想法吗?

0 投票
3 回答
3135 浏览

ruby-on-rails-3 - rails 3.1,capybara-webkit,如何在链接中执行 javascript?

我可以在与 capybara 的链接中执行 javascriptclick_link('next_page')吗?

链接如下所示:

我在 github 的 capybara 上读到,我可以通过单击其提交按钮来提交表单,如下所示:

但是,就我而言,我需要在链接中使用 javascript 提交表单,那么,如何测试内部包含 javascript 的链接?还click_link('next_page')不够吗?

编辑

设置:js=> true我的测试后如下所示:

在:js=> true之前,我可以正常访问页面,但是,我注意到在:js=> true之后页面无法访问,这是我访问页面后遇到的错误:

在 2012-01-23 06:29:26 +0200 (5010.7ms) 开始 GET "/student_courses" for 127.0.0.1 更新 "students" SET "last_sign_in_at" = '2012-01-23 04:29:26.274285', " current_sign_in_at" = '2012-01-23 04:29:26.274285', "last_sign_in_ip" = '127.0.0.1', "current_sign_in_ip" = '127.0.0.1', "sign_in_count" = 1, "updated_at" = '2012-01 -23 04:29:26.276279' WHERE "students"."id" = 1 SQLite3::BusyException: 数据库被锁定:UPDATE "students" SET "last_sign_in_at" = '2012-01-23 04:29:26.274285', " current_sign_in_at" = '2012-01-23 04:29:26.274285', "last_sign_in_ip" = '127.0.0.1', "current_sign_in_ip" = '127.0.0.1', "sign_in_count" = 1, "updated_at" = '2012-01-23 04:29:26.276279' WHERE "students"."id" = 1 HTML:------------ _ _ 内部服务器错误

内部服务器错误

无法回滚事务 - SQL 语句正在进行中
WEBrick/1.3.1 (Ruby/1.9.3/2011-10-30) 在 127.0.0.1:34718

那么,为什么 SQLite3::BusyException: 数据库现在被锁定了?!

0 投票
1 回答
1218 浏览

qt - 如何使用 capybara-webkit 或原生 QtWebKit 获取 DOM 元素点击处理程序?

我正在使用 capybara-webkit 并希望将事件处理程序绑定到 DOM 中元素的单击事件。即使使用本机 QtWebKit 调用的答案也可能足以让我弄清楚如何使用 Ruby 中的 webkit 驱动程序来做到这一点。我面临的挑战是事件处理程序是在 JavaScript 中以编程方式绑定的,而不是在 HTML 中,到目前为止,我对如何执行此操作的搜索似乎都以如何单击或以其他方式触发 QWebView 中的事件结束。我需要检查事件处理程序(即实际函数定义),特别是绑定到事件的匿名函数,而不生成事件本身。任何帮助表示赞赏。

0 投票
1 回答
1228 浏览

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

如何使用 capybara-webkit 在网页中获取单独的 ajax 请求的响应?

是否有任何特定方法可用于捕获每个请求的响应时间?

注意:我正在使用带有 rspec 的水豚。

例如:我在一个网页中有 3 个 Ajax 请求。我需要获得每个请求的单独响应时间和整个网页的响应时间。

谢谢,普里亚