我继承了一个项目,该项目的人使用 JQuery 和 JS 编写工具来测试我们网站的 UI。
除了需要生成浏览器外,我对它了解不多,我认为该工具使用 JS 与 iframe 交互以查看它是否是预期值。
我的工作是让这个工具在远程服务器上运行并将结果发布到 Jenkins。
远程测试服务器和登台服务器是linux。从我们的暂存服务器,我想编写一个脚本来生成浏览器并从该工具运行 cmds 来测试我们的 UI。我手动运行了以下命令:
ssh -X user@remote_test_server /usr/bin/firefox
但是,远程服务器说:
Error: no display specified
有没有一种方法可以生成浏览器以从一个 headless 服务器到另一个服务器进行自动化测试?预先感谢您的帮助。
最佳答案
当我尝试自动化 GUI 安装程序时,我遇到了类似的问题。虽然有很多不同的可能性可供选择(例如 Xnest、Xephyr?),但我最终使用了 vncserver,因为以这种方式调试 GUI session 相对容易。
您需要创建一个 vncpassword 文件,我认为:
mkdir -p $HOME/.vnc
chmod 0700 $HOME/.vnc
echo MyLittlePassword | vncpasswd -f > $HOME/.vnc/passwd
chmod 0600 $HOME/.vnc/passwd
然后启动服务器就非常简单了
vncserver
export DISPLAY=:1
/usr/bin/firefox&
...
现在可以使用您选择的 VNC 查看器连接到 VNC 服务器。但请注意,可能没有窗口管理器,具体取决于您环境的 X 启动脚本。
关闭服务器
vncserver -kill :1
关于javascript - 如何使用远程服务器上的浏览器进行自动化测试,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24915238/