在前端自动化测试中,isPresent() 和 isDisplayed() 是两个常用的方法。这两个方法都是用于判断页面元素是否存在,然而它们之间有着重要的区别。
isPresent()
isPresent() 方法用于检查页面元素是否存在于DOM结构中,即使该元素未显示出来或被隐藏。如果元素存在,则返回 true,否则返回 false。
以下是一个示例代码:
const submitButton = element(by.id('submit-button')); expect(submitButton.isPresent()).toBe(true);
isDisplayed()
isDisplayed() 方法用于检查页面元素是否在当前视图中可见并且可交互。如果元素处于隐藏状态或不可见状态,则返回 false。
以下是一个示例代码:
const submitButton = element(by.id('submit-button')); expect(submitButton.isDisplayed()).toBe(true);
区别
isPresent() 检查元素是否存在于DOM结构中。 isDisplayed() 判断元素是否在当前视图中可见。
isPresent() 不会考虑元素是否隐藏或不可见。 isDisplayed() 只有当元素可见时才返回 true。
因此,在使用这两个方法时,需要了解其区别,并根据不同的测试场景做出正确的选择。
指导意义
当需要验证元素是否存在时,请使用 isPresent()。
当需要验证元素是否可见并且可交互时,请使用 isDisplayed()。
在编写测试用例时,需要考虑不同的测试场景,使用合适的方法来验证页面元素。
综上所述,isPresent() 和 isDisplayed() 方法在前端自动化测试中是非常有用的。了解它们之间的区别,并正确地使用它们可以帮助我们编写更健壮,可靠的测试用例。
来源:JavaScript中文网 ,转载请注明来源 https://www.javascriptcn.com/post/31160