javascript - Protractor ng-repeater元素选择

标签 javascript angularjs testing selenium-webdriver protractor

尝试从 ng-repeat 的第一行的第一列中选​​择文本。 html(这些是表体中的行):

        <tr ng-repeat="c in cars | orderBy:'-type' ">

            <!-- Type -->
            <td>{{ c.type }}</td>

            <!-- Notes -->
            <td>{{ c.notes }}</td>
        </tr>

选择尝试:

    var type= element.all(by.repeater("c in cars| orderBy:'-date' ").
        row(0).column(0));
    type.getText()
        .then(function(text){
            console.log('ISSUED FROM: ' + text);
            });

我做错了什么?像往常一样,我查看了 SO 上的示例(有一些用于转发器),但它们似乎不起作用(......对我来说,我确信它们可以工作并且我做错了)。我没有收到错误,但即使在浏览器中显然有一个字符串,我也没有得到任何关于“文本”的信息。

查看源代码时看起来像这样,如果有帮助的话:

<!-- Type -->
<td class="ng-binding">Murcielago</td>

最佳答案

by.exactRepeater()在这里会是更好的选择。此外,column() 应通过传入的绑定(bind) 调用,并且由于您需要单个元素,请使用 element():

var type = element(by.exactRepeater("c in cars").row(0).column("c.type"));
expect(type.getText()).toEqual("Murcielago");

关于javascript - Protractor ng-repeater元素选择,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31867310/

相关文章:

Android:仅为测试添加单独的资源

testing - 使用 Jenkins 自动测试 Nifi 流

javascript - process.env.UV_THREADPOOL_SIZE 不工作?

javascript - 谷歌地图 API : Rotation with a custom marker Icon

javascript - 将 _id 中的创建日期字段添加到所有 mongo 文档中

javascript - 如何循环遍历 angular.forEach 并只显示一次结果

postgresql - 比较表中的行对

javascript - Ajax 请求不处理 POST 变量

javascript - AngularJS 中的递归菜单

javascript - Bootstrap 和 angularjs : how not propagate the dropdown click on parent