我正在尝试量角器e2e测试角应用程序,没有想出如何检测一个元素是否有一个特定的类。
在我的情况下,测试点击提交按钮,现在我想知道如果form [name =“getoffer”]有类.ngDirty。什么可能是解决方案?
describe('Contact form',function() { beforeEach(function(){ browser.get('http://localhost:9000'); element(by.linkText('Contact me')).click(); }); it('should fail form validation,all fields pristine',function() { element(by.css('.form[name="getoffer"] input[type="submit"]')).click(); expect(element(by.name('getoffer'))).toHaveClass('ngDirty'); // <-- This line }); });
一个你必须注意使用toMatch(),如在接受的答案,是部分匹配。例如,假设你有一个元素可能有类正确和不正确,你想测试它的类是否正确。如果你使用expect(element.getAttribute(‘class’))。toMatch(‘correct’),即使元素有不正确的类,它也会返回true。
原文链接:https://www.f2er.com/angularjs/146519.html我的建议:
如果您只想接受完全匹配,可以为其创建帮助方法:
var hasClass = function (element,cls) { return element.getAttribute('class').then(function (classes) { return classes.split(' ').indexOf(cls) !== -1; }); };
expect(hasClass(element(by.name('getoffer')),'ngDirty')).toBe(true);