2017-05-08 54 views
0

我的HTML看起来像:无线电控制隐形

<label class="btn-radio "> 
 
    <input type="radio" value="1" name="pens" class="input_normal">     
 
    <span></span>Yes 
 
</label> 
 
...

在我codeception测试中,我尝试设置无线控制:

$I->selectOption("//*[@name=pens]/ancestor::label", "1"); 

但它失败有错误:

“无法选择选项”// * [@ name ='pens'and @ value ='1']/ancestor :: label“,”1“: ElementNotVisibleException:元素不可见”。

当我删除包装标签,然后它的工作,但用户界面被毁。 有没有人遇到过这个问题?

+1

你看到这个http://automated-testing.info/t/kak-pravilno-vybrat-radio-button-esli-on-pererisovan- na-js/12064? – mcklayin

回答

0

mcklayin在他的评论中给出了解决方案的正确链接。 这是我的解决方案(在需要时供其他人使用)。我不得不更换selectOption()的点击():

$pensionRequestField = "form#loan_application>div.form_fieldset>section>div#step1>div.row>div.col-19-24>fieldset#pension_registry>label#pension_option1"; 
$I->click(self::$pensionRequestField);