Chrome 无头浏览器中的 PDF URL 验证失败 - 量角器打字稿 fw



我正在尝试自动验证在新选项卡中打开的pdf网址是否符合预期(url(。这是一个角度应用程序,我们使用量角器打字稿框架。

其中遵循的步骤如下:
1.点击PDF链接
2.Pdf 在同一浏览器窗口的新选项卡中打开
3.获取所有窗口手柄
4.检查窗口句柄计数是否>1
5.使用最后一个窗口控点切换到新选项卡
6.获取当前浏览器网址
7.检查是否是预期的网址

这是一个角度应用程序,PDF是非角度的

public async waitForWindowHandle() {
    browser.driver.wait(function () {
        return browser.getAllWindowHandles().then(function (handles) {
            if (handles.length > 1) {
                return true;
            }
        });
    }, 20000, 'Waited for window count to be greater than 1');
}

await browser.sleep(1000);
browser.ignoreSynchronization = true
wrapmeth.waitForWindowHandle();
browser.getAllWindowHandles().then(async function (handles) {
    expect(2, "pdf did not open in new Tab").to.equal(handles.length);
    browser.switchTo().window(handles[1]).then(async function () {
        currentUrl = await browser.getCurrentUrl();
    });
});

自动化在 chrome 浏览器中运行良好,但在 chrome 无头模式下承诺超时。步骤 4 后不会继续。我们无法从新选项卡中获取 pdf 网址。任何非 pdf 网址都可以正常工作。请让我知道以前是否有人遇到过这样的问题并解决了它。对此的任何投入都会有所帮助。谢谢你的时间。

  1. 尝试使用它:

    export async function countTabs () { const allTabs = await browser.getAllWindowHandles(); const allTabsLength = allTabs.length; console.log('===my tabs count is --->> ' + await allTabsLength); return allTabsLength; }

  2. 使用等待/异步解析承诺

最新更新