Tag: capybara qtwebkit capybara

从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 […]