如何在量角器中切换到通知弹出窗口?

时间:2018-07-20 20:43:54

标签: angularjs visual-studio-code protractor

我正在使用量角器自动化脚本以登录到angularJS(1.5)应用程序。我登录系统后出现问题。屏幕上出现angularJS弹出窗口,我无法单击它,也无法摆脱它。我无法将重点转移到通知弹出窗口上。

通知弹出窗口上OKAY按钮的HTML代码如下:

<button class="material_button" ng-click="notificationGranted();" style="margin-right: 0px !important;margin-top: 0px !important;margin-left: 1%;cursor: pointer;width: 40%;">
    <span>
        <span>Okay</span>
    </span>
</button>

浏览器:Chrome 操作系统:Linux

Notification Popup.jpg

enter image description here

代码如下:

this.clickOkayButton = function(){
        browser.driver.switchTo().activeElement();
        browser.wait(function () {
            return browser.wait(function () {
                return element(by.id('notificationPopUp')).isDisplayed();
            }, 2 * 1000)
            .then(function () { return true; }, function (error) { return false; });
     }, 20 * 1000);
     element(by.css('button.material_button')).click();
    }

2 个答案:

答案 0 :(得分:0)

尝试以下一个

   browser.driver.getAllWindowHandles().then(function (handles) {
    return browser.driver.switchTo().window(handles[index]);
  });

根据您的应用尝试将index设置为0或1。希望这对您有帮助

0506

答案 1 :(得分:0)

您不必切换到它。检查DOM,您会发现它是它的一部分并且可以被操作。

只需添加代码以等待显示:

browser.wait(EC.visibilityOf(element(by.css(".material_button"))), 150000, "OK Button is not visible").then(function() {
    element(by.css('.material_button')).click();
})