点击Checkbox不适用于量角器

时间:2018-01-16 08:16:53

标签: javascript html angularjs protractor

我的量角器自动化脚本无法单击1复选框。当我检查原始代码时,没有id,除了ng-touching / ng-untouched和male / female之外,很可能没有id。还有其他方法可以点击此复选框吗?

以下代码。

男性复选框:

 <div ng-repeat="gender in genders" class="ng-binding ng-scope" style="">
                                                    <input type="checkbox" ng-
    model="usergender" ng-checked="usergender == gender.ParameterId" ng-
    click="genderId(gender.ParameterId, $event)" class="group1 genderChkBox ng-
    pristine ng-valid ng-empty ng-touched" style=""> Male
                                                </div>

女性复选框:

<input type="checkbox"ng-model="usergender" ng-checked="usergender == 
gender.ParameterId" ng-click="genderId(gender.ParameterId, $event)" 
class="group1 genderChkBox ng-pristine ng-untouched ng-valid ng-empty"> 
Female </div>

我已尝试使用以下代码检查男性,但收到此消息错误:失败:男性未定义

var male = element(by.model('usergender'));
        male.click();
        expect(Male.getText()).toBe('Male');

2 个答案:

答案 0 :(得分:0)

如果您使用的是最新的量角器,请尝试使用

$('.genderChkBox').click().then(()=>{
    expect(Male.getText()).toBe('Male');
});

答案 1 :(得分:0)

var gander = element.all(by.model('usergender'));
   gander(0).click().then(function(){
   expect(gander(0).getText()).toBe('Male');
   expect(gander(1).getText()).toBe('Female');
});

或者您可以使用以下方式执行单个操作: -

var male = element(by.xpath('.//*[text()="male"]']));
male.click().then(function(){
expect(male.getText()).toBe('Male');
});