Python Selemium2 Robotframework测试,无需打开浏览器实例

时间:2014-01-10 08:55:06

标签: python selenium selenium-webdriver robotframework

我在我的框架中使用Selenium2Library和RobotFramework。当我运行它时,它总是先打开一个浏览器,然后开始运行测试用例。虽然我可以通过提供关键字Minimize Browser Window来最小化浏览器。但问题是当某个窗口弹出时它会自动最大化(前景)浏览器。

所以我正在寻找可以永久隐藏浏览器的东西,我的意思是浏览器将在后台运行(处理弹出窗口和所有GUI设计)并运行所有测试用例。

是否有任何库或模块。我听过phantomJs(http://phantomjs.org/),但我不知道这是不是一个好选择(我第一次听到这个名字)。

3 个答案:

答案 0 :(得分:0)

如果您在本地使用RemoteWebDriver和selenium服务器,则无需打开浏览器即可在后台运行测试。

答案 1 :(得分:0)

将PhantomJs与Selenium Webdriver一起使用。

service_args = ['--load-images=false', '--ignore-ssl-errors=true', '--proxy-type=none']
phantomBinary = "\path\to\phantomjs.exe'
dcap = dict(webdriver.DesiredCapabilities.PHANTOMJS)
dcap["phantomjs.page.settings.userAgent"] = ("Mozilla/5.0 (Windows NT 6.2) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/31.0.1650.63 Safari/537.36")
driver = webdriver.PhantomJS(executable_path=phantomBinary, desired_capabilities=dcap,                     service_args=service_args)

答案 2 :(得分:0)

确定!终于我明白了。我将XvfbPyVirtualDisplay一起使用。 这是相同的代码 - visible = 0表示浏览器将以无头模式运行(在后台)

from pyvirtualdisplay import Display
display = Display(visible=0, size=(1024, 700))
display.start()