Проверка URL-адреса PDF в браузере Chrome Headless не удалась - транспортир набрал f \ w - PullRequest
0 голосов
/ 03 апреля 2019

Я пытаюсь автоматизировать проверку URL-адреса в формате PDF, который открывается в новой вкладке, в соответствии с ожидаемым (URL).Это угловое приложение, и мы используем каркас набранных текстов.

Шаги, описанные ниже, приведены ниже:
1.Нажмите на ссылку PDF
2.Pdf откроется в новой вкладке водно и то же окно браузера
3. Получить все дескрипторы окна
4. Проверить, если количество дескрипторов окна> 1
5. Переключиться на новую вкладку, используя последний дескриптор окна
6. Получить текущий браузерurl
7. Проверьте, является ли это ожидаемый URL

это угловое приложение, 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, но обещание приуроченов режиме без головы хром.Это не продолжается после шага 4.Мы не можем получить PDF-URL с новой вкладки.Любой не PDF-URL работает нормально.Пожалуйста, дайте мне знать, если кто-нибудь сталкивался с такой проблемой раньше и решил ее.Любые материалы по этому вопросу будут полезны.Спасибо за ваше время.

1 Ответ

0 голосов
/ 04 апреля 2019
  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. Используйте await / async для разрешения обещаний

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...