标签: capybara-webkit

使用Rspec + Timecop + Capybara + Capybara Webkit的集成规范中的Capybara :: FrozenInTime错误

我在使用rspec,capybara,capybara-webkit和timecop看到一些集成规范中的错误.

Capybara::FrozenInTime:
   time appears to be frozen, Capybara does not work with libraries which freeze time, consider using time travelling instead
Run Code Online (Sandbox Code Playgroud)

我知道冻结时间的唯一宝石是Timecop,但我没有在失败的测试用例中使用它.

由于错误只是偶尔发生,我甚至无法知道它在改变之后是否消失.

rspec capybara ruby-on-rails-3 capybara-webkit timecop

10
推荐指数
2
解决办法
3199
查看次数

Capybara webkit无效响应错误,如何调试?

我正在尝试为网页编写请求规范.

此页面正在开发中,没有错误.

但是在capybara webkit中运行我在尝试提交表单后收到此错误:

 Failure/Error: Unable to find matching line from backtrace
 Capybara::Driver::Webkit::WebkitInvalidResponseError:
   Unable to load URL: https://127.0.0.1:33416/sign_in
Run Code Online (Sandbox Code Playgroud)

为了找出原因,我开始在页面上删除标记和JavaScript.到具有普通提交按钮的空表单的程度.我仍然得到上述错误!

该测试现在字面上:

it "should be able create a new foo", :js, :focus do
  visit new_foo_path
  find('#submit').click
end
Run Code Online (Sandbox Code Playgroud)

但是,如果我删除:js选项,此测试确实有效:

it "should be able create a new foo", :focus do
  visit new_foo_path
  find('#submit').click
end
Run Code Online (Sandbox Code Playgroud)

Javascript测试在此应用程序的其他页面中有效...

这对我没有意义.有没有人有任何建议如何从这里调试?

谢谢你的帮助

rspec ruby-on-rails capybara ruby-on-rails-3 capybara-webkit

9
推荐指数
2
解决办法
7326
查看次数

Capybara-Webkit关闭webkit_server

我正在使用Capybara-Webkit在网站上自动完成一些工作.这是在Resque任务的后台完成的.经过一些执行后,很多webkit_server进程都很安静,而Capybara没有关闭它们.那么我怎么能强迫Capybara在最后关闭呢?

session = Capybara::Session.new(:webkit)
session.visit URL
session.click_button(BUTTON)
....
Run Code Online (Sandbox Code Playgroud)

resque capybara ruby-on-rails-3 capybara-webkit

9
推荐指数
1
解决办法
370
查看次数

9
推荐指数
3
解决办法
1770
查看次数

无法使用OS X Sierra安装capybara-webkit

我一直在尝试使用bundler安装Capybara-Webkit gem并遵循这些说明:https://github.com/thoughtbot/capybara-webkit/wiki/Installing-Qt-and-compiling-capybara-webkit#macos-塞拉利昂-1012

我一直遇到没有找到Makefile的错误.我更新了Homebrew,宝石系统,并用cli工具更新了Xcode 8但无济于事.非常感谢任何帮助!

sudo gem install capybara-webkit PATH=/Users/caren/Qt5.5.1/5.5/clang_64/bin:$PATH gem install capybara-webkit
Password:
Building native extensions.  This could take a while...
ERROR:  Error installing capybara-webkit:
    ERROR: Failed to build gem native extension.

    /Users/caren/.rbenv/versions/2.2.3/bin/ruby -r ./siteconf20161108-5610-m00680.rb extconf.rb
*** extconf.rb failed ***
Could not create Makefile due to some reason, probably lack of necessary
libraries and/or headers.  Check the mkmf.log file for more details.  You may
need configuration options.

Provided configuration options:
    --with-opt-dir
    --without-opt-dir
    --with-opt-include
    --without-opt-include=${opt-dir}/include
    --with-opt-lib
    --without-opt-lib=${opt-dir}/lib
    --with-make-prog …
Run Code Online (Sandbox Code Playgroud)

ruby qt capybara-webkit macos-sierra

9
推荐指数
1
解决办法
4095
查看次数

Capybara Webkit运行时警告:Class都在两者中实现

我跑步的时候,我收到了一些来自webkit的警告rspec.我正在使用capybara-webkitqt安装brew.我当然希望解决这些问题.谢谢你的帮助.

警告如:"两者都实施"

