一尘不染

如何在Protractor / WebdriverJS中设置默认浏览器窗口大小

angularjs

由于某些原因,当我在工作中运行测试时,浏览器会最大化,但是当我在家运行测试时,它只会打开大约50%宽度的浏览器窗口。这会导致向下滚动等方面的差异,因此理想情况下,我希望在运行测试的每台计算机上,以相同大小打开浏览器窗口。最好的方法是什么?(我找到了其他语言的一些答案,但无法将它们改编成JavaScript)

新增中

browser.executeScript('window.moveTo(0,0);'+
    'window.resizeTo(screen.width, screen.height);');

什么也不做(显然window.moveTowindow.resizeToChrome不支持)。


阅读 288

收藏
2020-07-04

共1个答案

一尘不染

您可以通过运行以下命令来设置默认浏览器大小:

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”来完成。

来源:https//sites.google.com/a/chromium.org/chromedriver/help/operation-not-
supported-when-using-remote-
debugging

2020-07-04