Angularjs 量角器检查元素是否有效
我想知道是否有一种更简单的方法可以使用量角器检查输入字段是否有效。我编写了一个助手函数,如下所示:Angularjs 量角器检查元素是否有效,angularjs,protractor,Angularjs,Protractor,我想知道是否有一种更简单的方法可以使用量角器检查输入字段是否有效。我编写了一个助手函数,如下所示: 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
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
如果您的angular代码具有表单验证逻辑,并且正确更新了
ng valid
/ng invalid
,那么您就可以这样做了
expect(hasClass(element(by.name('your-element')), 'ng-invalid')).toBe(true);
expect(hasClass(element(by.name('your-element')), 'ng-dirty')).toBe(true);
如果您想将
元素作为参数传递。只需expect(hasClass(element(by.name('your-element')),'ng invalid')).toBe(true)有什么问题代码>?也可以检查一下ng dirty。哦,等等。。。还有一件事。。。我使用Typescript编写测试,它似乎不知道在哪里可以找到hasClass。。。你知道那是哪个图书馆吗?它既不在量角器Api doku中,也不在Jasmine中…@waXve您可以在这里阅读关于hasClass方法的内容: