量角器测试仅测试Angular Grid的某些行

问题描述

我正在尝试编写一个量角器测试,以验证Angular Grid第一行中每个单元格中的文本。

“角度网格”有299行,但由于某种原因仅测试了30行。

为了方便阅读,我删除了下面的预期结果错误消息

量角器代码

it('should validate the Spec column(first column) in the Table',() => {
        element.all(by.css('div.ag-cell[col-id="Spec"]'))
            .map(function (cell) {
                return cell.getText();
            })
            .then(function (cellValues) {
                expect(cellValues).toEqual(["2205","2205","2304","2507","254SMO","26-4-4","29-4","302","304","304H","304L","304N","305","308","309","309S","310","310S","316","316H","316L","316N","317","317L","321","321H","329","330","347","3RE60","405","409","410","410S","420","430","440A","440B","440C","44LN","654SMO"," 70/30 CuNi","7Mo Plus",plus a lot more expected results]);
            })
    });

错误消息:

    Expected $.length = 30 to equal 299.
    Expected $[30] = undefined to equal '405'.
    Expected $[31] = undefined to equal '409'.
    Plus a lot more

有人可以告诉我为什么只捡几个细胞吗?

下面,您可以看到undefined包含col-id="Spec"的行之一,所以我不知道为什么在测试中未选择该行

enter image description here

注意:我已经检查了未被拾取的电池,它们有col-id="Spec"

解决方法

如果您对端到端不严格(严格遵循用户的测试用例),则可以使用var latitude = data[index].data()['position']['geopoint'].latitude; var longitude = data[index].data()['position']['geopoint'].longitude 来获取所有行,如下所示:

var distance = point.distance(lat: latitude,lng: longitude);