public void RegistrationButtonEnabledOnlyWhenFormValid() { HtmlDiv registerDiv = new HtmlDiv(this.window); registerDiv.SearchProperties.Add(HtmlDiv.PropertyNames.Id, "registerControl", PropertyExpressionOperator.EqualTo); SetFormValues(registerDiv, "a", "b", String.Empty); SetFormValues(registerDiv, String.Empty, String.Empty, null); HtmlButton submitRegisterButton = new HtmlButton(registerDiv); Assert.IsTrue(submitRegisterButton.TryFind()); Assert.IsFalse(submitRegisterButton.Enabled); SetFormValues(registerDiv, "mike", null, null); Assert.IsFalse(submitRegisterButton.Enabled); SetFormValues(registerDiv, null, "password", null); Assert.IsFalse(submitRegisterButton.Enabled); SetFormValues(registerDiv, null, null, "nomatch"); Assert.IsFalse(submitRegisterButton.Enabled); SetFormValues(registerDiv, null, null, "password"); Assert.IsTrue(submitRegisterButton.Enabled); }
public void RegistrationButtonEnabledOnlyWhenFormValid() { HtmlDiv registerDiv = new HtmlDiv(this.window); registerDiv.SearchProperties.Add(HtmlDiv.PropertyNames.Id, "registerControl", PropertyExpressionOperator.EqualTo); SetFormValues(registerDiv, "a", "b", String.Empty); SetFormValues(registerDiv, String.Empty, String.Empty, null); HtmlButton submitRegisterButton = new HtmlButton(registerDiv); Assert.IsTrue(submitRegisterButton.TryFind()); Assert.IsFalse(submitRegisterButton.Enabled); // demo: would prefer the password hidden checks looked more like this #region Spoiler // ... sounds like a job for page objects #endregion SetFormValues(registerDiv, "mike", null, null); Assert.IsFalse(submitRegisterButton.Enabled); SetFormValues(registerDiv, null, "password", null); Assert.IsFalse(submitRegisterButton.Enabled); SetFormValues(registerDiv, null, null, "nomatch"); Assert.IsFalse(submitRegisterButton.Enabled); SetFormValues(registerDiv, null, null, "password"); Assert.IsTrue(submitRegisterButton.Enabled); }
public HtmlButton ClickButtonByInnerText(string innerText, int pause = 0) { HtmlButton button = new HtmlButton(BrowserWindow); button.SearchProperties[HtmlEdit.PropertyNames.InnerText] = innerText; button.SearchProperties[HtmlEdit.PropertyNames.TagName] = "BUTTON"; button.TryFind(); Mouse.Click(button); Thread.Sleep(pause); return(button); }
public void RegistrationButtonEnabledOnlyWhenFormValid() { var window = BrowserWindow.Launch($"{TestConfig.UrlBase}/DecomposingPageObjects/InitialRequirements"); HtmlCustom nav = new HtmlCustom(window); nav.SearchProperties.Add(HtmlControl.PropertyNames.TagName, "nav"); HtmlButton registerButton = new HtmlButton(nav); registerButton.SearchProperties.Add(HtmlButton.PropertyNames.DisplayText, "Register"); Mouse.Click(registerButton); HtmlDiv registerDiv = new HtmlDiv(window); registerDiv.SearchProperties.Add(HtmlDiv.PropertyNames.Id, "registerControl", PropertyExpressionOperator.EqualTo); HtmlDiv usernamePasswordDiv = new HtmlDiv(registerDiv); HtmlEdit username = new HtmlEdit(usernamePasswordDiv); username.SearchProperties.Add(HtmlEdit.PropertyNames.ControlDefinition, "username", PropertyExpressionOperator.Contains); username.Text = ""; HtmlEdit password = new HtmlEdit(usernamePasswordDiv); password.SearchProperties.Add(HtmlEdit.PropertyNames.ControlDefinition, "password", PropertyExpressionOperator.Contains); password.Text = ""; HtmlEdit confirmPassword = new HtmlEdit(registerDiv); confirmPassword.SearchProperties.Add(HtmlEdit.PropertyNames.ControlDefinition, "confirmPassword", PropertyExpressionOperator.Contains); confirmPassword.Text = ""; HtmlButton submitRegisterButton = new HtmlButton(registerDiv); Assert.IsTrue(submitRegisterButton.TryFind()); // demo: what do you suppose this check does? Assert.IsFalse(submitRegisterButton.Enabled); username.Text = "mike"; Assert.IsFalse(submitRegisterButton.Enabled); password.Text = "password"; Assert.IsFalse(submitRegisterButton.Enabled); confirmPassword.Text = "nomatch"; Assert.IsFalse(submitRegisterButton.Enabled); confirmPassword.Text = "password"; Assert.IsTrue(submitRegisterButton.Enabled); }
public void RegistrationButtonEnabledOnlyWhenFormValid() { HtmlDiv registerDiv = new HtmlDiv(this.window); registerDiv.SearchProperties.Add(HtmlDiv.PropertyNames.Id, "registerControl", PropertyExpressionOperator.EqualTo); HtmlDiv usernamePasswordDiv = new HtmlDiv(registerDiv); HtmlEdit username = new HtmlEdit(usernamePasswordDiv); username.SearchProperties.Add(HtmlEdit.PropertyNames.ControlDefinition, "username", PropertyExpressionOperator.Contains); username.Text = ""; HtmlEdit password = new HtmlEdit(usernamePasswordDiv); password.SearchProperties.Add(HtmlEdit.PropertyNames.ControlDefinition, "password", PropertyExpressionOperator.Contains); password.Text = ""; HtmlEdit confirmPassword = new HtmlEdit(registerDiv); confirmPassword.SearchProperties.Add(HtmlEdit.PropertyNames.ControlDefinition, "confirmPassword", PropertyExpressionOperator.Contains); confirmPassword.Text = ""; HtmlButton submitRegisterButton = new HtmlButton(registerDiv); Assert.IsTrue(submitRegisterButton.TryFind()); Assert.IsFalse(submitRegisterButton.Enabled); username.Text = "mike"; Assert.IsFalse(submitRegisterButton.Enabled); password.Text = "password"; Assert.IsFalse(submitRegisterButton.Enabled); confirmPassword.Text = "nomatch"; Assert.IsFalse(submitRegisterButton.Enabled); confirmPassword.Text = "password"; Assert.IsTrue(submitRegisterButton.Enabled); }
public void RegistrationButtonEnabledOnlyWhenFormValid() { HtmlDiv registerDiv = new HtmlDiv(this.window); registerDiv.SearchProperties.Add(HtmlDiv.PropertyNames.Id, "registerControl", PropertyExpressionOperator.EqualTo); #region Comparison 1 /***************************** * HtmlDiv usernamePasswordDiv = new HtmlDiv(registerDiv); * * HtmlEdit username = new HtmlEdit(usernamePasswordDiv); * username.SearchProperties.Add(HtmlEdit.PropertyNames.ControlDefinition, "username", PropertyExpressionOperator.Contains); * username.Text = ""; * * HtmlEdit password = new HtmlEdit(usernamePasswordDiv); * password.SearchProperties.Add(HtmlEdit.PropertyNames.ControlDefinition, "password", PropertyExpressionOperator.Contains); * password.Text = ""; * * HtmlEdit confirmPassword = new HtmlEdit(registerDiv); * confirmPassword.SearchProperties.Add(HtmlEdit.PropertyNames.ControlDefinition, "confirmPassword", PropertyExpressionOperator.Contains); * confirmPassword.Text = ""; */ #endregion // demo: above becomes this one line SetFormValues(registerDiv, String.Empty, String.Empty, String.Empty); HtmlButton submitRegisterButton = new HtmlButton(registerDiv); Assert.IsTrue(submitRegisterButton.TryFind()); Assert.IsFalse(submitRegisterButton.Enabled); #region Comparison 2 /********************************** * HtmlButton submitRegisterButton = new HtmlButton(registerDiv); * Assert.IsTrue(submitRegisterButton.TryFind()); * Assert.IsFalse(submitRegisterButton.Enabled); * * username.Text = "mike"; * Assert.IsFalse(submitRegisterButton.Enabled); * * password.Text = "password"; * Assert.IsFalse(submitRegisterButton.Enabled); * * confirmPassword.Text = "nomatch"; * Assert.IsFalse(submitRegisterButton.Enabled); * * confirmPassword.Text = "password"; * Assert.IsTrue(submitRegisterButton.Enabled); */ #endregion // demo: this doesn't look quite as nice to me though // demo: any thoughts on how to make this nicer? // demo: [interactive] SetFormValues(registerDiv, "mike", null, null); Assert.IsFalse(submitRegisterButton.Enabled); SetFormValues(registerDiv, null, "password", null); Assert.IsFalse(submitRegisterButton.Enabled); SetFormValues(registerDiv, null, null, "nomatch"); Assert.IsFalse(submitRegisterButton.Enabled); SetFormValues(registerDiv, null, null, "password"); Assert.IsTrue(submitRegisterButton.Enabled); }