当前位置: 首页 > 面试题库 >

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

沈飞舟
2023-03-14
问题内容

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

新增中

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

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


问题答案:

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

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



 类似资料:
  • 由于某种原因,当我在工作中运行测试时,浏览器被最大化,但是当我在家运行测试时,它只打开了大约50%宽度的浏览器窗口。这导致向下滚动时出现一些差异,等等。所以我希望它在每台运行测试的机器上打开一个同样大小的浏览器窗口。做这件事的最好方法是什么? (我已经为其他语言找到了一些答案,但我还不能将它们应用于JavaScript) 添加 不执行任何操作(显然,Google Chrome不支持<code>wi

  • 问题内容: 因此,关于使用Capybara和RSpec进行集成测试,我知道我可以这样做: 如何设置浏览器窗口大小的Rspec的(selenium)为特定的RSpec的测试,但有没有办法做到这一点在全球范围使每一个被媒体查询测试的影响没有定义呢? 问题答案: 您可以在下定义

  • 我试图创建一个跨浏览器的测试脚本。因此,无论我使用哪种(或),我都需要所有结果相同。我可以按以下方式设置浏览器窗口大小:

  • 问题内容: 我正在使用BrowserWindow来显示应用程序,并且我想强制在默认浏览器中打开外部链接。这是否有可能,或者我必须以不同的方式来对待? 问题答案: 在检查上一个答案的解决方案后,我想到了这一点。 根据电子规格,单击外部链接时会触发。 注意:要求您在锚标记上使用。

  • 我想在移动显示分辨率下运行我的所有Behat/Mink测试。最好的方法是在开发工具模式下使用Chrome运行所有测试,您可以选择“iPhone5/SE”等等,以模拟在该设备上运行。 这里有一个关于如何用Behat2调整浏览器窗口大小的问题。在behat/mink/drupal中有设置窗口分辨率的示例代码。 基于这些示例,我在我的FeatureContext中添加了以下代码: 然而,我得到了这个错误