我在Angular量角器测试中非常陌生。在我的应用程序中,我正在实现用于测试自动化的量角器框架。现在,我有一个步骤,其中基于单击按钮出现一个对话框。在对话框中有一个对话框内容,其中包含两个div。一个显示的是图表是否成功加载,另一个显示的是错误消息。现在,我想实现一个if-else条件,该条件将检查当时哪些内容可用。如果条件没有执行,问题就是这。即使存在错误内容,它也始终处于其他条件。
这是我的对话框组件类
<div class="action-row-align dialog-component">
<div class="dialog-content" mat-dialog-content >
<div *ngIf="isLoading && !errorText" class="loading-content">
<mat-spinner></mat-spinner>
<h6>{{ loadingInfoText }}</h6>
</div>
<div class="error-content" *ngIf="!isLoading && errorText" >
<mat-card>
<mat-card-title>{{ 'Error' | translate }}</mat-card-title>
<mat-card-content>{{ errorText }}</mat-card-content>
</mat-card>
</div>
</div>
我的hasClass方法是
export class Utility {
static hasClass = (element, className) => element.getAttribute('class').then((classes) => classes.split(' ').indexOf(className) !== -1)
}
这是我的测试条件
let dialog = element(by.css('.dialog-component'));
let dialogContent = element(by.css('.dialog-content'));
await click.onto(option);
await expect(dialogContent.isDisplayed()).toBe(true);
if (await Utility.hasClass( await dialogContent, 'error-content') === true) {
await console.log(' chart error' );
} else {
await expect(dialog.isDisplayed()).toBe(true);
await expect(chart.isDisplayed()).toBe(true);
}
答案 0 :(得分:0)
选择器中没有点。
应该:
grouping
编辑:
问题是您正在尝试检查let dialogContent = element(by.css('.dialog-content'));
元素是否具有dialogContent
类。没有。 'error-content'
的孩子正在上课。您需要找到该选择器的子代。
编辑2: 我将简化代码:
dialogContent