这似乎是一个非常简单的问题,但我真的在网上找不到答案,我自己也找不到答案。
我在我的应用程序中使用 AngularJS,在某些时候,我有一个原生 JavaScript 确认框/对话框,询问用户他/她是否想要接受或取消更改。
如何在我的测试中模拟选定的选项(使用量角器)?是否可以访问确认框并“单击”确定或取消并在我的测试中采取相应措施?我猜是这样的
ptor.switchTo().<something>
有可能,但我似乎找不到答案。
这似乎是一个非常简单的问题,但我真的在网上找不到答案,我自己也找不到答案。
我在我的应用程序中使用 AngularJS,在某些时候,我有一个原生 JavaScript 确认框/对话框,询问用户他/她是否想要接受或取消更改。
如何在我的测试中模拟选定的选项(使用量角器)?是否可以访问确认框并“单击”确定或取消并在我的测试中采取相应措施?我猜是这样的
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
如此简单优雅,却很难找到答案。希望这对其他人有帮助
从上面的评论中复制,但我不得不使用 browser.switchTo().alert() 而不是获取我的 Protractor 实例。
最终使用:
browser.switchTo().alert().accept();
回答警报对话框。
browser.switchTo().alert()
这对我有用。protractor.getInstance 方法对我不起作用。