期待' 33990时间工作'大于0

时间:2016-05-11 09:13:31

标签: protractor

我的代码:

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.

2 个答案:

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