2012-05-16 32 views
3

我想檢查一個單選按鈕是否被選中或與它的ID例如。驗證選定的單選按鈕 - 硒IDE

元素需要檢查:

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

這是需要檢查的元素: user1398749

+0

抱歉,傢伙可以使用任何硒命令:驗證,檢查什麼。我只需要檢查它們是否被選中。謝謝! – user1398749

回答

1

命令:assertValue 目標:名稱= '通暢' 值:上

或東西很相似。您可以在Selenium IDE中使用建議的命令,方法是右鍵單擊單選按鈕並選擇其中一個命令。

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躲避到,你可以檢查其他屬性,如值或託運。這是可以做到像這樣:

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

這僅僅是:

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

使用Selenium IDE我喜歡的元素ID,這將是緊挨什麼t3hn00b建議:

命令:assertValue 目標:id = Evidence_of_Obstruction Value:on

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); 
} 

您可以使用rhis部分代碼。

0

你可以做這樣的事情......

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

上面的代碼將檢查是否複選框被選中。如果不是,那麼它將檢查該框並驗證該行爲是否按預期發生。上述方法唯一的缺點是我沒有找到一種方法來使用除NAME或ID之外的任何其他方法來執行此操作。這應該工作,如果您使用的複選框的名稱,在你的情況是我沒有得到這個工作使用XPATH或CSS,這將有助於即使該框不顯示狀態的變化[xpath ]當你檢查/取消選中它。

在這種情況下,你的複選框,或者沒有在網頁上或由於某種原因,你不能使用任何編號或名稱,代碼的任何變化,那麼你會做這樣的事情:

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標識複選框爲未選中(關閉)或已選中(打開)。您可以存儲複選框的狀態,並根據當前狀態確定如何處理複選框(如果有)。希望這可以幫助您或遇到此問題的其他人。