我的问题是如何从SeleniumServer浏览器实例中获取隔离的视频流.让我解释.
我在Ubuntu Server机器上运行Selenium Server集线器,在同一服务器上运行Selenium Server节点,因此我使用xvfb使用'无头'Selenium模式.我像这样运行节点:DISPLAY=:99 java -jar selenium-server-standalone.jar -role node -hub http://localhost:4444/grid/register
然后我想获得在那里运行的测试的视频流,所以我安装了连接到xvfb虚拟显示器的x11server,之后我可以使用VNC连接那些远程服务器,我看到我的测试处理.问题是节点内的所有浏览器实例都在同一虚拟显示器上呈现(#99),当我需要同时运行多个测试时,我看到许多浏览器实例逐个重叠.但我想记录错误测试视频流,所以我不能这样做.所以我需要有可能连接到每个浏览器虚拟显示器.
我想我可以通过调整xvfb服务器以某种方式强制它为每个客户端(在我的情况下是浏览器实例)创建隔离的虚拟显示或屏幕(xvfb有多屏支持,不是吗?)来解决这个问题.但我试图这样做,但我没有得到结果.如果有必要解决这个问题,我还可以使用另一个虚拟显示器(不是xvfb).
请帮助我从每个浏览器实例中获取孤立的视频流:)非常感谢并对我的英语感到抱歉.
我有一个在生产环境中运行的多线程应用程序,该应用程序在FUTEX_WAIT_PRIVATE所有时间处于随机状态挂起,并且所有线程的状态都挂起,并且gdb显示所有线程都在尝试进行锁调用PyThread_acquire_lock。这确实是具有成千上万行代码的大规模应用程序,我无法猜出该错误发生在哪一行。我可以以某种方式调试此问题吗?我可以修补threading.Lock调用并记录到文件中,所有锁都已在应用程序中获取/释放,然后在再次发生错误的情况下读取此文件,但是我认为还有其他python函数正在调用PyThread_acquire_lock。那么我该如何调试问题?也许可以从Python“订阅”该C函数调用并记录所有这些调用?
我有一个使用 virtualenv 运行的多线程 python 应用程序,但我无法使用 gdb 正确附加到它。我想调试死锁,我认为这是我能做到的唯一方法,因为应用程序太大,我无法在开发环境中重现该问题。我已经安装python2.7-dbg,然后尝试使用gdb /home/PATHTOVENV/venv/bin/python 30183. 这是输出:
GNU gdb (Ubuntu 7.7.1-0ubuntu5~14.04.2) 7.7.1
Copyright (C) 2014 Free Software Foundation, Inc.
License GPLv3+: GNU GPL version 3 or later <http://gnu.org/licenses/gpl.html>
This is free software: you are free to change and redistribute it.
There is NO WARRANTY, to the extent permitted by law. Type "show copying"
and "show warranty" for details.
This GDB was configured as "x86_64-linux-gnu".
Type "show configuration" for configuration details.
For bug reporting …Run Code Online (Sandbox Code Playgroud)