node.js - 奥里利亚 e2e : Check if span within a div contains certain text

标签 node.js protractor aurelia e2e-testing

我想看看 div 中包含的 span 中包含的文本是否包含特定文本。

这是 HTML:

<div class="funds">
    <span>banking</span>
    <span class="m-l-sm">
        <b>EUR 1,000</b>
    </span><!--anchor-->
</div>

我想检查是否 <span class="m-l-sm">包含“欧元”。

我尝试执行此操作的一种方法(以及其他几种方法)是:

var checkFunds = element(by.id("m-l-sm"));
if (checkFunds.getText().toContain('EUR'&'GBP')) {
    //do something
}

我收到一条错误消息 .toContain()不是一个函数。

我有点不知道如何继续。

最佳答案

.toContain() is a Jasmine matcher's method 。它通常用于断言,例如:

expect(checkFunds.getText()).toContain('EUR');

因为如果您在字符串中看到子字符串,看起来您实际上想要执行某些操作 - 您需要获取元素的实际文本,这意味着您需要解析 .getText( 返回的 promise ) )。然后,您可以检查子字符串 EUR 是否在文本内:

var checkFunds = element(by.id("m-l-sm"));
checkFunds.getText().then(function (text) {
    if (text.indexOf('EUR') >= 0) {
        // do something
    }
});

关于node.js - 奥里利亚 e2e : Check if span within a div contains certain text,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/44250299/

相关文章:

node.js - 在 ElasticBeanstalk 上运行 Grunt

javascript - 如何在我的 Protractor 测试中设置 3 个日期?

angularjs - 使用phantomjs浏览器运行 Protractor 时,只能运行一次测试

internet-explorer - 在 aurelia 中将 event-source-polyfill 添加到 webpack

Aurelia 无需 compose 即可动态创建自定义元素

node.js - PM2 如何在 Heroku 上执行命令?

javascript - 聚合来自 mongodb、map reduce 或任何其他方式的数据?

javascript - 在 Protractor angularjs 上指定了无效或非法的选择器错误

javascript - aurelia、es6 和类名大小写

javascript - Node.js 单元测试 : Test behaviour when fs module throws error?