我在我的框架中使用Selenium2Library和RobotFramework。当我运行它时,它总是先打开一个浏览器,然后开始运行测试用例。虽然我可以通过提供关键字Minimize Browser Window
来最小化浏览器。但问题是当某个窗口弹出时它会自动最大化(前景)浏览器。
所以我正在寻找可以永久隐藏浏览器的东西,我的意思是浏览器将在后台运行(处理弹出窗口和所有GUI设计)并运行所有测试用例。
是否有任何库或模块。我听过phantomJs(http://phantomjs.org/),但我不知道这是不是一个好选择(我第一次听到这个名字)。
答案 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)
确定!终于我明白了。我将Xvfb
与PyVirtualDisplay
一起使用。
这是相同的代码 -
visible = 0表示浏览器将以无头模式运行(在后台)
from pyvirtualdisplay import Display
display = Display(visible=0, size=(1024, 700))
display.start()