如果我在Firefox中运行测试用例,则控件不会切换到iframe:量角器

时间:2019-06-26 14:00:45

标签: protractor

我正在尝试在Firefox中运行脚本(Protractor)。 页面上有iframe,我需要单击该iframe中的链接。该单击将重定向到新选项卡,我也需要切换该选项卡。 但按点击不起作用的代码

我试图稍等片刻,直到链接可点击但它不起作用

        var announcementsGadget = gadget.getAnnouncementGadget();
        expect(announcementsGadget.isDisplayed()).toBe(true);

        var iframe = gadget.getGadgetbyiFrame(announcementsGadget);
        browser.switchTo().frame(iframe.getWebElement());

        var allAnnouncements = gadget.getAllAnnouncementGadget();
        allAnnouncements.click().then(function() {

            browser.getAllWindowHandles().then(function(handles) {
                browser.sleep(4000)
                browser.switchTo().window(handles[1]).then(function() {
                    expect(browser.getCurrentUrl()).toEqual');
                    browser.sleep(sleep_interval);
                    browser.close();
                });

                browser.switchTo().window(handles[0]);
                browser.sleep(5000);
            });
        });

它应该点击allAnnouncements链接并切换到新标签

1 个答案:

答案 0 :(得分:0)

如果有多个iframe,则可以使用:

 browser.switchTo().frame(0);
  

切换到第一个iframe

并使用:

browser.switchTo().frame(1);
  

切换到第二个iframe

如果html中有一个iframe ,您还可以使用browser.switchTo().frame(0);切换到该iframe。

  

然后,您可以单击所需链接。例如:driver.findElement(by.tagName('a')).click();

     

之后,您必须通过以下方式切换到该iframe:

browser.switchTo().defaultContent();
  

现在,新的标签页已在浏览器中打开,您可以切换到新标签页,然后执行所需的操作。