量角器定位器 ng-bind-html

Protractor locator ng-bind-html

我有这个:

<span>{{ $ctrl.title }}</span>

我用这个测试它:

element(by.binding('$ctrl.title'))

它正在运行。

之后我需要标题不是纯文本而是 html 因为我想在该文本中也添加一些 h1、h2 标签所以我更新了我的 html像这样:

<span ng-bind-html="$ctrl.buildHtmlContent()"></span>

buildHtmlContent() {
    return this.$sce.trustAsHtml(this.title);
}

但是测试失败,我需要更换元素定位器但我不知道用什么。有什么想法吗?

您可以使用 css 选择器:

by.css('div[ng-bind-html="$ctrl.buildHtmlContent()"]')

或者你可以添加额外的属性,这样测试对实现的依赖就更少了:

<span ng-bind-html="$ctrl.buildHtmlContent()" e2e-title></span>
by.css('div[e2e-title]')

比我想象的要简单,我只需要替换这个:

element(by.binding('$ctrl.title'))

有了这个:

element(by.binding('$ctrl.buildHtmlContent()'))