Yat*_*oel 91 python selenium selenium-rc
我正在使用Selenium RC自动执行某些浏览器操作,但我希望浏览器不可见.这可能吗?怎么样?那么Selenium Grid呢?我也可以隐藏Selenium RC窗口吗?
Dav*_*unt 87
有几个选择:
您可以使用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这样的服务,在那里你可以让你的测试在云端运行.测试完成后,您可以观看他们正在运行的视频.
Cor*_*erg 58
在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()
Run Code Online (Sandbox Code Playgroud)
在Debian/Ubuntu上安装依赖项:
$ sudo apt-get install xvfb
$ pip install xvfbwrapper
Run Code Online (Sandbox Code Playgroud)
Sté*_*ert 22
我很容易设法隐藏浏览器窗口.
只需安装PhantomJS即可.然后,更改此行:
driver = webdriver.Firefox()
Run Code Online (Sandbox Code Playgroud)
至:
driver = webdriver.PhantomJS()
Run Code Online (Sandbox Code Playgroud)
其余代码不需要更改,也不会打开任何浏览器.出于调试目的,请driver.save_screenshot('screen.png')在代码的不同步骤中使用.
San*_*nti 13
作为Windows服务,Selenium RC为+1.
为了让测试完全隐藏,我认为如果你在Windows上,你没有太多的解决方案.
我要做的就是让你的局域网中的计算机一直在线,并运行selenium RC服务器.因此,您使用该计算机的IP而不是localhost来运行测试.例如:
browser = selenium("10.15.12.34",4444,"*firefox","http://saucelabs.com")
Run Code Online (Sandbox Code Playgroud)
(考虑到这是运行服务器的计算机的ip).
进行该设置后,您可以在计算机中运行测试,浏览器和RC服务器窗口位于另一台计算机中,并在完成后返回到您的计算机.
pix*_*tik 12
在Linux上,您可以在虚拟显示器上运行测试浏览器.您将需要xvfb用于创建虚拟X服务器的包.在基于Debian的发行版上,只需运行即可
sudo apt-get install xvfb
Run Code Online (Sandbox Code Playgroud)
有一个很好的工具ephemeral-x.sh可以方便地设置任何在虚拟显示器上运行的命令.下载并使其可执行:
wget https://raw.github.com/jordansissel/xdotool/master/t/ephemeral-x.sh
chmod +x ephemeral-x.sh
Run Code Online (Sandbox Code Playgroud)
然后你可以简单地用它来启动Selenium服务器:
./ephemeral-x.sh java -jar selenium-standalone.jar
Run Code Online (Sandbox Code Playgroud)
Selenium创建的所有浏览器窗口现在都将使用虚拟显示,并且对您来说是不可见的.
| 归档时间: |
|
| 查看次数: |
75624 次 |
| 最近记录: |