我使用Angular.js量角器来检查网格中单元格的值。我能得到值,但它们是字符串,我想用它们进行计算。
当我尝试这个:
ptor.findElements(protractor.By.className('ngCellText')).then(function(cells) {
expect(parseFloat(cells[16].getText())).toEqual(parseFloat(cells[14].getText()) / parseFloat(cells[11].getText()));
});我得到了错误:Expected NaN to equal NaN.
我读到承诺是异步的,您不能用同步函数来转换它们,所以我尝试了如下:
element.all(by.className('ngCellText')).then(function(text1) {
element.all(by.className('ngCellText')).then(function (text2) {
element.all(by.className('ngCellText')).then(function (text3) {
expect(parseFloat(text1[16].getText())).toEqual(parseFloat(text2[14].getText()) + parseFloat(text3[11].getText()));
});
});
});我得到了同样的错误:Expected NaN to equal NaN.
如果有人能帮我,那就太好了!
发布于 2014-04-02 16:12:52
既然我们知道getText()返回了一个承诺,那么就试试这个吧:
cells[16].getText().then(function (cellValue) {
console.log(cellValue); // This should give you '1.40'
var floatVal = parseFloat(cellValue);
console.log(floatVal); // This should give you 1.4
expect(floatVal).toBe(1.4);
});发布于 2017-08-31 21:34:12
还可以使用箭头函数将其赋值给变量:
var someVal = $(elem).getText().then(value => +value);如果需要特定的int,也可以使用parseFloat()。
https://stackoverflow.com/questions/22814651
复制相似问题