angularjs - Protractor 如何从div中获取文本?

标签 angularjs jasmine protractor

尝试在我的 div 中获取文本:

<div class="ng-scope ng-binding">
         Hello this is it!
</div>

在我的 jasmine 脚本中(使用 xpath):

var helloTxt=driver.findElement(by.xpath('//*[@id="top"]/div/div/div[3]/div[2]/div/div[1]/div[1]/div/div'));
expect(helloTxt.getText()).toBe('Hello this is it!');

代码如下所示:

<div class="container">
        <div data-ng-repeat="message in getMessages() track by $index">
            {{message}}
        </div>
</div>

如何检查获取 {{message}} 中的消息? 有没有不使用 xpath 访问此 div 的另一种方法?或者我该如何解决这个问题?

最佳答案

定位容器中的所有可用消息

var messageElms = $('.container').all(by.binding('message'));

假设您只希望收到 1 条消息:

expect(messageElms.count()).toBe(1);

假设您希望 Hello 成为第一条消息:

expect(messageElms.get(0).getText()).toEqual('Hello this is it!');

关于angularjs - Protractor 如何从div中获取文本?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26248665/

相关文章:

Angularjs 和 Google Analytics 集成

javascript - Angular JS ng-switch 不工作

javascript - 用于 jasmine 测试的 jquery-validation 插件导入

angularjs - 无法使用 Protractor webdriver-manager

javascript - 如何在 Angular js 中声明设备就绪

javascript - 如何从字符串值调用作用域上的函数

linux - 找不到变量 : loadFixtures

javascript - spyOn 监听器监视功能不起作用

javascript - Protractor 并行运行导致测试失败

javascript - 是否可以在 'executeScript' 内解决 promise ?