Javascript 用量角器测试确认对话框
这似乎是一个相当简单的问题,但我真的无法在网上找到答案,我自己也无法找到答案 我正在为我的应用程序使用AngularJS,在某个时候,我有一个本机JavaScript确认框/对话框,询问用户是否要接受或取消更改 如何在测试中模拟所选选项(使用量角器)?是否可以访问确认框并“单击”确定或取消,并在我的测试中相应地执行操作?我猜是这样的Javascript 用量角器测试确认对话框,javascript,angularjs,testing,protractor,end-to-end,Javascript,Angularjs,Testing,Protractor,End To End,这似乎是一个相当简单的问题,但我真的无法在网上找到答案,我自己也无法找到答案 我正在为我的应用程序使用AngularJS,在某个时候,我有一个本机JavaScript确认框/对话框,询问用户是否要接受或取消更改 如何在测试中模拟所选选项(使用量角器)?是否可以访问确认框并“单击”确定或取消,并在我的测试中相应地执行操作?我猜是这样的 ptor.switchTo().<something> ptor.switchTo()。 这是可能的,但我似乎找不到答案。我想我可以回答我自己的问题
ptor.switchTo().<something>
ptor.switchTo()。
这是可能的,但我似乎找不到答案。我想我可以回答我自己的问题,因为这可能对其他人有用 首先,需要获取量角器实例:
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.switch().alert(),而不是抓取我的量角器实例 最终使用了:
browser.switchTo().alert().accept()代码>
回答警报对话框。browser.switchTo().alert()
这对我有用。gragrator.getInstance方法对我不起作用。我使用的是PhantomJS。也许这是一个特定版本的问题?在1.9.7版本中,它对我很有效。我有一个错误:同时使用1.9.7。很奇怪。可能没有任何帮助,但我实际上使用的是1.9.7-4,通过npm安装。browser.switch to().alert()
对我有效。看见