我想在SeleniumJava中使用IF条件从下拉列表中选择依赖值
当我选择dropdown1时,我想从下拉列表中选择相互依赖的值-它给出一些特定的值,当我选择dropdown2时,它给出一些不同的值,因此使用if条件检查if(dropdown1==x) {选择y} 其他的 {选择一个}我想在SeleniumJava中使用IF条件从下拉列表中选择依赖值,java,selenium,selenium-webdriver,Java,Selenium,Selenium Webdriver,当我选择dropdown1时,我想从下拉列表中选择相互依赖的值-它给出一些特定的值,当我选择dropdown2时,它给出一些不同的值,因此使用if条件检查if(dropdown1==x) {选择y} 其他的 {选择一个} public class SelectingRadioButtons { public static void main(String[] args) { System.setProperty("webdriver.gecko.driver",
public class SelectingRadioButtons {
public static void main(String[] args) {
System.setProperty("webdriver.gecko.driver",
"C:\\geckodriver-v0.17.0-win64\\geckodriver.exe");
WebDriver driver = new FirefoxDriver();
driver.get("http://careerendeavour.com/admission-form/registration-form.php");
Select dropdown = new Select(driver.findElement(By.xpath(".//*[@id='center']")));
dropdown.selectByIndex(2);
Select subcourse = new Select(driver.findElement(By.xpath(".//*[@id='course']")));
subcourse.selectByValue("Regular Course");
if (subcourse.equals("Regular Course")) {
Select dropdown1 = new Select(driver.findElement(
By.xpath(".//*[@id='coursetp']")));
dropdown1.selectByValue("GATE");
}
}
}
您可以获得下拉列表的值,如下所示
String selectedcourse = subcourse.getFirstSelectedOption().getText();
然后你比较一下
if (selectedcourse.equals("Regular Course")) {
Select dropdown1 = new Select(driver.findElement(By.xpath(".//*[@id='coursetp']")));
dropdown1.selectByValue("GATE");
}
您的测试用例应该知道它是否选择了常规课程。一般来说,您应该避免在测试逻辑中使用类似的
if
语句,以使代码更易于维护、更具可读性,并且不那么脆弱。使用单元测试框架(如junit)提前而不是晚些时候重新设置项目也是值得的,这样您就不会通过main
方法运行测试。也就是说,您可以获取要单击的课程元素,并检查其值<代码>如果(subCourseElement.getAttribute(“value”).equals(“常规课程”)那么你被困在哪里了?考虑到subcourse
作为选择
类的一个实例,它将只对选择选项起作用。谢谢