2
能否請你有什麼建議,我做錯了,我得到這個很奇怪的例外:量角器是無法打開一個新的標籤
失敗:未知的錯誤:「名稱」必須是一個字符串(會話信息:鉻= 53.0.2785.101)(驅動程序信息:chromedriver = 2.25.426924(649f9b868f6783ec9de71c123212b908bf3b232e),平臺= Linux的3.13.0-100泛型x86_64的)
function ensureNumberOfTabs(numberOfTabs) {
return this.browser.getAllWindowHandles()
.then(function(handles) {
return handles && handles.length >= numberOfTabs && handles[numberOfTabs];
});
}
this.openTab = function(index, timeout) {
timeout = timeout || DEFAULT_WAIT_FOR_TIMEOUT;
var thisBrowser = this.browser;
var deferred = protractor.promise.defer();
function errHandler(err) {
deferred.reject(err);
}
//wait to open the tab
thisBrowser.wait(ensureNumberOfTabs(index), timeout, 'waiting for opening tab #' + index);
//switch to the tab
thisBrowser.getAllWindowHandles().then(function(tabs) {
var tab = tabs[index]; // this is your new window
thisBrowser.switchTo().window(tab).then(function() {
deferred.fulfill();
}, errHandler);
}, errHandler);
return deferred.promise;
};
據我瞭解我其實檢查名稱有東西在&& handles[numberOfTabs];
的問題,當然,只是有時會發生......
任何意見將非常歡迎:)出現在節點6,量角器4.0.11,鉻53和驅動2.25
這個問題,在Ubuntu 14
您確定'tab'是'thisBrowser.switchTo()。window(tab)'中的字符串嗎?似乎這將是問題出在哪裏?堆棧跟蹤會告訴您發生錯誤的位置? – tehbeardedone
這就是問題所在,我不是提供'tab'的代碼的所有者。所以我的問題是爲什麼我沒有得到處理程序? – Andrej
當我在步驟之間添加一些睡眠命令現在我可以打開選項卡,但我得到「[ng:test]沒有找到元素參數注入:(任何幫助將很大 – Andrej