2016-04-22 39 views
0

代碼片段按鈕雙擊:與量角器

<div class="add create_Amenities" hs-gesture="{handler:showPopup, param:menu_group}" ng-if="showPlus(menu_group,$index)"> 

所需的操作:上一個按鈕,將進入下一個頁面,雙擊。

我輸入以下命令,我的瀏覽器出現了,但我必須再次手動點擊「添加」按鈕才能進入下一頁。該命令沒有點擊

問:我怎樣才能使這個命令雙擊(添加)按鈕。我嘗試了不同的方式,但我沒有成功。有任何想法嗎?

browser.driver.actions().mouseMove(element(by.css('.add.create_Amenities'))).perform(); 

element.all(by.css('.add.create_Amenities')).then(function (elm) { 

    elm[0].click(); 
}); 
+0

你可以直接調用'click()'兩次嗎? '榆樹[0]。點擊(); elm [0] .click();' – Gunderson

+0

有些方法可以在量角器中做到這一點,比如'browser.actions()。doubleClick(element).perform();'https://github.com/angular/protractor/問題/ 2989不幸的是,有一個與它相關的錯誤,直到問題得到解決,我只需點擊兩次元素,也許寫一個doubleClick幫助函數。 – sonhu

+0

我嘗試按照建議的方式單擊元素兩次,但仍然出於某種原因未點擊該按鈕。 – Kevin

回答

0

我曾經多次從網上社區幫助我取得了雙擊爲我工作。我工作的關鍵是每次點擊之間有1秒的延遲。如果我刪除延遲,雙擊不會發生。

var AddButton = element(by.css(".add.create_Amenities")); 
browser.actions().mouseDown(AddButton).mouseUp().perform(); 
browser.sleep(1000);  
browser.actions().mouseMove(AddButton).click().perform(); 
1
let addButton = $('.add.create_Amenities'); 
addButton.click(); 
addButton.click(); 

或者如果你喜歡的動作:

let addButton = $('.add.create_Amenities'); 

browser.actions() 
    .click(addButton) 
    .click(addButton) 
.perform(); 

// Didn't tried this: 
browser.actions().doubleClick(addButton).perform(); 
+0

我嘗試了你的建議命令,但它不會點擊「添加」按鈕。 – Kevin

0

試試這個:

browser.actions().doubleClick(browser.element(by.css('.add.create_Amenities'))).perform(); 
+0

尼克,我試過你的建議命令,但它不會點擊按鈕 – Kevin

+0

錯誤是什麼? [嘗試調試](https://angular.github.io/protractor/#/api?view=Protractor.prototype.enterRepl) – Nick

+0

完全沒有錯誤。只是不點擊元素。 – Kevin