2016-05-11 39 views
0

我的代码:预计“33990Times乔布斯为大于0

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。

回答

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); 
    }); 
+2

在量角器'希望()'是“打补丁”(实际上是由'jasminewd'包)了解承诺。没有必要明确地解决做出期望的承诺......但是在这种情况下,无论如何都需要'then()'来处理文本,所以在'then()'内部期望值并不会受到伤害。 。 – alecxe

+0

@Tom Tu和Alecxe ..我尝试了你的两个代码,两者都按我的预期工作。谢谢 –

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);