作者热门文章
- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
这看起来相当简单,但我无法让它运行。我基本上想检查“div class = balances”是否包含文本“EUR”,如果包含,我想进行其他检查。它在我使用 expect 语句时有效:期望(元素(by.css('balances')).getText()).toContain('EUR');
这会过去但是如果我把它改成:
if (element(by.css('balances')).getText()).toContain('EUR') {
console.log('true')
}
我收到一条错误消息:.toContain 未定义
我可以在这里使用什么来代替 .toContain
?谢谢
更新,我试过了,但还是不开心:
var bal =element(by.css('balances')).getText().then(function(text){
if(text.contains('EUR')){
//do something
}
else{
//do something else
}
});
最佳答案
.getText
返回 promise ,这意味着您必须使用 .then
解决它。
你想获取文本,解决 promise ,然后进行比较:
element(by.css('balances')).getText().then(function(actualText) {
if(actualText.indexOf('EUR') !== -1) {
// Yup, I have EUR in me.
}
});
在 if
语句中,我们使用 indexOf
检查字符串是否包含指定的子字符串。它返回出现次数,如果未找到,则返回 -1
。
关于javascript - Protractor :If 语句如果元素包含特定文本,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/45076493/
我是一名优秀的程序员,十分优秀!