Selenium獲取並驗證下拉框選項值
阿新 • • 發佈:2019-01-23
在編寫自動化測試用例時,我們有時候會需要編寫指令碼來驗證下拉框的選項個數,以及驗證下拉選項描述是否與需求一致。
如下圖,測試需求為:
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+"項,不可多選,選項均顯示正確"); } }