2016-01-25 53 views
1

我有一個簡單的複選框,我想用量角器(AngularJS)來檢查。使用量角器檢查複選框

我想:

$('.checkbox-class-name').click(); 

但它並不能幫助。選擇器正在工作(找到我的元素),但點擊沒有運氣。我也試過:

it('should test something if checkbox is checked', function (done) { 
    myPage.navigate(); 
    $('.checkbox-class-name').click().then(function() { 
    //expect something here 
    done(); 
    }) 
}); 

但它不工作(這是內部的「然後」獲得,但如果我停下我看到複選框未選中的瀏覽器)

我在做什麼錯?

編輯我的HTML代碼:

所有的
<div ng-if="vm._getTermsAndConditionsFlag()"> 
    <input class="checkbox-class-name" id="checkbox-name" 
      ng-model="vm.termsAndConditionsChecked" type="checkbox"> 
    <label for="checkbox-name" >I agree to the terms & conditions</label> 
</div> 
+0

您還可以添加您的複選框的HTML代碼 你的問題?謝謝 –

+0

@GirishSortur新增.. –

回答

3

首先,檢查如果是這樣的選擇相匹配的唯一元素,你實際上是定位所需複選框。另外,儘量移動到元素然後又做了點擊:

var checkbox = $('.checkbox-class-name'); 
browser.actions().mouseMove(checkbox).click().perform(); 

或者,滾動到元素的觀點

browser.executeScript("arguments[0].scrollIntoView();", checkbox.getWebElement()); 
checkbox.click(); 

或者,點擊通過JavaScript(做了解implications雖然):

browser.executeScript("arguments[0].click();", checkbox.getWebElement()); 
+0

謝謝。 1.這是唯一的類(唯一),並且選擇器正在工作(測試'isPresent'並且成立)。 2. Trued移動它 - 沒有工作): –

+0

@YanivEfraim好吧,謝謝,更新了幾個更多的選項。 – alecxe