选中 yii selenium 单选按钮?

yii selenium radio button is checked?

我想知道选中了两个单选按钮中的哪一个。我在测试文本输入和下拉菜单的值时没有问题,但我似乎无法弄清楚如何测试单选按钮是否被选中。

我在 php 中使用带有 yii(不是 yii2)的 selenium 测试驱动程序。有人知道怎么做吗?

例如,我如何确定选中了以下哪些单选按钮?

<input id="gender_0" value="M" type="radio" name="gender">
<input id="gender_1" value="F" type="radio" name="gender">

我现在尝试的方式是这样的

$this->assertNotNull('#gender_'.($gender == 'M' ? 0 : 1).':checked');
$this->assertNull('#gender_'.($gender == 'M' ? 1 : 0).':checked');

以下内容可在 Web 浏览器的控制台中运行,但我不知道如何在 php 中使用 yii 的 Selenium 网络驱动程序进行操作。

console.assert(document.querySelector('#gender_0:checked') != null);

这解决了我的问题:

$this->assertChecked('id=gender_'.($gender == 'M' ? 0 : 1));
$this->assertNotChecked('id=gender_'.($gender == 'M' ? 1 : 0));

我使用 assertChecked 和 assertNotChecked 而不是 assertNotNull 和 assertNull,将“#”更改为 'id=',并删除了“:checked”。