量角器 - 切换标签错误

时间:2015-09-30 06:49:27

标签: javascript selenium selenium-webdriver protractor angularjs-e2e

我正在尝试切换到另一个标签并在新标签页上使用控件,我收到此错误:

  

UnknownError:条目中的null值:name = null

这是测试(重要部分):

element(by.repeater("project in projects").row(1).column("{{project.name}}")).click().then(function(){

       flow.timeout(5000);
       $('.project-data a').click().then(function () {
            browser.getAllWindowHandles().then(function (handles) {

         flow.timeout(5000);

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

           });

测试中还有其他部分,但由于我在这部分中得到了错误,因此无关紧要。 流程是这样的: 单击链接后,选项卡打开,似乎切换到新选项卡 - 然后失败并关闭窗口。

1 个答案:

答案 0 :(得分:1)

而不是像flow.timeout(5000)那样使用browser.wait

browser.wait(function() {
    return handles.length > 1
}, 5000);

而不是第二个flow.timeout(5000)使用:

browser.wait(function() {
    return browser.getCurrentUrl().then(function (url){
        return url = "url of the second tab";
    });
}, 5000);

它看起来更干净,处理得更好,最重要的是,它将完成这项工作