如何启用复选框已启用? 在selenium + Testng中,在应用程序中单击复选框将启用,我需要验证是否启用了复选框。提前感谢。
答案 0 :(得分:4)
有一种方法“isEnabled()”,用于检查是否启用了WebElement 。您可以使用以下代码来检查;
boolean enabled = driver.findElement(By.xpath("//xpath of the checkbox")).isEnabled();
(我上面使用了xpath,但您也可以使用id或cssselector来定位元素。)
如果相关的WebElement(即您的情况下是复选框)已启用,则上述代码将返回“true”,否则它将返回“false”。
并且,如果您希望检查是否选中了复选框,您可以使用“isSelected()”方法,您可以像这样使用;
boolean checked = driver.findElement(By.xpath("//xpath of the checkbox")).isSelected();
如果检查了相关的WebElement(即您的情况下是复选框),上面的代码将返回'true',否则它将返回'false'。
在评论中提及您的代码段,我想到了以下方法: -
如果选中该复选框,将返回字符串“Pass”,如果未选中则返回“Fail”,或者在执行此代码时出现任何错误。
public static String isCheckBoxChecked(String objlocator, String elemName) {
APP_LOGS.debug("Checking if the checkbox related to '"+elemName+"' is checked or not.");
System.out.println("Checking if the checkbox related to '"+elemName+"' is checked or not.");
try {
findWebElement(objlocator);
//Assuming the objLocator contains xpath
if (driver.findElement(By.xpath(objlocator)).isSelected()) {
System.out.println("Checkbox related to: '"+elemName+"' is checked.");
APP_LOGS.debug("Checkbox related to: '"+elemName+"' is checked.");
}else{
System.out.println("Checkbox related to: '"+elemName+"' is not checked!!");
APP_LOGS.debug("Checkbox related to: '"+elemName+"' is not checked!!");
return "Fail" + ": Checkbox related to: '"+elemName+"' is not checked!!";
}
}
catch (Throwable t) {
System.out.println("Error while Checking if the checkbox related to '"+elemName+"' is checked or not. -" + t.getMessage());
APP_LOGS.error("Error while Checking if the checkbox related to '"+elemName+"' is checked or not. -" + t.getMessage());
return "Fail"+": Error while Checking if the checkbox related to '"+elemName+"' is checked or not. -" + t.getMessage();
}
return "Pass"+": Checkbox related to: '"+elemName+"' is checked.";
}
答案 1 :(得分:0)
使用以下代码。这将根据是否选中复选框返回一个布尔值。在此基础上,您可以单击复选框。快乐的编码。
boolean selected = element.isSelected();
if(!selected)
{
element.click();
}
答案 2 :(得分:0)
如果您:
使用此功能bool flag = false;
if (checkBox1.Checked == true)
flag = true;
答案 3 :(得分:0)
//Checking
public void CheckingChkbox(WebElement chkbx1){
boolean checkstatus;
checkstatus=chkbx1.isSelected();
if (checkstatus==true){
System.out.println("Checkbox is already checked");
}
else
{
chkbx1.click();
System.out.println("Checked the checkbox");
}
}
//Unchecking
public void UnCheckingChkbox(WebElement chkbx1){
boolean checkstatus;
checkstatus=chkbx1.isSelected();
if (checkstatus==true) {
chkbx1.click();
System.out.println("Checkbox is unchecked");
}
else
{
System.out.println("Checkbox is already unchecked");
}
}
http://seleniumcodes.blogspot.in/2011/10/checking-and-unchecking-checkbox.html