Мне интересно, существует ли более простой способ проверить, действительно ли поле ввода используется с помощью транспортира. Я написал вспомогательную функцию, которая выглядит следующим образом:проверка транспортира, если элемент действителен
isValid(css:string) {
var deferred = protractor.promise.defer();
expect(element(by.css(css)).isPresent()).toBe(true);
element(by.css(css)).getAttribute('class').then(function (attributes) {
var matches:string[] = attributes.match('ng-invalid');
deferred.fulfill(matches === null || matches.length === 0);
});
return deferred.promise;
}
Это прекрасно работает, но это, кажется, не так, как вы использовать транспортир. Кажется, что это сложно ...
У любого из вас есть более простой способ? Что-то вроде
expect(element(by.css(css)).isValid()).toBeTruthy
Что не так с 'expect (hasClass (элемент (by.name ('ваш-элемент')), 'ng-invalid')). ToBe (true);'? Возможно, проверьте и на 'ng-dirty'. –