javascript - 如何使用远程服务器上的浏览器进行自动化测试

标签 javascript jquery linux iframe jenkins

我继承了一个项目,该项目的人使用 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/

相关文章:

javascript - jquery 复选框,如何获取所有选中的复选框并将它们添加到数组?

php - 我必须为每张图片创建一个缩略图文件吗?

linux - wget - "No route to host"运行armbian 的设备和android 热点之间的连接

linux - 使用 git 维护特定于分支的配置文件

javascript - 如何将 javascript 变量值传递给 jsp 值

javascript - 如何仅运行根据屏幕尺寸生成 "back to top"按钮的函数?

javascript - 如何获取表格的特定div?

javascript - 如果更改特定文本值,则重新加载页面

javascript - 将 '$(this)' jquery 转为 javascript 'this'

linux - 如何从 shell 脚本内部更新 shell 脚本