我的代码:
var listItemText = element.all(by.css(".list-group-item.ng-binding.ngscope")).get(0).getText()
.then(function(text){ return text.replace(/[\r\n]/g, "")
})
expect(listItemText).toBeGreaterThan(0);
如何比较字符串是否与文本中的数字在量角器中应该大于0.
答案 0 :(得分:1)
如果您想将String
转换为Number
,可以使用parseFlaot
表示浮点数,或parseInt
表示整数。只要它不以字母字符开头,它就会切断非数字部分。还要注意解析数字,因为它也会在数字前面切掉前导0 - 你可能想要提高你的正则表达式,只抓住你希望它在字符串中的数字,以使它更加防弹。
此外,您不需要使用element.all(locator).get(0)
,多次出现的元素(定位符)将始终返回找到的第一个元素。
element(by.css(".list-group-item.ng-binding.ngscope")).getText()
.then(function(text){
var listItemText = text.replace(/[\r\n]/g, "");
expect(praseFloat(listItemText)).toBeGreaterThan(0);
});
答案 1 :(得分:1)
Expected '33990Times Jobs' to be greater than 0
首先,您要将字符串与数字进行比较。并且,字符串本身包含额外的Times Jobs
部分。让我们从文本和use parseInt
中提取所有数字,将字符串转换为整数:
var listItemText = element.all(by.css(".list-group-item.ng-binding.ngscope")).first().getText().then(function(text) {
return parseInt(text.match(/\d+/)[0]);
});
expect(listItemText).toBeGreaterThan(0);