问题标签 [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.
ruby-on-rails - 如何使用 capybara DSL 测试 Select2 元素?
我在通过 ajax 加载结果的页面上有一个Select2元素。想用 capybara/rspec 测试这个(使用 poltergeist 驱动程序),但由于 Select2 元素实际上是作为一个隐藏字段开始的,然后填充<ul>
一次结果被处理,所有的 normalselect
或fill_in
helperschoose
都不会工作。
我现在拥有的是
上面的第 4 行,显然 capybara 可以找到元素,但值没有改变,并且 Select2 永远不会进行 ajax 调用。(不能fill_in
在那里正常使用,因为搜索字段元素没有标签、id 或名称属性)
ruby-on-rails - Bamboo + Cucumber + Webkit 驱动
我在运行使用 capybara-webkit 驱动程序的 cuke 测试用例时遇到了很多麻烦。因为这是一个无头服务器,我正在尝试运行 xvfb-run 来运行测试,但一直遇到障碍。
如果我尝试跑步
然后我从我的服务器收到错误,即 rake 不存在。(尽管确实如此)
如果我尝试通过 bundle exec 运行它
然后我收到一条错误消息,告诉我捆绑包不存在!
这两个命令都可以从 ssh 进入服务器,但只有当来自 Bamboo 时它们才不会。我已经尝试了 Rake 任务,并且只是编写了一个脚本来运行 bundle exec,但是 nada。
我想知道其他人是否有这个设置,如果他们可以指导我如何在竹子中设置它......这是一个非常典型的 Rails 项目,这是我启动 CI 之前的最后阶段和运行。
谢谢!
ruby-on-rails-3 - 使用 capybara-webkit 运行 Cucumber 功能时的缓存问题
我编写了一个功能来测试某些内容是否出现在页面上。内容通过 AJAX 动态加载,场景用@javascript
.
奇怪的部分是:如果我设置config.cache_classes = false
,config/environments/test.rb
一切正常,步骤通过。
但是,我更喜欢默认config.cache_classes
设置为true
. 但是使用该设置,该步骤将失败。我已经能够将失败的原因缩小到正在更新其内容的控件的 AJAX 调用。
我已经编辑了我的控制器,即使使用了诸如 an 之类的严厉措施,exit 1
以绝对确保所发生的情况是正在使用旧的缓存版本的控制器。
1)我可以手动刷新和重新生成类缓存吗?我将如何明确告诉 Cucumber 使用我的课程的当前版本,而不必设置config.cache_classes
为 false?
2) Rails 默认在哪里缓存类?我在网上找不到任何有用的答案。
我的环境:
- 导轨 3.2.8
- 黄瓜 1.2.1
- 黄瓜导轨 1.3.0
- 水豚 1.1.2
- capybara-webkit 0.12.1(
javascript_driver
是:webkit
,但错误仍然存在:selenium
)
ruby-on-rails - 零星 Capybara::Driver::Webkit::WebkitInvalidResponseError: 无法加载 URL:
我有一个偶尔会抛出Capybara::Driver::Webkit::WebkitInvalidResponseError:Unable to load URL:
错误的测试。
有时测试通过就好了,我会重新运行测试,它会失败。
我试过暂停我的 rspec 运行,打开一个测试服务器,并且可以手动完成测试就好了。
我正在使用 webkit 驱动程序、mac os x mountain lion、rspec2、rails 3.2.1 和 ruby 1.9.2。
rubygems - 为 capybara-webkit 构建本机扩展时出错
我正在尝试在 Windows 上安装适用于 capybara 的 webkit 驱动程序,但出现以下错误:
这是日志文件中的内容:
我一直在尝试一段时间来找出问题所在。日志文件不是很有帮助,我发现的类似问题的解决方案要么特定于 Unix,要么对我不起作用。我很感激你能给我的任何帮助。
注意:此问题已交叉发布到capybara-webkit Google 组。
更新:我尝试在 capybara-webkit Google Group上的 Joe Ferris 的建议下手动构建 gem ,并设法获得了有关导致构建失败的原因的更多详细信息。这是我bundle exec rake build
在 capybara-webkit 的目录中执行时收到的消息:
其他可能相关的信息:
我的路径:
ruby - 在 ubuntu 中无法连接到 X 服务器错误 capybara-webkit
需要帮忙。使用 ruby(不是 rails)和 capybara-webkit gem 编写脚本。在 EC2 和 Linode 上都进行了检查,并且此错误仍然存在。
webkit_server: cannot connect to X server
/usr/lib/ruby/gems/1.8/gems/capybara-webkit-0.12.1/lib/capybara/driver/webkit/connection.rb:103:in
attempt_connect'
/usr/lib/ruby/gems/1.8/gems/capybara-webkit-0.12.1/lib/capybara/driver/webkit/connection.rb:96:in
connect'
/usr/lib/ruby/1.8/timeout.rb:62:in timeout'
/usr/lib/ruby/gems/1.8/gems/capybara-webkit-0.12.1/lib/capybara/driver/webkit/connection.rb:94:in
connect'
/usr/lib/ruby/gems/1.8/gems/capybara-webkit-0.12.1/lib/capybara/driver/webkit/connection.rb:17:in initialize'
/usr/lib/ruby/gems/1.8/gems/capybara-webkit-0.12.1/lib/capybara/driver/webkit.rb:26:in
new'
/usr/lib/ruby/gems/1.8/gems/capybara-webkit-0.12.1/lib/capybara/driver/webkit.rb:26:in initialize'
/usr/lib/ruby/gems/1.8/gems/capybara-webkit-0.12.1/lib/capybara/webkit.rb:5:in
new'
/usr/lib/ruby/gems/1.8/gems/capybara-webkit-0.12.1/lib/capybara/webkit.rb:5
/usr/lib/ruby/gems/1.8/gems/capybara-1.1.2/lib/capybara/session.rb:61:in call'
/usr/lib/ruby/gems/1.8/gems/capybara-1.1.2/lib/capybara/session.rb:61:in
driver'
/usr/lib/ruby/gems/1.8/gems/capybara-1.1.2/lib/capybara/session.rb:157:in visit'
/usr/lib/ruby/gems/1.8/gems/capybara-1.1.2/lib/capybara/dsl.rb:161:in
visit'
谢谢
capybara - Capybara -> 如何使用本地方法的结果
usingpage.find( 'some-element' ).native
一致地返回一个字符串,比如'4'。文档声明它返回一些允许我访问本机方法的对象。有人遇到过这个吗?
Capybara 版本是1.1.2
Capybara-Webkit 版本是0.12.1
ruby - 使用 ruby 和 capybara 获取图像文件
它是capybara通过HTTPS协议访问的页面上的图片标签:
有什么方法可以使用带有任何类型的驱动程序的水豚从页面获取图像文件?
我不能使用像 File.read('path') 这样的东西,因为图像也只能通过 HTTPS 访问。我最近的研究让我找到了这样的解决方案:
- 访问页面
- 将页面保存为 png(webkit 驱动程序有这种有用的能力)
- 裁剪图像
但我确实相信存在漂亮的解决方案。
编辑1:
我已经尝试过 padde 的解决方案,但这里是响应正文:
编辑2:
ruby-on-rails-3 - Capybara-Webkit 关闭 webkit_server
我正在使用 Capybara-Webkit 来自动化网站上的一些工作。这是在 Resque 任务的后台完成的。在一些执行之后,有很多 webkit_server 进程没有被 Capybara 关闭。那么我怎样才能强迫Capybara在最后关闭它呢?
ruby - 实例化水豚浏览器并设置代理
按照本文档,我正在尝试实例化水豚浏览器并设置代理
不幸的是,文档已经过时,我找不到新的正确方法。我得到: