无法调整在Chrome headless上运行TestCafe的窗口大小

4

在尝试在我的测试中使用.resizeWindow时,我遇到了一个错误,但只有在使用无头模式运行我的测试时才会失败。错误如下所示:

    Warnings (1):
 --
  Was unable to resize the window due to an error.

  Cannot read property 'Emulation' of undefined

我正在运行测试:

 - HeadlessChrome 70.0.3538 / Mac OS X 10.13.6
 Testcafe version 0.20.4

在我的beforeEach中,resizeWindow指令设置如下:

 .beforeEach(async t => {
      await t.navigateTo(`${testDomain}${Var.url_listing_general}`)
        .resizeWindow(1420, 750);
    }
  });

它是无头的。为什么需要调整一个无头浏览器的大小呢? - lloyd
我无法重现这个问题。我已经准备了一个屏幕录像 https://drive.google.com/file/d/17YQst5vm_74-COd--3pfTo41tNesSEJz/view?usp=sharing 。你能否更新到最新的testcafe版本?如果没有帮助,请提供一个演示该问题的样本项目。 - Alex Kamaev
@lloyd 我和你有一样的想法,认为在无头模式下运行测试并不重要,但是由于我们根据窗口大小有不同的布局,如果窗口大小不允许,某些元素将不存在。这就是为什么我需要调整窗口大小,即使我们处于无头模式,实际上我在某个地方读到默认情况下,无头窗口大小为800x600。如果这是真的,我的预期元素将无法被testcafe找到。 - Alextgda
谢谢@AlexKamev,我会试着像您一样使用最新版本,如果可以的话,那么Testcafe版本0.20存在一个Bug。 - Alextgda
@Alextgda,你有没有机会检查最新的TestCafe版本以了解它的工作方式?如果在版本0.20中存在错误,则解决问题的最佳方法是升级到最新的TestCafe版本([0.23.0](https://devexpress.github.io/testcafe/blog/testcafe-v0-23-0-released.html)),其中可能已经修复了该错误。 - Alex Skorkin
@AlexSkorkin 我重新使用 TestCafe 版本 0.23.0 尝试,但结果相同。我仍然无法使其正常工作。我找到的唯一方法是从 Chrome 选项中调整窗口大小,如下面的示例所示:testcafe 'chrome:headless --window-size="1420,740" test.js' - Alextgda
1个回答

1

你尝试过在测试的第一行而不是在beforeEach部分中进行调整大小吗?

另外,也许这很愚蠢并且不重要,但在你的代码示例中,beforeEach部分末尾有额外的},这可能会导致问题吗?


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接