验证选定的单选按钮 - Selenium IDE

时间:2012-05-16 13:51:09

标签: selenium selenium-ide

我想检查是否选择了带有ID的单选按钮。

需要检查的元素:

<input id="Evidence_of_Obstruction" class="" type="Radio" checked="" onclick="changeSaveStatus(this, "72");" value="0" name="Patency">

6 个答案:

答案 0 :(得分:1)

命令:assertValue 目标:name ='Patency' 价值:上

或类似的东西。您可以通过右键单击单选按钮并选择其中一个命令,在Selenium IDE中使用建议的命令。

答案 1 :(得分:1)

使用Selenium IDE我更喜欢元素ID,它们与t3hn00b建议的内容相近:

命令:assertValue 目标:id = Evidence_of_Obstruction 价值:上

答案 2 :(得分:0)

在WebDriver中,这将是:

IWebElement element = _driver.FindElement(By.Id("Evidence_of_Obstruction"));
if(element.Selected)
    ; //then it is selected
else
    ; //then it is NOT selected

或者,如t3hn00b所示,您可以检查另一个属性,例如Value或Checked。这可以这样做:

IWebElement element = _driver.FindElement(By.Id("Evidence_of_Obstruction"));
string result = element.GetAttribute("checked"); // or replace checked with value
//then check the strings contence.

答案 3 :(得分:0)

这只是:

<tr>
    <td>verifyChecked</td>
    <td>Evidence_of_Obstruction</td>
    <td></td>
</tr>

答案 4 :(得分:0)

请使用以下代码: -

driver.manage().timeouts().implicitlyWait(0, TimeUnit.MILLISECONDS);
if(  exists = driver.findElements( By.id("your id") ).size() != 0)
{
    driver.manage().timeouts().implicitlyWait(3, TimeUnit.SECONDS);
}

您可以使用此部分代码。

答案 5 :(得分:0)

你可以做点像......

if   |   !selenium.isChecked("Patency")
   waitForElementPresent   |   name=Patency
   click                   |   name=Patency
   waitForValue            |   name=Patency   |   on
endIf

上面的代码将检查是否已选中此框。如果没有,那么它将选中该框并验证操作是否按预期发生。上述方法唯一的缺点是我没有找到一种方法来使用除NAME或ID之外的任何内容复选框。如果您使用复选框的名称,这应该工作,在您的情况下,我没有使用XPATH或CSS工作,这将有助于即使该框没有显示状态的变化[xpath当你检查/取消选中它时。

如果您的复选框在网页上没有任何代码更改或由于某种原因您无法使用ID或NAME,那么您将执行以下操作:

storeValue   |   xpath=//input[@id="Evidence_of_Obstruction"][@name="Patency"]   |   isBoxChecked
if           |   storedVars['isBoxChecked']=='on'
   goto   |   NEXT_TASK
else
   waitForElementPresent   |   xpath=//input[@id="Evidence_of_Obstruction"][@name="Patency"]
   click                   |   xpath=//input[@id="Evidence_of_Obstruction"][@name="Patency"]
   waitForValue            |   xpath=//input[@id="Evidence_of_Obstruction"][@name="Patency"]   |   on
endIf
label   |   NEXT_TASK

此代码利用Selenium IDE将复选框标识为未选中(关闭)或选中(打开)。您可以存储复选框的状态,并根据其当前状态确定如何处理复选框(如果有)。希望这可以帮助您或遇到此问题的其他人。