1

嗨我想从点击一个链接后打开一个新标签的URL,并检查如果我得到期望值。我无法弄清楚如何做到这一点,因为我上的镀铬执行这个错误:如何获得新的打开标签网址与量角器

Failed: null value in entry: name=null 

在Firefox中测试通过,但有趣的是,它在新窗口中打开目标= _blank代替一个新标签的......

这里是我的代码:

var scrollBar = require("./lib/scroll_bar"); 

describe("WAM home blog tests", function() { 

    var URL = 'http://dev.wam.com.es'; 

    beforeEach(function() { 
     browser.driver.manage().window().maximize(); 
     browser.get(URL); 
    }); 

    it("Should find blog section after scrolling", function() { 
     scrollBar.doScroll(0, 1800); 
     expect($("#blog-panel").isPresent()).toBe(true); 
    }); 

    it("Should redirect to blog after click on link", function() { 
     var EC = protractor.ExpectedConditions; 

     scrollBar.doScroll(0, 1800); 
     element.all(by.css('div.blog-post > a')).first().click(); 

     browser.ignoreSynchronization = true; 
     browser.getAllWindowHandles().then(function (handles) { 
      console.log(handles); 
      browser.switchTo().window(handles[1]); 
      var header = element(by.id("header")); 
      browser.wait(EC.visibilityOf(header), 15000); 
      expect(browser.driver.getCurrentUrl()) 
       .toMatch(/^http:\/\/blog.wam.tv\/.*/); 
      browser.driver.close(); 
      browser.driver.switchTo().window(handles[0]); 
     }); 
    }); 

    afterEach(function() { 
     browser.ignoreSynchronization = false; 
    }); 

}); 
+0

您是否看到控制台上印有'handles'?你看到了多少人?谢谢。 – alecxe

+0

铬:[ 'CDwindow-8CDF6C53-A409-41E3-B43A-AB2B52525FF9'] 火狐:[ '{bee5199c-4f36-475f-AD40-d5fb304b2920}', “{095648c4-f048-4d22-ae4b-87af1a48df1a} '] 为什么是不同的类型? – Termosfera

回答

1

你可以做的是通过使开在新的浏览器窗口的链接SHIFT +单击:

var elm = element.all(by.css('div.blog-post > a')).first(); 
browser.actions().mouseMove(elm).keyDown(protractor.Key.SHIFT).click().keyUp(protractor.Key.SHIFT).perform(); 

这有助于我以前在类似的情况。

+0

嗨,它几乎工作。问题是它仍然获得第一个窗口url值。不管怎么说,还是要谢谢你。 – Termosfera

+0

@Termosfera ok,但是你现在看到2个手柄在Chrome上打印了吗? – alecxe

+0

是的,先生!谢谢!完成 – Termosfera

相关问题