3
我使用量角器1.7.0和角度1.2。使用量角器+角度在進行ajax調用時測試事件使用量角器+角度
我有一個功能,當我點擊一個按鈕說'加載結果'ajax請求被解僱,同時結果回來我看到一個按鈕說'取消請求'(取消正在進行的ajax請求,此按鈕當收到Ajax響應時會隱藏)。
我們測試它在量角器我wirting這樣的事情
//to load the results
element(by.css('#load-results')).click();
//to cancel ongoing ajax request to load results
element(by.css('.search-cancelled')).then(function(){
element(by.css('.search-cancelled')).click();
});
它給了我一個錯誤說該元素是不可見的。
就我所知,量角器在執行下一個語句之前等待角度來解決它的承諾。因此,直到它達到此代碼的時間
element(by.css('.search-cancelled')).then(function(){
element(by.css('.search-cancelled')).click();
});
ajax調用已返回,這就是爲什麼元素被隱藏。
有沒有一種方法可以讓量角器不等待角度承諾,並執行我的代碼時,Ajax請求正在進行?
你能解釋一下你正試圖在這裏做什麼? 我試着運行你的代碼,但同樣的事情也在這裏發生。 – user3522681 2015-02-25 09:05:34
我試圖運行你的代碼,但同樣的事情也發生在這裏。 執行'$('#load-results')。click();'量角器等待執行'waitElementToBeShown'之前返回的響應。所以基本上它不起作用,因爲它只有在當前語句完全執行時才執行下一個語句。 量角器內部使用硒,使用這種風格https://code.google.com/p/selenium/wiki/WebDriverJs#Control_Flows – user3522681 2015-02-25 09:12:36
如果我得到正確的初始文章,你點擊一些按鈕,並在它之後,你會收到額外的按鈕來取消AJAX請求。我在我的測試中使用了相同的模式,它工作正常。從字面上看,這段代碼點擊了按鈕,理想情況下,一旦它點擊DOM變化並出現新元素,您正在等待它出現在DOM 2中。要點擊它,並點擊它 – 2015-02-25 09:26:28