javascript - 如何在 Protractor 的 <td> </td> 中显示文本

标签 javascript angularjs automation jasmine protractor

如何在第二个 td 中显示文本。

<tr data-ng-repeat="s in systemSettings" class="ng-scope">
        <td class="ng-binding">License Key</td>
        <td class="ng-binding">rashmi123</td>
        <td align="center">
            <div data-ng-show="s.readOnly" class="text-warning ng-hide">read only</div>
            <div data-ng-show="!s.readOnly"> <a href="" data-ng-click="onSettingEdit(s)"><i class="glyphicon glyphicon-edit"></i> </a> </div>
        </td>
    </tr>

我试图通过使用来获取它

  expect(element("tr:nth-child(2) td.ng-binding:nth-child(2)").getInnerHtml()).toBe("rashmi123");

但它给出了无效的定位器错误。

最佳答案

您的元素定位器应包含诸如 - xpathcss 等类型...

expect(element(by.css("tr:nth-child(2) td.ng-binding:nth-child(2)")).getInnerHtml()).toBe("rashmi123");

您也可以使用 .getText() 代替 getInnerHtml 来获取元素的文本。

var ele = element(by.css("tr:nth-child(2) td.ng-binding:nth-child(2)"));
expect(ele.getText()).toBe("rashmi123");

或者使用 Protractor 为 element(by.css()) 提供的缩写形式 => $()

var ele = $("tr:nth-child(2) td.ng-binding:nth-child(2)");
expect(ele.getText()).toBe("rashmi123");

希望对您有所帮助。

关于javascript - 如何在 Protractor 的 <td> </td> 中显示文本,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/37025571/

相关文章:

javascript - 如何正确地使一个构造函数的原型(prototype)属性继承其原始的原型(prototype)属性?

javascript - 我将范围值传递给我的指令,但它是未定义的

jquery - Bootstrap-datepicker:看似不可预测的行为

ssh - 如何自动创建 Jenkins SSH 凭据/将其分配给节点?

javascript - 即使设置了项目,React useState 项目在调用时似乎为空

javascript - 从函数中设置 javascript 中对象的值而不调用该函数

javascript - 是否可以在同一个文件中访问其他模块导出功能?

javascript - Angular DTOptionsBuilder ajax 调用完成时是否有回调?

C++ 从另一个 Win32 应用程序获取 GDI 原始文本

java - 如何改善appium中点击之间的时间?