由于某些原因,当我在工作中运行测试时,浏览器会最大化,但是当我在家运行测试时,它只会打开大约50%宽度的浏览器窗口。这会导致向下滚动等方面的差异,因此理想情况下,我希望在运行测试的每台计算机上,以相同大小打开浏览器窗口。最好的方法是什么?(我找到了其他语言的一些答案,但无法将它们改编成JavaScript)
新增中
browser.executeScript('window.moveTo(0,0);'+ 'window.resizeTo(screen.width, screen.height);');
什么也不做(显然window.moveTo,window.resizeToChrome不支持)。
window.moveTo
window.resizeTo
您可以通过运行以下命令来设置默认浏览器大小:
var width = 800; var height = 600; browser.driver.manage().window().setSize(width, height);
要最大化浏览器窗口运行:
browser.driver.manage().window().maximize();
设置位置运行:
var x = 150; var y = 100; browser.driver.manage().window().setPosition(x, y);
如果出现错误:
WebDriverError: unknown error: operation is unsupported with remote debugging
使用远程调试时不支持该操作一些WebDriver命令(例如,调整浏览器窗口的大小)要求将Chrome扩展程序加载到浏览器中。ChromeDriver通常在每次启动新的Chrome会话时都会加载此“自动化扩展程序”。 但是,可以指示ChromeDriver连接到现有的Chrome会话,而不是启动新的会话。这是通过功能(aka ChromeOptions)对象中的“ debuggerAddress”完成的。由于自动化扩展仅在启动时加载,因此在通过远程调试处理现有会话时,ChromeDriver不支持某些命令。 如果看到错误“使用远程调试时不支持的操作”,请尝试重写测试,以便启动新的Chrome会话。这可以通过从Capabilities对象中删除“ debuggerAddress”来完成。
使用远程调试时不支持该操作一些WebDriver命令(例如,调整浏览器窗口的大小)要求将Chrome扩展程序加载到浏览器中。ChromeDriver通常在每次启动新的Chrome会话时都会加载此“自动化扩展程序”。
但是,可以指示ChromeDriver连接到现有的Chrome会话,而不是启动新的会话。这是通过功能(aka ChromeOptions)对象中的“ debuggerAddress”完成的。由于自动化扩展仅在启动时加载,因此在通过远程调试处理现有会话时,ChromeDriver不支持某些命令。
如果看到错误“使用远程调试时不支持的操作”,请尝试重写测试,以便启动新的Chrome会话。这可以通过从Capabilities对象中删除“ debuggerAddress”来完成。
来源:https://sites.google.com/a/chromium.org/chromedriver/help/operation-not- supported-when-using-remote- debugging