我正在使用Protractor自动测试我的应用程序。我通过将css类定义为html来获取元素。现在,我有了一个mat表单域。在mat表单域中,我有许多mat选项。我想为这个选项实现一个随机选择来测试我的应用程序。我在详细解释。
在我的HTML类中
<mat-form-field>
<mat-select class="t-day" matInput placeholder="{{ 'Day' | translate }}" [(ngModel)]="settings.day" name="day">
<mat-option class="t-hour-option" *ngFor="let day of days" [value]="day.value">{{ day.text }}</mat-option>
</mat-select>
</mat-form-field>现在,在test类中,我首先单击字段,然后从其中选择一个随机选项。我正试着这样做。
let dayfield = element(by.css('.t-day'));
let picktime = element.all(by.css('.t-hour-option.mat-option:not(.t-hour-option.mat-option.mat-selected.mat-active)'));
await click.onto(productionDayEnd)
await productionDayEnd.isDisplayed();
await click.onto(picktime);但它不能点击,也不能工作。我不确定在这种情况下哪里出了问题。
发布于 2018-09-21 21:58:44
您正在使用.mat-option作为类,但它实际上是一个标记。
$$('mat-option.t-hour-option:not(.mat-active)'); OR
$$('.t-hour-option:not(.mat-active');是一些潜在的解决方案。
但是,我没有看到一个名为.mat-active的类,尽管它可能会被呈现(angular不是最好的)。如果.mat-active是一个类似于.mat-option的标记,那么您可能希望这样做
:not(mat-active)
https://stackoverflow.com/questions/52443449
复制相似问题