2016-08-13 128 views
1

我用angular2-webpack-starter創建了我的應用程序,我用它socket.io。我創建了一個公共服務來創建套接字連接並聆聽它的方法。該服務的使用和初始化在用戶登錄後,當應用程序正在運行,並且我執行測試用例進行登錄,我檢查的網址與下面的代碼:Angular2 e2e量角器拋出錯誤的測試案例

browser.getCurrentUrl().then((url) => { 
    expect(url).toEqual('/dashboard');  
}); 

的問題是,當套接字連接的投擲的錯誤「超時15秒後等待量角器與頁面同步,並且如果套接字未連接,則相同的測試例運行時沒有任何錯誤。

+0

您是否試過'expect(browser.driver.getCurrentUrl())。toEqual('/ dashboard');'? – alecxe

+0

這是錯誤不僅是'browser.getCurrentUrl()',但這個錯誤即將發生在我所有的測試用例中,也是我對不同的選擇器使用了一些不同的'expect'條件。所有測試用例都在套接字未實現之前工作,但是在添加套接字後,它停止工作。 – ranakrunal9

+0

我敢打賭,你在測試和量角器控制流程中實現套接字的方式有些不同步。你介意用相關的測試代碼更新你的文章嗎? – martin770

回答

1

我不知道,如果連接到插座實際上是使事情需要更長的時間或沒有,但如果15秒不夠的時候,你可以改變你的量角器配置文件 allScriptsTimeout:timeout_in_millis

protractor timeouts

+0

我已經嘗試過,但沒有奏效。我認爲是問題是因爲在連接到服務器完成之後套接字連接保持打開狀態,量角器正在等待通過關閉連接來完成該過程。 – ranakrunal9

+0

我看到同樣的問題,我同意你的看法,它必須是websocket。我們正在打開一個websocket,並等待着一個可觀察的。 –

相關問題