单击不可见的单选按钮

时间:2019-03-19 16:27:45

标签: angularjs selenium protractor automated-tests

我有一个单选按钮,它在检查元素时具有不可见的输入,这就是我看到的

When hovering, nothing is shown about the code

这是HTML

<rhr-radio-button element-id="criterion-type" model="$ctrl.criterion.criterionTypeRadio" ng-value="$ctrl.CRITERION_TYPE_COST" required="true" label="procurement.evaluation.criterion.options.criterion_type_cost" class="ng-scope ng-isolate-scope" value="COST"><!-- ngIf: $ctrl.horizontal !== 'true' && !$ctrl.readOnly --><div class="radio ng-scope" ng-if="$ctrl.horizontal !== 'true' &amp;&amp; !$ctrl.readOnly"><label><input type="radio" class="px ng-pristine ng-untouched ng-empty ng-invalid ng-invalid-required" name="criterion-type" ng-value="::$ctrl.value" ng-model="$ctrl.model" ng-required="$ctrl.innerRequired" ng-disabled="$ctrl.disabled" ng-change="$ctrl.onChange()" value="COST" required="required"> <span class="lbl ng-binding" ng-bind="::($ctrl.label | translate) + '&nbsp;'">Price&nbsp;</span><!-- ngIf: $ctrl.showHelpText === 'true' --></label></div><!-- end ngIf: $ctrl.horizontal !== 'true' && !$ctrl.readOnly --><!-- ngIf: $ctrl.horizontal === 'true' && !$ctrl.readOnly --><!-- ngIf: $ctrl.readOnly && $ctrl.value == $ctrl.model --></rhr-radio-button>

我已经尝试了所有方法,例如:

         await element.all(by.repeater("ng-scope")).all(by.css("input[type='radio']")).get(0).click();

      all(by.tagName('radio.ng-scope')).get(0).click();

       element(by.element-id('rhr-radio-button[element-id=criterion-type]')).click();

我怀疑这与我在检查时看不到元素有关。有什么想法吗?

2 个答案:

答案 0 :(得分:0)

我不知道(通过UI)使不可单击单选按钮是否是一件好事,但是您可以在component.ts中使用jQuery单击它。
例如,您可以添加一个“ radioButton”之类的ID,然后只需添加

  

$('#radioButton')。click()

在您的ngOnInit()上。该按钮将被单击,就像被用户单击一样。

答案 1 :(得分:0)

尝试这个xpath。

 element(By.xpath("//div[@class='col-sm-8']//input[@value='COST' and @type='radio']")).click();
相关问题