Tuesday, March 25, 2025

Java Selenium: Customized Assert Message for A number of Checkbox


You possibly can Exchange Conditional with Polymorphism.

class Checkboxes {
  // ...
  Boolean multipleCheckboxVerification() {
    change (roleName) {
      case CheckboxA:
        return permissionPage.isSelectedChkA() && permissionPage.isSelectedChkC()
                && permissionPage.isSelectedChkE() && !permissionPage.isEnabledChkC() && !permissionPage.isEnabledChk();
      case CheckboxB:
        return !permissionPage.isSelectedChkA() && permissionPage.isSelectedChkC()
                && permissionPage.isSelectedChkE() && !permissionPage.isEnabledChkC() && !permissionPage.isEnabledChk();
       ....
    }
  }
}

Refactoring…

summary class Checkbox {
  // ...
  summary Boolean isValid(Web page permissionPage);
  summary String getErrorMessage();
}

class CheckboxA extends Checkbox {
  Boolean isValid(Web page permissionpage) {
    return permissionPage.isSelectedChkA() && permissionPage.isSelectedChkC()
                    && permissionPage.isSelectedChkE() && !permissionPage.isEnabledChkC() && !permissionPage.isEnabledChk();
  }
  String getErrorMessage() { return "Checkbox A is enabled the place it needs to be disabled"; }
}
class CheckboxB extends Checkbox {
  Boolean isValid(Web page permissionpage) {
    return !permissionPage.isSelectedChkA() && permissionPage.isSelectedChkC()
                    && permissionPage.isSelectedChkE() && !permissionPage.isEnabledChkC() && !permissionPage.isEnabledChk();
  }
  String getErrorMessage() { return "Checkbox B is enabled the place it needs to be disabled"; }
}

This manner, you possibly can maintain your swtich statements solely as new CheckboxA().isValid() or new CheckboxA().getErrorMessage(), e.g.

If it’s worthwhile to create a brand new checkbox, you simply must create a brand new class and add it to change assertion.

If it’s worthwhile to create additional particular circumstances of CheckboxA, e.g., you possibly can simply create a brand new class and override the strategies.

Related Articles

LEAVE A REPLY

Please enter your comment!
Please enter your name here

Latest Articles