【发布时间】:2018-03-02 12:14:18
【问题描述】:
我已经阅读了几个类似问题的问题/答案,但我还没有找到解决我的问题的方法,并且在过去的几个小时里一直在绞尽脑汁思考这个问题。
在我正在为其编写测试的 Web 表单上,有几个下拉列表,如果从其中选择了“不知道”选项,则会显示一个复选框,需要选中或无法提交表格。
我将选定的值存储为字符串,然后单击 IF 语句中的复选框,检查这些下拉值是否为“不知道”(下拉列表中的实际值记录为“不知道”):
String drpdwn_WAN = driver.findElement(By.id("idontknow4")).getAttribute("value");
String drpdwn_SFTPAuthMethod = driver.findElement(By.id("idontknow5")).getAttribute("value");
String drpdwn_SFTPCreds = driver.findElement(By.id("idontknow6")).getAttribute("value");
String drpdwn_Bandwidth = driver.findElement(By.id("idontknow7")).getAttribute("value");
String drpdwn_Data = driver.findElement(By.id("idontknow8")).getAttribute("value");
//click on the Understood check box (only appears when 'Don't know' option is selected)
if(drpdwn_WAN == "Dont know" || drpdwn_SFTPAuthMethod == "Dont know" || drpdwn_SFTPCreds == "Dont know" || drpdwn_Bandwidth == "Dont know" || drpdwn_Data == "Dont know"){
driver.findElement(By.name("understand")).click();
}
我已在调试模式下运行代码并确认下拉值已正确存储,但即使至少有一个下拉值是“不知道”,它也不会在 IF 中运行代码声明,而只是忽略它。
我已经编写了测试,以便从下拉列表中选择的选项是随机的,因此需要大量条件逻辑来验证页面上的其他元素,例如复选框。因此,上面只是我的代码中的 IF/ELSE 语句类型的一个示例,但似乎任何 IF/ELSE 语句中包含的所有代码都没有被执行,而是被忽略和传递。谁能向我解释我在这里做错了什么以及为什么 IF 语句似乎没有被执行?
这是我第一次在这里发帖,如果有任何信息缺失或不清楚,敬请见谅。如果解决方案相当简单,但我是 Java 开发领域的新手。
提前感谢您提供的任何帮助!
【问题讨论】:
-
猜你应该阅读这个关于Java中字符串比较的答案stackoverflow.com/questions/513832/…
-
@AlexeyDolgopolov 问题解决了!非常感谢您指出我正确的方向:)
标签: java if-statement selenium-webdriver