'java.lang.IllegalArgumentException error showing for Alert Verification

I'm getting

java.lang.IllegalArgumentException: Input must be set

error for my code.

Then an alert message should say Sign up is successful                               # test.cucumber.featureSteps.SignUpFeatureSteps.userViewTheAlertMessageSayingSignUpIsSuccessful()
      java.lang.IllegalArgumentException: Input must be set

Code in page oject: SignupPage.java:

public void verifySuccessfulSignup() {
        try {
            WebDriverWait wait = new WebDriverWait(driver, 5);
            wait.until(ExpectedConditions.alertIsPresent());
            Alert signupSuccessfulAlert = driver.switchTo().alert();
            String signupSuccessfulAlertText = signupSuccessfulAlert.getText();
            assertEquals("Sign up successful.", signupSuccessfulAlertText);
        } catch (NoAlertPresentException e) {
            fail("Alert not shown");
        }
    }

Code in Step file, SignUpSteps.java:

SignupPage signupPage;

 @Step("Verifying alert saying Signup is Successfull")
    public void verifySuccessfulSignup() { signupPage.verifySuccessfulSignup(); }

Code in Feature step file:

@Steps
    SignUpSteps signupUser;

 @Then("an alert message should say Sign up is successful")
    public void signUpSuccessful() {
        signupUser.verifySuccessfulSignup();
    }

Code in SignupSteps.java:

    @Step("Verifying alert saying Signup is Successfull")
    public void verifySuccessfulSignup() { signupPage.verifySuccessfulSignup(); }

}


Sources

This article follows the attribution requirements of Stack Overflow and is licensed under CC BY-SA 3.0.

Source: Stack Overflow

Solution Source