han*_*899 8 headless end-to-end selenium-webdriver protractor digital-ocean
我正在尝试在数字海洋上运行Ubuntu服务器12.04.3的Droplet上建立端到端测试环境.
我最终想要实现的是我的jenkins(安装在一个Droplet上)能够运行我的端到端测试.现在,服务器是无头的,端到端测试需要通过浏览器运行(我使用量子器与带有chromedriver的selenium独立服务器).
我的问题是:如何在该机器上生成浏览器?我已经安装了xorg,如果我startx在服务器上运行,请注销ssh -X,我可以手动运行端到端测试(在本地计算机上弹出一个浏览器).但是我可以让它在没有它的情况下工作ssh -X,因为jenkins在同一个小滴上进行测试.好吧,我没有得到一个浏览器产卵.
注意:我知道我可能会遗漏一些非常简单的东西,因为我不完全理解配置和xorg.
非常感谢任何提示或完整的答案,这给了我一头白发.
编辑:经过一番挖掘后我觉得我的xorg有点不对劲,我猜X的目的是能够在远程机器(即我的本地机器)上生成一个窗口.而我所追求的更像虚拟帧缓冲区,如Xvfb ...
有PhantomJS,但Protractor是越野车而且是一个死胡同.
您仍然可以通过docker-selenium使用Chrome和Firefox无头,或者,如果您不喜欢Docker,您可以使用ubuntu-headless示例自行完成.这两种解决方案都使用Xvfb提供Chrome和Firefox,即使没有真正的DISPLAY.
更新2似乎可以在OSX中运行Xvfb:http://xquartz.macosforge.org/landing/
更新1 Mac OSX selenium无头解决方案:
所以可以在Mac上测试硒无头.真的不是无头,而是作为另一个用户,所以它不会干扰您当前的用户显示.为此,您需要kickstart:http://support.apple.com/en-us/HT201710 开始使用kickstart实用程序
sudo /System/Library/CoreServices/RemoteManagement/ARDAgent.app/Contents/Resources/kickstart -restart -agent
Run Code Online (Sandbox Code Playgroud)
激活远程桌面共享,为所有用户启用访问权限并重新启动ARD代理:
sudo /System/Library/CoreServices/RemoteManagement/ARDAgent.app/Contents/Resources/kickstart -activate -configure -access -on -restart -agent -privs -all
Run Code Online (Sandbox Code Playgroud)
Apple Remote Desktop 3.2或更高版本
允许所有用户访问并为所有用户提供完全访问权限
sudo /System/Library/CoreServices/RemoteManagement/ARDAgent.app/Contents/Resources/kickstart -configure -allowAccessFor -allUsers -privs -all
Run Code Online (Sandbox Code Playgroud)
Kickstart帮助命令
sudo /System/Library/CoreServices/RemoteManagement/ARDAgent.app/Contents/Resources/kickstart -help
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
3926 次 |
| 最近记录: |