Protractor UI Grid 3.0 E2E量角器测试

Protractor UI Grid 3.0 E2E量角器测试,protractor,angular-ui-grid,Protractor,Angular Ui Grid,我试图在E2E测试中执行一个select行,以便在选中一行时可以看到我的一个按钮是否工作。我的测试进入页面,但当我尝试选择Row时,它会给我一个错误。目前的测试是这样的 var GridTestUtils = require('./gridTestUtils.spec.js'); describe('Tests', function() { it('should switch to clients and add a client', function() { expe

我试图在E2E测试中执行一个select行,以便在选中一行时可以看到我的一个按钮是否工作。我的测试进入页面,但当我尝试选择Row时,它会给我一个错误。目前的测试是这样的

var GridTestUtils = require('./gridTestUtils.spec.js');

describe('Tests', function() {
    it('should switch to clients and add a client', function() {
        expect(element(by.id('table')).isPresent()).toBe(true);
        expect(element(by.id('sideNavLink')).getAttribute('class')).toEqual('active');
        GridTestUtils.expectRowCount('table', 2);
        element(by.id('addSubNavLink')).click();
        expect(element(by.model('modalData.name')).isPresent()).toBe(true);
        element(by.model('modalData.name')).sendKeys('Protractor Test Client');
        element(by.id('clientSubmit')).click();
        //GridTestUtils.expectRowCount('table', 3);
        GridTestUtils.selectRow('table', 3);
        element(by.id('deleteButton')).click();
    });
});
当我运行量角器时,出现以下错误:

Message:
 NoSuchElementError: No element found using locator: by.repeater((rowRenderIndex, row) in rowContainer.renderedRows track by $index").row("3")"

如果有其他方法高亮显示一行,我还没有找到它,但我已经浏览了gridTestUtils.spec.js,这是我找到的第一个方法。

网格行和列使用的是基于零的索引

这不是直接记录的,但当您将错误与
gridTestUtils.spec.js
中的实现进行比较时,row参数会传递给.row()定位器,根据示例,定位器是基于零的

所以如果你的网格有3行

GridTestUtils.expectRowCount('table',3)

您可以按选择最后一行

GridTestUtils.selectRow('table',2)