按下保存按钮后,会弹出一个框,说明它是成功还是失败。无论结果如何,该框都具有相同的xpath。
expect(element(by.xpath('path example')));
在元素的HTML中,它说
<div class="panc lm-he" style="....."><span style="..."> Saved!</span></div>
编辑 - 哎呀它早。
我想知道如果文本“已保存!”,我怎么能期望回来呢?有没有。所以,如果“保存!”在该元素中存在然后它是真的否则它是错误的。
答案 0 :(得分:0)
尝试显示整个元素的输出:
element(by.xpath('path example')).then(function(element){
console.log(element);
});
答案 1 :(得分:0)
不确定我理解你想要什么,但是这样你会检查div是否有'已保存!'文字显示
expect(element(by.xpath('.//div[text(), "Saved!"]')).isDisplayed).toBe(true);
答案 2 :(得分:0)
正如@Gunderson所说,你使用的定位器并不重要,语法也是一样的。当我想确认元素中的文本时,我通常会这样做:
myElement.getText().then(function (text) {
expect(text).toContain(message)
});
通过查看失败,如果元素根本没有显示,或者它是否可见但文本没有显示,或者一切正常并且测试通过,你可以通过这种方式判断。所以在你的情况下它只是
element(by.xpath('path example')).getText().then(function (text) {
expect(text).toContain('Saved!')
});