我正在尝试切换AngularJS应用程序的弹出窗口。以下是我的代码:

    browser.ignoreSynchronization = true;
    browser.getAllWindowHandles().then(function (handles) {
        browser.switchTo().window(handles[1]);

    });

出现以下错误:
Failed: null value in entry: name=null
Stack:
UnknownError: null value in entry: name=null

最佳答案

您可能试图在实际打开之前切换到新选项卡-等待窗口句柄数超过自定义“预期条件”的期望数:

function windowCount(count) {
    return function () {
        return browser.getAllWindowHandles().then(function (handles) {
            return handles.length >= count;
        });
    };
};
browser.wait(windowCount(2), 10000);

browser.getAllWindowHandles().then(function (handles) {
    browser.switchTo().window(handles[1]);
});

10-02 19:59