在编写自动化测试用例时,我们有时候会需要编写脚本来验证下拉框的选项个数,以及验证下拉选项描述是否与需求一致。
如下图,测试需求为:
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+"项,不可多选,选项均显示正确");
}
}