Транспортир Метод расширения для элемента Finder - PullRequest
0 голосов
/ 01 мая 2020

Я пытаюсь расширить ElementFinder of Protractor несколькими дополнительными методами. Я делаю это точно так же, как и другие классы, где это работает без проблем. В отдельном файле с именем «protractorElement.Extend.ts» содержится объявление модуля и реализация метода:

declare module 'protractor/built/element' {

    export interface ElementFinder {
        sendText(text: string) : promise.Promise<void>;
        safeClick() : promise.Promise<void>;
        hasClass(clazz: string) : Promise<boolean>;
    }
}


ElementFinder.prototype.safeClick = async function () {
    let self = this;
    try {
        await browser.wait(ExpectedConditions.elementToBeClickable(self), 5000);
        return self.click(); //if found
    }
    catch (e) {
        console.error(`Element is not clickable`); //error
    }
}

export *  from 'protractor';

When calling this in my test file - 
   affirmationPage.btnNext.safeClick();

Я получаю эту ошибку - - Сбой: affirmationPage.btnNext.safeClick не является функцией

Я где-то читал, мне нужно инициализировать это в файле conf. js Метод OnPrepare файла. Я не уверен, как это сделать.

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