当前位置:  开发笔记 > 编程语言 > 正文

是否可以在Selenium RC中隐藏浏览器?

如何解决《是否可以在SeleniumRC中隐藏浏览器?》经验,为你挑选了5个好方法。

我正在使用Selenium RC自动执行某些浏览器操作,但我希望浏览器不可见.这可能吗?怎么样?那么Selenium Grid呢?我也可以隐藏Selenium RC窗口吗?



1> Dave Hunt..:

有几个选择:

您可以使用Selenium Grid,以便在完全不同的计算机(或虚拟机)上打开浏览器,然后如果要查看浏览器,则可以通过VNC或远程桌面连接进行连接.另外,另一个选择是:如果在该远程服务器上运行Jenkins前台进程,它可以在桌面上执行您的测试项目.

你可以在XVFB的Linux上运行Selenium'headless'.我从来没有尝试过这样做,并怀疑这是值得的.http://www.alittlemadness.com/2008/03/05/running-selenium-headless/

您可以在Windows服务中包装Selenium RC.http://support.microsoft.com/kb/137890.除了对更高版本的Windows的权限限制可能会阻止Selenium访问桌面,就像Windows 2000曾经允许我们这样做.

另一个选择是使用像WebDriver HTMLUnitDriver这样的东西,它不会启动"真正的"浏览器.http://code.google.com/p/webdriver/ .还有一个PhantomJS选项以及你可以使用的"无头Chrome".

当然,也可以选择使用像SauceLabs这样的服务,在那里你可以让你的测试在云端运行.测试完成后,您可以观看他们正在运行的视频.



2> Corey Goldbe..:

在Linux上,您可以在无头(虚拟)显示中运行WebDriver来隐藏浏览器.这可以使用Xvfb(X虚拟帧缓冲区)来完成.

您可以使用xvfbwrapper以下命令直接从Python代码控制Xvfb :https: //github.com/cgoldberg/xvfbwrapper

运行headless的Python代码如下所示:

from selenium import webdriver
from xvfbwrapper import Xvfb

display = Xvfb()
display.start()

# now Firefox will run in a virtual display. 
# you will not see the browser.
driver = webdriver.Firefox()
driver.get('http://www.google.com')

print(driver.title)
driver.quit()

display.stop()

在Debian/Ubuntu上安装依赖项:

$ sudo apt-get install xvfb
$ pip install xvfbwrapper


在Ubuntu上像魔术一样工作.谢谢你.

3> Stéphane Bru..:

我很容易设法隐藏浏览器窗口.

只需安装PhantomJS即可.然后,更改此行:

driver = webdriver.Firefox()

至:

driver = webdriver.PhantomJS()

其余代码不需要更改,也不会打开任何浏览器.出于调试目的,请driver.save_screenshot('screen.png')在代码的不同步骤中使用.


值得一提的是,你必须放置PhantomJs.exe的路径才能使其工作.例如`driver = webdriver.PhantomJS(r"C:\\ phantomjs\phantomjs.exe")

4> Santi..:

作为Windows服务,Selenium RC为+1.

为了让测试完全隐藏,我认为如果你在Windows上,你没有太多的解决方案.

我要做的就是让你的局域网中的计算机一直在线,并运行selenium RC服务器.因此,您使用该计算机的IP而不是localhost来运行测试.例如:

browser = selenium("10.15.12.34",4444,"*firefox","http://saucelabs.com")

(考虑到这是运行服务器的计算机的ip).

进行该设置后,您可以在计算机中运行测试,浏览器和RC服务器窗口位于另一台计算机中,并在完成后返回到您的计算机.



5> pixelistik..:

在Linux上,您可以在虚拟显示器上运行测试浏览器.您将需要xvfb用于创建虚拟X服务器的包.在基于Debian的发行版上,只需运行即可

sudo apt-get install xvfb

有一个很好的工具ephemeral-x.sh可以方便地设置任何在虚拟显示器上运行的命令.下载并使其可执行:

wget https://raw.github.com/jordansissel/xdotool/master/t/ephemeral-x.sh
chmod +x ephemeral-x.sh

然后你可以简单地用它来启动Selenium服务器:

./ephemeral-x.sh java -jar selenium-standalone.jar

Selenium创建的所有浏览器窗口现在都将使用虚拟显示,并且对您来说是不可见的.

推荐阅读
农大军乐团_697
这个屌丝很懒,什么也没留下!
DevBox开发工具箱 | 专业的在线开发工具网站    京公网安备 11010802040832号  |  京ICP备19059560号-6
Copyright © 1998 - 2020 DevBox.CN. All Rights Reserved devBox.cn 开发工具箱 版权所有