1

我正在为我的 Angular 应用程序使用量角器进行 e2e 测试。这是我的代码

<input type="button" value='Add New Record'/>
<table class="table table-striped s10 ng-scope">
    <tbody>
        <tr>
            <th>Name</th>
            <th>Age</th>
            <th>Appt Time</th>
            <th>Tag</th>
        </tr>
        <tr>
            <td>Bob</td>
            <td>2</td>
            <td>12:30AM</td>
            <td><input type="button" value='Add Tag'/></td>
        </tr>
         <tr>
            <td>Alice</td>
            <td>2</td>
            <td>10:10AM</td>
             <td><input type="button" value='Add Tag'/></td>
        </tr>
    </tbody>
</table>

我的问题是,如果我点击“添加新记录”,它会在表格中添加一条新记录。在这里,我想测试新创建记录的名称和“添加标签”按钮。我试过下面的代码

it('Testing Add New Record', function(){  
    var tbl = element( by.css('.table'));
     var tblrow = tbl.all( by.css('tr')).get(0);
     var tbldata = tblrow.all(by.css('td')).get(0);
          expect(tbldata.getText()).toEqual('Alice');
     var tbldata = tblrow.all(by.css('td')).get(2);
     tbldata.click();
       });

这是工作。但是如果我再添加一条记录,我们每次都必须更改代码。所以我想动态地找到新创建的记录和“添加标签”按钮的文本。

4

1 回答 1

1

如果我理解正确,您需要验证在创建新记录后它是否显示为表中的最后一行。在这种情况下,不要通过索引获取它,而是使用last()

element.all(by.css('table.s10 tr')).last();
于 2015-03-06T08:05:38.933 回答