在CI服务器上调试Firefox
我在Travis CI上构建我的项目。我以以下方式运行测试:在CI服务器上调试Firefox,firefox,travis-ci,Firefox,Travis Ci,我在Travis CI上构建我的项目。我以以下方式运行测试: 使用index.html参数运行Firefox,该参数加载尝试重复连接到websocket服务器的脚本 运行向Firefox发送命令的简单websocket服务器 Firefox中的脚本读取这些命令(它们可能包含一些要测试的JavaScript代码),执行JavaScript代码 当我在本地运行东西时,这就起作用了。这在几周前也曾在特拉维斯身上起过作用。然而,工作了多年的东西却意外地坏了。Firefox没有报告任何错误,但node.j
index.html
参数运行Firefox,该参数加载尝试重复连接到websocket服务器的脚本console.log
,但我无法从Travis检索这些日志。有没有办法从运行在CI服务器上的Firefox获取一些信息
注意:我运行Firefox53。事情坏了之后,我尝试升级到最新版本。此外,在运行Firefox之前,我还经常运行以下命令:
export DISPLAY=:99.0
sh -e /etc/init.d/xvfb start
sleep 10
我试着去掉这些线,更多地使用无头,但是这不起作用
在Firefox中运行的脚本广泛使用console.log
,但我无法从Travis检索这些日志。有没有办法从运行在CI服务器上的Firefox获取一些信息
Firefox 65+支持一个新的devtools.console.stdout.content
about:config首选项,您可以将其设置为true
,使控制台输出转储到stdout(我相信它会出现在Travis中)
对于早期版本,似乎没有一个好的解决方案:,和
您似乎以文件的形式运行index.html
:///URL,-我建议您花些时间设置一个本地https://服务器,以节省时间调试浏览器为非https内容添加的不断增加的“安全”限制
如果上述方法没有帮助,可以尝试在一个单独的回购协议中用最小的测试用例来复制它;如果问题仍然存在,您可以在另一个问题中共享该回购。您可以使用
xvfb
运行vnc
,并使用vncviewer
连接到它。这里有更多详细信息:“关于:配置首选项”-如何设置?我没有访问Firefox GUI的权限,它是CI服务器。检查Ok,我给了你奖励,但仍然无法使事情正常进行。您提供的首选项文档链接没有帮助。我假设我知道firefox安装的位置或配置文件。然而,看起来似乎没有办法从命令行创建配置文件,比如Chrome,它在命令行中获取配置文件目录的路径,并在给定路径下自动创建配置文件;mkdir./my profile&&echo“user_pref('a.b.c',123);”>。/my profile/user.js&&/Applications/Firefox.app/Contents/MacOS/Firefox-bin-profilepwd/my profile-no remote
(显然,您必须知道Firefox二进制文件的位置或将其放在路径中才能运行它。)//上面的命令应该是-profile`pwd`/my profile
,即profile目录的绝对路径。