1. 程式人生 > >Selenium獲取並驗證下拉框選項值

Selenium獲取並驗證下拉框選項值

在編寫自動化測試用例時,我們有時候會需要編寫指令碼來驗證下拉框的選項個數,以及驗證下拉選項描述是否與需求一致。

如下圖,測試需求為:

1.驗證該下拉框選項個數為8

2.驗證該下拉框不可多選

3.驗證8個下拉選項描述正確

4.選擇“無社保”項


測試指令碼如下:

public void SheBao() throws Exception {
		 /** 檢查社保資訊核實選項**/  
        // 預期的選項內容存放在StateOptions  
        List<String> StateOptions = Arrays.asList(new String[] {"請選擇","社保單位名稱與申請表一致",
        		"社保單位名稱與申請表不一致","無社保","無法驗證社保資訊","其他","欺詐嫌疑","未填"});
        //獲取StateOptions選項內容個數
        int size1=StateOptions3.size();
        /** 遍歷下拉列表所有選項**/  
        Select selectState = new Select(driver.findElement(By.name("MCRG03"))); //通過name屬性定位到社保選項
       // 驗證下拉列表不支援多選
        Assert.assertFalse(selectState.isMultiple());
        List<String> act_StateOptions= new ArrayList<String>();//例項化一個list表
        // 判斷選擇內容  
        for (WebElement e : selectState.getOptions()) {  
         // 將實際的下拉列表內容注入到act_StateOptions中  
            act_StateOptions.add(e.getText());  
        }  
        //將實際結果與預期的選項內容進行比較。
        Assert.assertEquals(StateOptions.toArray(), act_StateOptions.toArray()); 
        //選擇“無社保”項
        selectState.selectByVisibleText("無社保");
        //列印結果資訊
        System.out.println("社保資訊核實--下拉列表共"+size1+"項,不可多選,選項均顯示正確");
} 
}