量角器定位器 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()'))
我有这个:
<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()'))