angularjs - 使用量角器茉莉单击窗口通知消息
问题描述
我正在使用量角器框架 Jasmine runner 进行 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
});
解决方案
尝试这个
browser.switchTo().alert().accept();
如果这不起作用试试这个
browser.ignoreSynchronization = true;
browser.switchTo().alert().accept();
browser.ignoreSynchronization = false;
推荐阅读
- javascript - 没有得到 Radio input Javascript 的值
- java - 如何将带有用户名和密码的代理添加到 Jsoup?
- makefile - 使用 makefile 编译 petsc 包含的代码,“.f90”失败,但“.F90”通过
- c++ - 嵌套类的成员没有被构造函数初始化
- windows - 为什么 Process Explorer 需要调试符号来显示内核内存限制?
- asp.net-mvc - ASP.NET MVC - 添加到视图模型列表并提交
- c# - 在 C# 中基于复选框选择(自定义活动开发)验证输入字段
- delphi - 试图让 Webauthn 运行
- python - 如何在 Python 中为水平条形图绘制百分比标签?
- c++ - 如何使用 mongocxx/bsoncxx 驱动程序 (C++) 将 JPEG / PDF 文件上传到 mongodb