Как с помощью транспортира проверить, отключена ли нажатая кнопка? - PullRequest
0 голосов
/ 17 июня 2020

Я хочу проверить, что кнопка отключена после нажатия кнопки, но отключенным атрибутом является динамика c, и я не могу получить последнее состояние атрибута:

Транспортир:

const saveButton = element(by.id('saveButton'));

saveButton.click();
browser.sleep(1000);
await saveButton.isEnabled().then(enabled => {
    expect(enabled).to.be.false;
});

HTML:

<button id="saveButton" [disabled]="isDisabled" mat-button (click)="saveArticle()">
    Save
</button>

Angular:

this.isDisabled = false;

saveArticle() {
    this.isDisabled = true;

    this.http.get('http://url').subscribe((response) => {
        this.isDisabled = false;
    });
}

Отключенный атрибут изменяется динамически, как указано выше, и это не работает должным образом. Метод isEnabled () всегда возвращает true. Как я могу убедиться, что кнопка отключена после нажатия?

Ответы [ 2 ]

0 голосов
/ 17 июня 2020

Вы можете попробовать использовать getAttribute ('') и подтвердить возвращаемое значение. Обратите внимание, что getAttribute может возвращать null (если атрибут не имеет значения) или строку

0 голосов
/ 17 июня 2020

вы используете сопоставители Jasmine? если да, этого должно быть достаточно:

const saveButton = element(by.id('saveButton'));

await saveButton.click();
browser.sleep(1000);
expect(await saveButton.isEnabled()).toBe(false);
...