Мне не удалось найти ничего по этой теме, поэтому я решил спросить.
В настоящее время я пишу тесты E2E для моего приложения Angular 5. E2E - этовыполняется Транспортиром в соответствии с настройками в проекте генератора угловых интерфейсов по умолчанию.Мне нужна возможность изменить значение поля ввода текста в моих тестах E2E.
Мой текущий код.
...
it('should submit report.',() => {
page.setField("100");
...
Вышеприведенное ссылается на этот класс и метод
import { browser, by, element } from 'protractor';
export class Page {
setField(text: string): Page {
let field = element(by.id('myField'));
field.sendKeys(text);
return this;
}
...
и мой html.
<input id="myField" decimal="16" dataLoadedEvent="{{formatData}}" [(ngModel)]="rm.dataField" class="form-control input-sm">
Это оченьпросто.Очевидно, я обобщил это для потребления ... Но, надеюсь, это все еще дает понять.
Замечания:
Если я удалю из поля ввода html следующее, .sendKeys () будет работать
decimal="16" dataLoadedEvent="{{formatData}}" [(ngModel)]="rm.dataField"
Если я просто удалю
decimal="16" dataLoadedEvent="{{formatData}}"
sendKeys () по-прежнему не работает.Это означает, что проблема связана с привязкой [(ngModel)], которая возникает в поле.Не с моей пользовательской директивой десятичного формата.
Итак, мой вопрос: что мне нужно сделать, чтобы .sendKeys () работал с полями, которые связаны с использованием [(ngModel)]?
Буду признателен за любую помощь.