问题描述
我正在尝试编写一个量角器测试,以验证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"
的行之一,所以我不知道为什么在测试中未选择该行
注意:我已经检查了未被拾取的电池,它们有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);