【问题标题】:How do I resize an open window in WebdriverIO?如何在 WebdriverIO 中调整打开窗口的大小?
【发布时间】:2017-12-05 16:09:00
【问题描述】:

我正在使用 WebdriverIO 进行自动化,并且需要调整打开窗口的大小以检查各种 UI 元素的显示与最大化显示相比。

我已分别尝试了以下各项,但均未成功:

browser.setViewportSize({width:1200,height:662})
browser.windowHandleSize(1200, 662);

我还检查以确保窗口已正确调整大小:

expect(browser.getViewportSize('width')).to.be.lessThan(1300);
expect(browser.getViewportSize('width')).to.be.greaterThan(1000);

不幸的是,视觉上什么都没有发生,并且预期失败,正如预期的那样。我不确定我是否不了解如何正确使用 setViewportSize 或 windowHandleSize(也许它们仅用于调整新窗口而不是现有窗口的大小?),或者 WebdriverIO 中是否存在此功能。

【问题讨论】:

  • 如果它对某人有帮助,这对我不起作用的原因是因为我们在配置中使用 Chrome mobileEmulation 选项来设置固定大小,而这些 API 在该模式下不起作用:(

标签: browser resize window webdriver-io


【解决方案1】:

我在设置挂钩中的 WebdriverIO 配置中使用了以下命令,但也只是在已经运行的测试中间对其进行了测试,以将其调整为更小,然后再变大。希望对您有所帮助!

browser.windowHandleSize({width:700, height:500});
browser.windowHandleSize({width:1280, height:870});

http://webdriver.io/api/protocol/windowHandleSize.html

请注意,由于有多次更新,请确保您的浏览器驱动程序、WebdriverIO 和 Selenium Server 是最新版本!

【讨论】:

    【解决方案2】:

    如果其他人来到这里并感到困惑,API调用是setWindowSize,参数为(width, height)

    browser.setWindowSize( 700, 500 );
    

    见:https://webdriver.io/docs/api/browser/setWindowSize.html

    请注意,上面的命令会调整窗口的大小,但不会调整内容的大小。默认 WebDriver 界面中的 setWindowRect 命令设置绝对内容大小:

    browser.setWindowRect( 0, 0, 700, 500 );
    

    见:https://webdriver.io/docs/api/webdriver.html#setwindowrect

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2023-02-10
      • 2015-02-23
      • 2014-01-01
      • 1970-01-01
      • 1970-01-01
      • 2023-03-24
      • 1970-01-01
      相关资源
      最近更新 更多