javascript - 使用 Protractor 测试确认对话框

标签 javascript angularjs testing protractor end-to-end

这似乎是一个很简单的问题,但我确实在网上找不到答案,而且我自己也找不到答案。

我在我的应用程序中使用 AngularJS,在某些时候,我有一个 native JavaScript 确认框/对话框,询问用户他/她是想接受还是取消更改。

如何在我的测试中模拟选定的选项(使用 Protractor)?是否可以访问确认框并“单击”确定或取消并在我的测试中采取相应的行动?我猜是这样的

ptor.switchTo().<something>

有可能,但我似乎找不到答案。

最佳答案

我想我可以回答我自己的问题,因为这可能对其他人有用。

首先,您需要获取 Protractor 实例:

var ptor = protractor.getInstance();

确认对话框的处理方式与警报的处理方式相同,所以像这样的东西就可以了:

var alertDialog = ptor.switchTo().alert();
alertDialog.accept();  // Use to accept (simulate clicking ok)
alertDialog.dismiss(); // Use to simulate cancel button

如此简单而优雅,却很难找到答案。 希望这对其他人有帮助

关于javascript - 使用 Protractor 测试确认对话框,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23891698/

相关文章:

javascript - 需要替换文件路径中特定值的正则表达式模式

javascript - 为什么我的状态没有改变,为什么我对 {store.getState()} 的引用根本没有出现?

angularjs - 为什么需要测试中的服务提供者(未知提供者)?

angularjs - 什么是 AngularJS 的 Angular 种子和 Angular-Seed 项目?

django - 无法解决页面内容的 Django 测试

javascript - 同时测试两个不同的 npm 包版本

javascript - 我无法理解此 JavaScript 语句中的括号

javascript - 有人可以向我解释 redux 形式验证中的这个逻辑吗?

javascript - 使用 AngularJS 在现有 JSON 文件中写入文本框值

javascript - Angular js 中的多个指令