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

相關問題