Tag: webkit

Capybara webkit不会从有角度传递params

我正在尝试将selenium测试套件移植到capybara-webkit。 Rails应用程序在rails视图中嵌入了一个角度应用程序,并且与webkit行为不符合预期。 像这样的测试: 需要’spec_helper’ feature ‘Editing company profiles’ do before do @user = create(:employee) @company = Company.find(@user.employer.id) sign_in_as! @user end scenario ‘successfully’, js: true do click_link ‘Dashboard’ click_link @company.name click_button ‘Edit’ fill_in ‘company_name’, with: ‘new name’ click_button ‘Save’ expect(page).to have_content “Your company profile has been updated!” end end 会在selenium中没有问题,但是使用webkit我会收到错误 Failure/Error: Unable to find matching line […]

在capybara-webkitfunction规范期间,ActionCable无法连接

我使用Capybara-webkit在function规范中使用actioncable时遇到问题。 Actioncable在我的开发服务器上工作得很好,但是当测试javascript似乎无法连接时。 这是我的function规范期间运行的javascript控制台的输出 WebSocket connection to ‘ws://127.0.0.1:32789/cable’ failed: Unexpected response code: 200 这是我当时test.log的输出 GET “/cable” for 127.0.0.1 at 2017-01-26 13:33:23 +0000 GET “/cable/” for 127.0.0.1 at 2017-01-26 13:33:23 +0000 Successfully upgraded to WebSocket (REQUEST_METHOD: GET, HTTP_CONNECTION: Upgrade, HTTP_UPGRADE: websocket) 它奇怪,因为它似乎根据日志连接正常,但javascript抛出错误并停止执行…另外200如何错误代码? 200状态代码总是意味着OK ? 提前致谢

通过Capybara(v2)与Bootstrap模态进行交互时遇到问题

在Rails应用程序中,我正在尝试使用Capybara和capybara capybara-webkit驱动程序在Rspec中使用jQuery TokenInput字段测试Bootstrap模式 。 有问题的部分如下: click_link ‘Create Team Modal’ sleep 1 within(‘div#modal_popup’) do fill_in ‘input#token-input-team_name’, with: ‘Fancy team name’ sleep 1 fill_in ‘input#token-input-team_name’, with: ‘\t’ sleep 1 click_button ‘Create Team’ end page.should have_content(‘Fancy team name’) 单击按钮以获取模态 使用团队名称填写TokenInput 模拟Tab键 – 按下以选中它 创建团队 validation页面上显示的名称 这只适用于所有那些sleep 1的人; 否则have_content在have_content崩溃,最终导致服务器错误,因为团队名称永远无法正确选择。 但是, 没有 TokenInput字段的其他Bootstrap模式在加载之前不需要sleep 1 。 尽管如此,有没有办法摆脱睡眠并让这种情况正常进行? wait_until 2拿出了wait_until (有充分的理由),因为它会在默认的等待时间内等待测试…但是这似乎没有反映在我的上述测试中; 就好像Capybara在进入/退出这个模态时没有参与等待期。 […]

如何用webkit或selenium驱动程序填充capybara的ckeditor

假设我使用的是像capybara-webkit或selenium这样的javascript驱动程序,我怎样才能填充Capybara中的CKEditor区域?

node-webkit相当于sinatra?

我一直在考虑学习如何基于网络技术制作简单的Mac OS X应用程序,我遇到了node-webkit这看起来很引人注目。 但是,我最近投入了学习Sinatra / Ruby的基础知识,我想继续学习这门课程。 对于使用Sinatra的开发人员,是否存在“node-webkit等效”? 或者,是否有推荐的方法使用Sinatra框架(或Ruby)来构建基本上是Web包装器的OS X应用程序?

从Ruby中的Capybara运行时,webkit_server会定期挂起

我遇到的问题是,当访问URL时,带有Capybara和capybara-webkit的webkit_server实例连接到本地Xvfb屏幕时无法运行。 这似乎发生在反复访问不同的URL和执行查找程序几分钟后。 (我使用capybara在vanilla Ruby中进行屏幕抓取应用程序,而不是用于测试。) 我已经确认,当它挂起时,仍然可以访问该站点(例如,通过命令行上的curl或wget)。 我还尝试包装调用Timeout块中的访问和后续查找程序的Ruby代码,以便在等待60秒后访问新URL,但任何visit()尝试在第一次发生后都会失败。 解决问题的唯一方法是同时杀死调用Capybara / capybara-webkit和webkit_server进程并重新启动的Ruby进程。 当我对webkit_server进程进行操作时,我会反复看到这样的输出: clock_gettime(CLOCK_MONOTONIC, {5821, 680279627}) = 0 gettimeofday({1330890176, 712033}, {0, 33052112}) = 0 gettimeofday({1330890176, 712087}, {0, 140736435864256}) = 0 gettimeofday({1330890176, 712137}, {0, 33108640}) = 0 clock_gettime(CLOCK_MONOTONIC, {5821, 680486036}) = 0 clock_gettime(CLOCK_MONOTONIC, {5821, 680530091}) = 0 read(7, 0x1fac1b4, 4096) = -1 EAGAIN (Resource temporarily unavailable) 如果我使用调用它的Ruby进程,它会挂在read()上: Process 3331 […]

我可以在我的rvm gemset中删除nokogiri和capybara-webkit的一些文件夹吗?

我正在使用磁盘分析器,我在.rvm文件夹中注意到两个gem, nokogiri和nokogiri capybara-webkit ,比通常更大: 检查他们内部我发现nokogiri有一个临时文件夹和capybara-webkit一个源文件夹。 我的问题是:删除这些文件夹是否安全?(是的,我是一个贪婪的磁盘空间保护程序)以及为什么nokogiri正在创建该临时文件夹? 因为我有另一个gemset(具有较低版本的ruby和nokogiri)并且没有创建该文件夹。