这看起来相当简单,但我不能让它运行。我基本上想检查'div class = balances'是否包含'EUR'文本,如果有,我想做其他检查。它在我使用expect语句时有效:
expect(element(by.css('balances')).getText()).toContain('EUR');
这将通过
但如果我把它改为:
if (element(by.css('balances')).getText()).toContain('EUR') {
console.log('true')
}
我收到一条错误消息:.toContain is not defined
我可以在这里使用什么而不是.toContain
?
感谢
更新,我已经尝试但仍然没有快乐:
var bal =element(by.css('balances')).getText().then(function(text){
if(text.contains('EUR')){
//do something
}
else{
//do something else
}
});
答案 0 :(得分:5)
.getText
会返回promise,这意味着您必须使用.then
解析它。
您想要获取文本,解决承诺,然后进行比较:
element(by.css('balances')).getText().then(function(actualText) {
if(actualText.indexOf('EUR') !== -1) {
// Yup, I have EUR in me.
}
});
在if
语句中,我们使用indexOf
检查字符串是否包含指定的子字符串。它返回出现次数,如果未找到,则返回-1
。