javascript - 如何通过文本 [protractor] 在 ng-table 中查找特定行

标签 javascript angularjs selenium automated-tests protractor

我想通过第二列值从表中选择特定元素(我删除了呈现的空格),找到该元素后我想点击它。 (真实的返回) 我试过这个,但它没有点击它,它只是找到了元素。

我要选择的那个文件的 html 代码如下:

<table ng-table="tableParams" id="Panel" class="tbl-option-list" template-pagination="directives/controls/Pager/Pager.html">
    <caption translate>Orders</caption>
    <tr id="Panel">
        <!-- 1 -->
        <th class="fixed-width-glyphicon"></th>
        <!-- 2 -->
        <th translate>Identifier</th>
    </tr>
        <tr ng-repeat="item in $data track by $index" ng-class="{'active-bg': order.$selected}" ng-click="changeSelection(order,  getRowActions(order))">
        <!-- 1 -->
        <td class="fixed-width-glyphicon">
            <div class="fixed-width-glyphicon">
                {{item.priority.toUpperCase()[0]}}
            </div>
        </td>
        <!-- 2 -->
        <td>{{item.identifierCode}}</td>
    </tr>
</table>

Protractor 的选择命令是:

element.all(by.repeater('item in $data track by $index')).filter(function(row) {
    row.getText().then(function(txt) {
        txt = txt.replace(/\s/g, '');
        var found = txt.split('ID0001');
        return found.length > 1;
    });
}).click();

Protractor 是一个基于 Selenium 的框架,用于 Angular js 自动化测试。即使是基于 Selenium 的解决方案也可能有效...

最佳答案

我想你应该在尝试点击它们之前返回过滤后的元素。方法如下 -

element.all(by.repeater('item in $data track by $index')).filter(function(row) {
    return row.getText().then(function(txt) {
        txt = txt.replace(/\s/g, '');
        var found = txt.split('ID0001');
        return found.length > 1;
    });
}).then(function(elem){
    elem[0].click();
});

希望这对您有所帮助。

关于javascript - 如何通过文本 [protractor] 在 ng-table 中查找特定行,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32715162/

相关文章:

selenium - Chrome 在 linux 服务器上以 headless 模式工作,但通过 Selenium 和 Python 在 gui 模式下显示 "DevToolsActivePort file doesn' t exist"error

python - Google chrome 与 selenium 一起启动后立即关闭

java - 从表值动态生成 CSS 选择器

javascript - 如何在 NodeJS 中提供简单的静态文件和 html?

javascript - React Native 将 base64 图像保存到相册

javascript - AngularJS n:n许诺和数据同步/排序

javascript - Angular $摘要错误

javascript - 更改字符/字体内的颜色

javascript - 单击按钮时使用 ajax 在后台或 sql 查询中刷新页面

javascript - 在 Angular 中执行 BlockUI