javascript - Chai,无法测试 html 元素
问题描述
我正在测试一个 Angular 项目,我首先在 Jasmine 中编写了测试来测试 html 元素的属性是否存在,并且它们可以工作:
expect(element(by.css("*[id='ref_button']")).getAttribute('disabled')).toEqual(null);
现在我想在 Cucumber Chai 中尝试同样的方法。
我这样做:
expect(element(by.css("*[id='ref_button']"))).to.have.attribute('disabled');
我的 package.json 中有这个:
"chai": "^4.1.2",
"chai-as-promised": "^7.1.1",
"chai-dom": "^1.8.0",
解决方案
禁用是一个属性而不是一个属性,事实上你可以有角度
describe('test element', () => {
let something: DebugElement;
beforeEach(() => {
something = fixture.debugElement.query(fn)
});
it('expect', () => {
expect(something.properties.disabled).toBe(Boolean)
});
});
这就是你在 Jasmine 中的做法,我相信 chai 将具有相同的实用程序来获取属性。