我正在使用量角器框架JasmineRunner进行Angular测试。如果每个项目都有CSS选择器,我可以单击它。现在一个问题是我的应用程序中有一个删除按钮。如果我单击删除按钮,则有一个窗口通知消息,其中有两个选项,确定,取消。我看不到任何CSS选择器,通过它我可以在运行的测试中单击“确定”。结果测试失败。
我正在用我的代码解释。
我的html代码
<mat-card-actions>
<button mat-raised-button color="warn" (click)="onDeleteUser(selectedUser)" class="btn btn-default t-delete-user" [disabled]="!selectedUser.userId">{{ 'Delete'}}</button>
</mat-card-actions>
我的打字稿代码
onDeleteUser( user ) {
if ( window.confirm( this.translateService.instant( "DeleteUser" )) ) {
this.userService.delete( this.selectedUser ).subscribe(
succ => {
this.notificationSerice.showOK( this.translateService.instant( "UserDeleted" ) );
this.selectedUser = null;
this.selectedUserRole = null;
this.loadUserPage();
},
err => this.notificationSerice.showError( this.translateService.instant( "CouldNotDeleteUser" ))
);
}
}
我以这种方式在量角器测试中写
let deleteUser = element(by.css('.t-delete-user'));
it('Delete button is clicked and a pop up message is appeared', async () => {
await click.onto(deleteUser);
//click.onto(ok);
// but do not know how can I click ok from the window message
});
答案 0 :(得分:0)
尝试一下
browser.switchTo().alert().accept();
如果这不起作用,请尝试这个
browser.ignoreSynchronization = true;
browser.switchTo().alert().accept();
browser.ignoreSynchronization = false;