Как распечатать вывод как при неудачной загрузке страницы, как ожидалось, так и при загрузке страницы, как ожидалось - PullRequest
0 голосов
/ 29 января 2020

Если время ожидания команды browser.wait истекло, я все еще хочу распечатать содержимое страницы. Я также все еще хочу, чтобы он провалил тест в случае тайм-аута.

Я использую хромовый драйвер селена.

То, что у меня есть, пока:

    it('Test# 3', function() {
        var i = 3;

        util.browserGet(url, domainName, token);
        browser.wait(ec.presenceOf(element(by.className("pagination-bottom"))), 20000, 'Took Too Long').then(function() {
            browser.takeScreenshot().then(function(png) {
                writePngFile(png, 'test_' + (i) + '_screenshot.png');
            })
        });
    });

Я бы хотел сделать еще / onError / finally, поэтому я всегда печатаю снимок экрана:

    it('Test# 3', function() {
        var i = 3;

        util.browserGet(url, domainName, token);
        browser.wait(ec.presenceOf(element(by.className("pagination-bottom"))), 20000, 'Took Too Long')
        .then(function() {
            browser.takeScreenshot().then(function(png) {
                writePngFile(png, 'test_' + (i) + '_screenshot.png');
            })
        })
        .else(function() {
            browser.takeScreenshot().then(function(png) {
                writePngFile(png, 'test_' + (i) + '_screenshot.png');
            })
        });
    });

    it('Test# 3', function() {
        var i = 3;

        util.browserGet(url, domainName, token);
        browser.wait(ec.presenceOf(element(by.className("pagination-bottom"))), 20000, 'Took Too Long')
        .finally(function() {
            browser.takeScreenshot().then(function(png) {
                writePngFile(png, 'test_' + (i) + '_screenshot.png');
            })
        });
    });

Версии инструмента:

    "loglevel": "^1.6.6",
    "protractor": "^5.4.2",
    "puppeteer": "^1.19.0",
    "shelljs": "^0.8.3"

1 Ответ

0 голосов
/ 06 февраля 2020

Это не совсем отвечает на мой вопрос, но если я использую browser.sleep(5000) вместо команды browser.wait, я могу распечатать информацию.

Однако теперь вы теряете проверку.

Я не буду отмечать это как ответ, но подумал, что должен упомянуть об этом, если это поможет кому-то еще.

    it('Test# 3', function() {
        var i = 3;

        util.browserGet(url, domainName, token);
        browser.sleep(5000).then(function() {
            browser.takeScreenshot().then(function(png) {
                writePngFile(png, 'test_' + (i) + '_screenshot.png');
            })
        });
    });
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...