17

这似乎是一个非常简单的问题,但我真的在网上找不到答案,我自己也找不到答案。

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

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

ptor.switchTo().<something>

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

4

3 回答 3

26

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

首先,您需要获取 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

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

于 2014-05-29T10:19:51.130 回答
13

从上面的评论中复制,但我不得不使用 browser.switchTo().alert() 而不是获取我的 Protractor 实例。

最终使用:

browser.switchTo().alert().accept();

回答警报对话框。

于 2015-07-14T18:55:18.743 回答
0

browser.switchTo().alert()

这对我有用。protractor.getInstance 方法对我不起作用。

于 2018-08-08T00:22:19.970 回答