当我作为测试套件运行时,在其他选项卡上打开测试失败

时间:2017-08-08 02:01:46

标签: javascript selenium protractor ui-automation

我在量角器UI测试中面临一个奇怪的问题。对于其中一项测试,我必须单击该链接,该链接将在不同的选项卡中打开。 当我单独运行该测试时,测试正在通过,但当我将其作为测试套件运行时,它会失败。

请检查代码并提出建议。

 function(callback){
            browser.getAllWindowHandles().then(function(tabs){
                var secondTab = tabs[1];
                var firstTab = tabs[0];
                browser.switchTo().window(secondTab).then(function(){
                    expect(browser.driver.getCurrentUrl()).toBe("www.google.com");
                    element(by.css('heading')).getText().then(function(text){
                        expect(text).toBe('Welcome');
                    });
                    browser.close(); //Close the current Tab
                });
                browser.switchTo().window(firstTab);
                //Log Out from the site
                element(by.id("side-menu")).click();
                element(by.linkText("Logout")).click();
                callback();
            });
        }

1 个答案:

答案 0 :(得分:0)

如果测试在您作为单个测试运行时通过,则问题可能与此段代码无关。它可能取决于框架中浏览器的处理方式

您可以尝试的一件事是在切换到新标签之前和之后给出browser.sleep()。因为当我们将它作为套件运行时,大多数同步问题都会出现。