如何检查是否启用了复选框?

时间:2014-11-10 06:41:29

标签: selenium testng

如何启用复选框已启用? 在selenium + Testng中,在应用程序中单击复选框将启用,我需要验证是否启用了复选框。提前感谢。

4 个答案:

答案 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