Aurelia e2e:检查 div 中的跨度是否包含特定文本

Aurelia e2e: Check if span within a div contains certain text

我想查看包含在 div 中的跨度中的文本是否包含特定文本。

这是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"> 是否包含 'EUR'。

我尝试这样做的一种方法(以及其他几种方法)是:

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');

因为如果您在字符串中看到子字符串,看起来您确实想要做某事 - 您需要获取元素的实际文本,这意味着您需要解析 [=13= 返回的承诺].然后,您可以检查子字符串 EUR 是否在文本内部:

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