objc[97388]: Class WebCoreMovieObserver is implemented in both /usr/local/Cellar/qt/4.8.0/lib/QtWebKit.framework/Versions/4/QtWebKit and /System/Library/Frameworks/WebKit.framework/Versions/A/Frameworks/WebCore.framework/Versions/A/WebCore. One of the two will be used. Which one is undefined.
objc[97388]: Class WebCoreSharedBufferData is implemented in both /usr/local/Cellar/qt/4.8.0/lib/QtWebKit.framework/Versions/4/QtWebKit and /System/Library/Frameworks/WebKit.framework/Versions/A/Frameworks/WebCore.framework/Versions/A/WebCore. One of the two will be used. Which one is undefined.
objc[97388]: Class WebVideoFullscreenWindow is implemented in both /usr/local/Cellar/qt/4.8.0/lib/QtWebKit.framework/Versions/4/QtWebKit and /System/Library/Frameworks/WebKit.framework/Versions/A/WebKit. One of the two will be used. Which one is undefined.
objc[97388]: Class WebVideoFullscreenController is implemented in both …
Run Code Online (Sandbox Code Playgroud)

webkit rspec ruby-on-rails capybara-webkit

8
推荐指数
1
解决办法
1136
查看次数

Capybara需要睡觉吗?

根据网页更新,显然,sleepwait_until使用最新版本的Capybara无效.

但是,如果我添加sleep(1)对测试的调用,我有一组只能在快速机器上运行的测试.也就是说,测试看起来像:

describe "dosimeters page" do
  before do
    click_link("Dosimeter Read History", :match=>:first)
  end
...
Run Code Online (Sandbox Code Playgroud)

describe "dosimeters page" do
  before do
    unix_wait
    click_link("Dosimeter Read History", :match=>:first)
  end
...
Run Code Online (Sandbox Code Playgroud)

在那里我定义unix_wait为:

def unix_wait
  case RbConfig::CONFIG['host_os']
  when /darwin/
  when /linux-gnu/
    sleep(1)
  end
end
Run Code Online (Sandbox Code Playgroud)

问题是,我有一台旧的Ubuntu 12.04四核笔记本电脑在Jenkins上运行这些测试,一切都运行良好,没有unix_wait电话.测试在运行Ubuntu 13.10和macbook pro笔记本电脑的六核桌面上随机失败,但是如果我添加了unix_wait调用,那么测试就会通过.

测试失败本身表示加载失败(即某些运行中缺少css元素,但其他运行中没有),并且当手动加载站点时,被测试的内容实际上有效.

那么这里适当的行动是什么?显然,sleep测试期间不允许,也不允许wait_until.然而,睡眠是有效的,但它对我来说似乎非常粗糙.我应该看看#synchronized吗?从我从那些博客文章中收集的内容来看,当我打电话时,它已经被调用click_link,并且测试仍然失败.

这里接受的协议是什么?

我应该补充一下,因为我认为这很重要:这些都是javascript测试.我正在使用基于qt4(而不是qt5)的capybara-webkit.我正在考虑切换到poltergeist或其他一些javascript驱动程序作为调试步骤.

javascript sleep ruby-on-rails capybara capybara-webkit

8
推荐指数
1
解决办法
2939
查看次数

构建capybara-webkit时出错

我想在ubuntu 12.04上安装capybara-webkit,但是我收到了这个错误:

$ gem install capybara-webkit -v '1.0.0'
Building native extensions.  This could take a while...
ERROR:  Error installing capybara-webkit:
    ERROR: Failed to build gem native extension.

    /home/samir/.rvm/rubies/ruby-2.1.0/bin/ruby extconf.rb
Command 'qmake -spec linux-g++' not available

Makefile not found

Gem files will remain installed in /home/samir/.rvm/gems/ruby-2.1.0@dcaclab/gems/capybara-webkit-1.0.0 for inspection.
Results logged to /home/samir/.rvm/gems/ruby-2.1.0@dcaclab/extensions/x86-linux/2.1.0/capybara-webkit-1.0.0/gem_make.out
Run Code Online (Sandbox Code Playgroud)

任何的想法?

capybara-webkit ubuntu-12.04

8
推荐指数
1
解决办法
6894
查看次数

黄瓜测试突然停止

我有这样的功能:

Feature: Searching chats
In order to find chats
As an user
I want to find different chats by username or ad name

Background:
  Given System prepares for chats
  And There is a few machines with names:
    | machine_1 |
    | machine_2 |
    | machine_3 |
  And There is a few services with names:
    | service_1 |
    | service_2 |
    | service_3 |
  And I have chats with ads owners

Scenario: Searching chats
  When I am logged in as a …
Run Code Online (Sandbox Code Playgroud)

ruby-on-rails cucumber capybara capybara-webkit ruby-on-rails-4

8
推荐指数
1
解决办法
823
查看次数

如何在Rails 5.1中运行无头浏览器系统测试?

Rails 5.1系统测试文档有点稀疏.我无法进行执行javascript运行的无头测试.我认为一种方法需要安装和运行xvf.但这比我在其他版本的rails中运行capybara时使用的手动设置更多.

实现这一目标最直接的方法是什么?

ruby-on-rails system-testing capybara capybara-webkit

8
推荐指数
1
解决办法
1482
查看次数