我正在为angularjs测试编写茉莉花测试用例。在一个视图中,学生无法看到按钮。我正在根据身份证长度进行检查,但我得到了expected '1' instead of '0'
。按钮不在视图中仍然可以看到id。
还有其他条件要检查吗?
element.all(by.id('create_course_button')).then(function(items) {
expect(items.length).toBe(0);
});
答案 0 :(得分:2)
我的猜测是您的按钮仍然存在于DOM 中,但被css display: none
或visibility: hidden
隐藏。
如果这是正确的,您可以使用WebdriverJS的.isDisplayed()
API来检查元素是否正在显示:
expect(element(by.id('create_course_button')).isDisplayed()).toEqual(false);
答案 1 :(得分:0)
你能试试expect(by.id('create_course_button')).not.toExist();
您也可以尝试:
expect($(document)).not.toContain($el);
另一个建议:
expect('#create_course_button').not.toExist();
答案 2 :(得分:0)
如果您想使用isDisplayed()
expect($('#foo').isDisplayed()).toBe(true);
如果要测试DOM中是否存在该元素,请使用browser.isElementPresent()
expect(browser.isElementPresent(by.css('#foo'))).toBe(false);
请记住,您需要将定位器传递给browser.isElementPresent(by.xxx)