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);
        }
コード例 #2
0
        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);
        }
コード例 #3
0
        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);
        }
コード例 #4
0
        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);
        }
コード例 #6
0
        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);
        }