我正在使用量角器自动化脚本以登录到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
代码如下:
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();
}
答案 0 :(得分:0)
尝试以下一个
browser.driver.getAllWindowHandles().then(function (handles) {
return browser.driver.switchTo().window(handles[index]);
});
根据您的应用尝试将index
设置为0或1。希望这对您有帮助
答案 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();
})