用量角器进行AngularJS e2e测试

用量角器进行AngularJS e2e测试,angularjs,angularjs-ng-repeat,protractor,angularjs-e2e,Angularjs,Angularjs Ng Repeat,Protractor,Angularjs E2e,我正试图通过量角器获取ng repeat(ed)表的最后一行,以进行测试,并确保在上一次测试运行中创建的对象显示出来。我已经得到了行的所有文本,但似乎无法通过反复试验找出如何将最后一行的每一列作为数组的一部分,以便我可以验证每一部分,然后在最后一列中,我有按钮可以单击,这将是下一步 到目前为止,我掌握的代码是: var elems = element.all(by.repeater('alert in alerts')); elems.last().then(function(elm) {

我正试图通过量角器获取ng repeat(ed)表的最后一行,以进行测试,并确保在上一次测试运行中创建的对象显示出来。我已经得到了行的所有文本,但似乎无法通过反复试验找出如何将最后一行的每一列作为数组的一部分,以便我可以验证每一部分,然后在最后一列中,我有按钮可以单击,这将是下一步

到目前为止,我掌握的代码是:

var elems = element.all(by.repeater('alert in alerts'));
elems.last().then(function(elm) {
    console.log(expect(elm.getText()).toMatch('/testRunner/'));
});
如上所述,我想要检查的预期输出/输出是“textRunner”,而我得到的是整行文本:

testRunner testing the runner 5 minutes No View Edit Enable
编辑 这是我的最终代码:

var rows = element.all(by.repeater('alert in alerts'));
rows.last().then(function(row) {
    var rowElems = row.findElements(by.tagName('td'));
    rowElems.then(function(cols){
        expect(cols[0].getText()).toContain('testRunner');
        expect(cols[1].getText()).toContain('testing the runner');
        expect(cols[4].getText()).toContain('5 minutes');
    });
});
假设您使用的是,并且不同的值在中,则可以使用检查值


当我使用你的代码时,我得到的是正确的列,而不是正确的行,我只得到第一行而不是最后一行。有没有一种计算行数并使用它的方法?我的代码中有一个bug。我使用元素而不是elm。为了清晰起见,我更改了变量名。我得到一个TypeError:Object[Object Object]没有方法“all”错误,如果使用
findElements
,我会尝试不使用promise api。
var rows = element.all(by.repeater('alert in alerts'));
var row = rows.last();
var rowElems = row. findElements(by.tagName('td'));
expect(rowElems.get(0).getText()).toMatch('/testRunner/');
expect(rowElems.get(1).getText()).toMatch('/testing/');
expect(rowElems.get(2).getText()).toMatch('/the/');
expect(rowElems.get(3).getText()).toMatch('/runner/');
expect(rowElems.get(4).getText()).toMatch('/5/');
expect(rowElems.get(5).getText()).toMatch('/minutes/');
expect(rowElems.get(6).getText()).toMatch('/No/');
expect(rowElems.get(7).getText()).toMatch('/View/');
expect(rowElems.get(8).getText()).toMatch('/Edit/');
expect(rowElems.get(9).getText()).toMatch('/Enable/');
var rows = element.all(by.repeater('alert in alerts'));
rows.last().then(function(row) {
    var rowElems = row.findElements(by.tagName('td'));
    rowElems.then(function(cols){
        expect(cols[0].getText()).toContain('testRunner');
        expect(cols[1].getText()).toContain('testing the runner');
        expect(cols[4].getText()).toContain('5 minutes');
    });
});