微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

在firefox中运行量角器测试,清除弹出窗口

如何解决在firefox中运行量角器测试,清除弹出窗口

我正在对我的角度应用程序进行量角器端到端测试。我无法使用ENTER或ESCAPE清除弹出窗口。

await element(by.xpath("//*")).sendKeys(protractor.Key.ENTER); 
or 
await element(by.xpath("//*")).sendKeys(protractor.Key.ESCAPE);

我想针对Firefox运行测试,在谷歌浏览器中运行测试没有任何问题 在下面附上了下载弹出窗口,我尝试更改浏览器中的设置,以使弹出窗口不出现但在下面对我不起作用。

工具菜单>选项>常规选项卡>下载部分>清除下载窗口的相应复选框。 我的firefox版本是82.0

下面是测试

it("should clear the pop up and proceed",async function(){
  await element(by.xpath("//*")).sendKeys(protractor.Key.ESCAPE);
  wait = browser.wait(EC.elementToBeClickable($('#mat-expansion-panel-header-0')),5000);
  let pageTitle = await browser.getTitle();
  expect(pageTitle).toEqual('xyz');
})

有关如何清除Firefox运行端对端测试中弹出窗口的任何建议或帮助,将非常有用!

enter image description here

解决方法

有关警报的信息

我们无法使用检查工具识别警报。

我们不能为警报编写xpaths

它不是窗口

我们无法使用JavaScript执行器处理警报。

不允许在网页上执行任何其他操作

警报类提供了几种方法来处理网页中显示的警报;使用这些方法,我们可以接受,关闭,获取警报的详细信息,还可以设置一些值。

我们必须创建Alert类的对象。我们可以像Alert al = new Alert()一样创建它,但是该对象仅表示一个内存地址,显然我们可以访问内部的方法,但是该对象不知道,应在何处或在哪个页面上执行此操作 accept() dismiss() getText() sendKeys()

我们可以如下创建对象警报:

let abc:Alert = browser.switchTo().alert();。现在您可以接受或关闭它。

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。