我有一些列表,通过ajax调用填充行, 在它上面我有一个itemCount范围 - 显示我们有多少行。 在按行填充表后,将更新itemCount范围值。 我尝试做的是复制此itemCount值,以添加新项目 列表然后测试新的itemCount值是否大1 比旧的。 我认为,问题是当我从itemCount获取第一个值时 跨度,它仍然是空的。 我试图添加browser.waitForAngular();等,但值仍为空:
element(by.id('itemsCount')).getText().then(function(text) {
console.log('**********' + text);
});
我看到的只是:' **********'
感谢您的帮助!
答案 0 :(得分:1)
您可以尝试使用此类expected conditions。
var itemsCount = element(by.id('itemsCount'));
var blank = EC.textToBePresentInElementValue(itemsCount, '');
var itemsNotEmpty = EC.not(blank);
browser.wait(itemsNotEmpty, 5000, "✗ Failed to wait for the item count load").then(function() {
itemsCount.getText().then(function(text) {
console.log('**********' + text);
});
});
基本上等到itemsCount不再是空白然后得到它的文本。
答案 1 :(得分:0)
getText()和getAttribute()之间有一些不同,具体取决于它是什么类型的字段。你能试试getAttribute并看看它是否抓住了文本吗?