【发布时间】:2023-04-05 20:38:01
【问题描述】:
我正在尝试在我的 Angular 应用程序中为以下要求编写量角器测试:
我正在尝试验证下面我的 Angular 网格中所有列标题的文本:
myPage.column_headers
.map(function (header) {
return header.getText()
}).then(function (headers) {
expect(headers).toEqual(['Column1', 'Column2', 'Column3', 'Column4', 'Column5', 'Column6']);
});
当我运行它时,我得到以下控制台错误:
Expected $.length = 3 to equal 6.
Expected $[0] = 'Col1' to equal 'Column1'.
Expected $[1] = 'Col2' to equal Column2'.
Expected $[2] = 'Col3' to equal 'Column3'.
Expected $[3] = undefined to equal 'Column4'.
Expected $[4] = undefined to equal 'Column5'.
Expected $[5] = undefined to equal 'Column6'.
作为实时用户,当我导航到该页面时,用户可以立即看到其中的 3 列。
要查看其他 3 列,您需要滚动页面/网格,所以我想知道这是否是该测试因上述错误而失败的原因。
如果是这种情况,谁能告诉我我需要做哪些更改,以便我可以验证 Angular 网格中的所有列标题?
【问题讨论】:
-
是的,从技术上讲,这些列在您滚动之前不会出现在 DOM 中,因此您无法在它们上
getText()。您必须先将元素滚动到视图中。
标签: angular protractor angular-grid