используя функцию из Page Object в Protractor - PullRequest
0 голосов
/ 05 марта 2019

У меня есть этот код в моем блоке afterEach, который работает для консольного журнала источника страницы с ошибочной спецификацией.Но я хочу переместить его в другой класс.

    afterEach(function () {

    const state = this.currentTest.state;
    if (state === 'failed') {
        browser.driver.getPageSource().then(function (res) {
            console.log(res);     
        });
    }
});

, но когда я пытаюсь использовать следующее в другом классе, я получаю 'Свойство' currentTest 'не существует для типа' HelperClass '.Как мне объявить свойство currentTest?

import { browser, } from 'protractor';
export class HelperClass {

    public getSource() {

        const state = this.currentTest.state;
        if (state === 'failed') {
            browser.driver.getPageSource().then(function (res) {
                console.log(res);
            });
        }
    }
}

1 Ответ

0 голосов
/ 06 марта 2019

Попробуйте как показано ниже

тестовый файл:

const helper = new HelperClass(); // create object for class
  afterEach(async ()=> {
    const state = this.currentTest.state;
    await helper.getSource(state);
});

Файл класса

import { browser, } from 'protractor';
export class HelperClass {

    public getSource(state:any) {

        if (state === 'failed') {
            browser.driver.getPageSource().then(function (res) {
                console.log(res);
            });
        }
    }
}

Здесь мыотправив State из вашего тестового файла.Надеюсь, это поможет вам

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