public override IEnumerator <WebTestRequest> GetRequestEnumerator()
        {
            var registerPageRequest = AssertAndValidationHelper.GetHttpRequestForUrl(UrlHelper.LogonPageUrl);

            yield return(registerPageRequest);

            var registerPagePostRequest = new WebTestRequest(UrlHelper.RegisterPageUrl);

            registerPagePostRequest.Method = "POST";
            registerPagePostRequest.ExpectedResponseUrl = UrlHelper.RegistrationPendingPageUrl;

            // Create a form and set the UserName, Email and password as form post parameters.
            // We just need to set some unique user name and Email.
            var registerNewUserFormPost = new FormPostHttpBody();

            registerNewUserFormPost.FormPostParameters.Add("__RequestVerificationToken", Context["$HIDDEN1.__RequestVerificationToken"].ToString());
            registerNewUserFormPost.FormPostParameters.Add("LinkingAccount", "false");
            registerNewUserFormPost.FormPostParameters.Add(Constants.EmailAddressFormField, DateTime.Now.Ticks + "@live.com"); //add a dummy mail account. This will be fixed once we incorporate the logic to delete user.
            registerNewUserFormPost.FormPostParameters.Add(Constants.UserNameFormField, DateTime.Now.Ticks + "NewAccount");
            registerNewUserFormPost.FormPostParameters.Add(Constants.RegisterPasswordFormField, "xxXxx1xx");
            registerPagePostRequest.Body = registerNewUserFormPost;
            registerPagePostRequest.ExpectedHttpStatusCode = 503;
            // Validate the response to make sure that it shows the error message for read-only mode.
            var readOnlyModeTextRule = AssertAndValidationHelper.GetValidationRuleForFindText(Constants.ReadOnlyModeError);

            registerPagePostRequest.ValidateResponse += readOnlyModeTextRule.Validate;
            yield return(registerPagePostRequest);
        }
Exemple #2
0
        public override IEnumerator <WebTestRequest> GetRequestEnumerator()
        {
            WebTestRequest registerPageRequest = AssertAndValidationHelper.GetHttpRequestForUrl(UrlHelper.LogonPageUrl);

            yield return(registerPageRequest);

            registerPageRequest = null;

            WebTestRequest registerPagePostRequest = new WebTestRequest(UrlHelper.RegisterPageUrl);

            registerPagePostRequest.Method = "POST";
            registerPagePostRequest.ExpectedResponseUrl = UrlHelper.RegistrationPendingPageUrl;
            //create a form and set the UserName, Email and password as form post parameters.
            //We just need to set some unique user name and Email.
            FormPostHttpBody registerNewUserFormPost = new FormPostHttpBody();

            registerNewUserFormPost.FormPostParameters.Add("__RequestVerificationToken", this.Context["$HIDDEN1.__RequestVerificationToken"].ToString());
            registerNewUserFormPost.FormPostParameters.Add("LinkingAccount", "false");
            registerNewUserFormPost.FormPostParameters.Add(Constants.EmailAddressFormField, DateTime.Now.Ticks.ToString() + "@live.com"); //add a dummy mail account. This will be fixed once we incorporate the logic to delete user.
            registerNewUserFormPost.FormPostParameters.Add(Constants.UserNameFormField, DateTime.Now.Ticks.ToString() + "NewAccount");
            registerNewUserFormPost.FormPostParameters.Add(Constants.RegisterPasswordFormField, "xxxxxxxx");
            registerPagePostRequest.Body = registerNewUserFormPost;
            //Validate the response to make sure that it has the pending confirmation text in it.
            ValidationRuleFindText PendingConfirmationTextRule = AssertAndValidationHelper.GetValidationRuleForFindText(Constants.RegisterNewUserPendingConfirmationText);

            registerPagePostRequest.ValidateResponse += new EventHandler <ValidationEventArgs>(PendingConfirmationTextRule.Validate);
            yield return(registerPagePostRequest);

            registerPagePostRequest = null;
        }
        public override IEnumerator <WebTestRequest> GetRequestEnumerator()
        {
            WebTestRequest registerPageRequest = AssertAndValidationHelper.GetHttpRequestForUrl(UrlHelper.LogonPageUrl);

            yield return(registerPageRequest);

            registerPageRequest = null;

            WebTestRequest registerPagePostRequest = new WebTestRequest(UrlHelper.SignInPageUrl);

            registerPagePostRequest.Method = "POST";
            registerPagePostRequest.ExpectedResponseUrl = UrlHelper.SignInPageUrl;
            //create a form and set the UserName, Email and password as form post parameters.
            //We just need to set some unique user name and Email.
            FormPostHttpBody registerNewUserFormPost = new FormPostHttpBody();

            registerNewUserFormPost.FormPostParameters.Add("__RequestVerificationToken", Context["$HIDDEN1.__RequestVerificationToken"].ToString());
            registerNewUserFormPost.FormPostParameters.Add("ReturnUrl", "/");
            registerNewUserFormPost.FormPostParameters.Add("LinkingAccount", "false");
            registerNewUserFormPost.FormPostParameters.Add(Constants.UserNameOrEmailFormField, DateTime.Now.Ticks.ToString() + "@live.com");
            registerNewUserFormPost.FormPostParameters.Add(Constants.PasswordFormField, EnvironmentSettings.TestAccountPassword);

            registerPagePostRequest.Body = registerNewUserFormPost;
            //Validate the response to make sure that it doesn't have the pending confirmation text in it.
            ValidationRuleFindText PendingConfirmationTextRule = AssertAndValidationHelper.GetValidationRuleForFindText(Constants.RegisterNewUserPendingConfirmationText, false);

            registerPagePostRequest.ValidateResponse += new EventHandler <ValidationEventArgs>(PendingConfirmationTextRule.Validate);
            yield return(registerPagePostRequest);

            registerPagePostRequest = null;
        }
Exemple #4
0
        public override IEnumerator <WebTestRequest> GetRequestEnumerator()
        {
            //run this test only if read-only mode is set. This is to avoid false failures while doing Run all tests locally.
            if (EnvironmentSettings.ReadOnlyMode.Equals("True", StringComparison.OrdinalIgnoreCase))
            {
                WebTestRequest registerPageRequest = AssertAndValidationHelper.GetHttpRequestForUrl(UrlHelper.LogonPageUrl);
                yield return(registerPageRequest);

                registerPageRequest = null;

                WebTestRequest registerPagePostRequest = new WebTestRequest(UrlHelper.RegisterPageUrl);
                registerPagePostRequest.Method = "POST";
                registerPagePostRequest.ExpectedResponseUrl = UrlHelper.RegistrationPendingPageUrl;
                //create a form and set the UserName, Email and password as form post parameters.
                //We just need to set some unique user name and Email.
                FormPostHttpBody registerNewUserFormPost = new FormPostHttpBody();
                registerNewUserFormPost.FormPostParameters.Add("__RequestVerificationToken", this.Context["$HIDDEN1.__RequestVerificationToken"].ToString());
                registerNewUserFormPost.FormPostParameters.Add("LinkingAccount", "false");
                registerNewUserFormPost.FormPostParameters.Add(Constants.EmailAddressFormField, DateTime.Now.Ticks.ToString() + "@live.com"); //add a dummy mail account. This will be fixed once we incorporate the logic to delete user.
                registerNewUserFormPost.FormPostParameters.Add(Constants.UserNameFormField, DateTime.Now.Ticks.ToString() + "NewAccount");
                registerNewUserFormPost.FormPostParameters.Add(Constants.RegisterPasswordFormField, "xxxxxxxx");
                registerPagePostRequest.Body = registerNewUserFormPost;
                registerPagePostRequest.ExpectedHttpStatusCode = 503;
                //Validate the response to make sure that it shows the error message for read-only mode.
                ValidationRuleFindText ReadOnlyModeTextRule = AssertAndValidationHelper.GetValidationRuleForFindText(Constants.ReadOnlyModeError);
                registerPagePostRequest.ValidateResponse += new EventHandler <ValidationEventArgs>(ReadOnlyModeTextRule.Validate);
                yield return(registerPagePostRequest);

                registerPagePostRequest = null;
            }
        }
Exemple #5
0
        public override void PreRequest(object sender, PreRequestEventArgs e)
        {
            base.PreRequest(sender, e);

            e.Request.Headers.Add("x-microsoftajax", "Delta=true");
            FormPostHttpBody formBody = e.Request.Body as FormPostHttpBody;

            if (null == formBody)
            {
                formBody         = (e.Request.Body = new FormPostHttpBody()) as FormPostHttpBody;
                e.Request.Method = "POST";
            }

            string controlName     = RuleHelper.ResolveContextValue(e.WebTest.Context, this.ControlName);
            string updatePanelName = RuleHelper.ResolveContextValue(e.WebTest.Context, this.UpdatePanelName);

            // Post all input hidden fields
            string[] hiddenFieldKeyNames = e.WebTest.Context["$HIDDEN1"] as string[];
            if (null != hiddenFieldKeyNames)
            {
                foreach (string hiddenFieldKeyName in hiddenFieldKeyNames)
                {
                    formBody.FormPostParameters.Add(hiddenFieldKeyName, e.WebTest.Context["$HIDDEN1." + hiddenFieldKeyName] as string);
                }

                RuleHelper.SetParameter(formBody.FormPostParameters, "TheScriptManager$ScriptManager1", updatePanelName + "|" + controlName, true);
                RuleHelper.SetParameter(formBody.FormPostParameters, "__EVENTTARGET", controlName, true);
                RuleHelper.SetParameter(formBody.FormPostParameters, "__ASYNCPOST", "true", true);
            }
        }
        public override IEnumerator<WebTestRequest> GetRequestEnumerator()
        {
            //run this test only if read-only mode is set. This is to avoid false failures while doing Run all tests locally.
            if (EnvironmentSettings.ReadOnlyMode.Equals("True", StringComparison.OrdinalIgnoreCase))
            {
                var registerPageRequest = AssertAndValidationHelper.GetHttpRequestForUrl(UrlHelper.LogonPageUrl);
                yield return registerPageRequest;

                var registerPagePostRequest = new WebTestRequest(UrlHelper.RegisterPageUrl);
                registerPagePostRequest.Method = "POST";
                registerPagePostRequest.ExpectedResponseUrl = UrlHelper.RegistrationPendingPageUrl;

                // Create a form and set the UserName, Email and password as form post parameters.
                // We just need to set some unique user name and Email.
                var registerNewUserFormPost = new FormPostHttpBody();
                registerNewUserFormPost.FormPostParameters.Add("__RequestVerificationToken", Context["$HIDDEN1.__RequestVerificationToken"].ToString());
                registerNewUserFormPost.FormPostParameters.Add("LinkingAccount", "false");
                registerNewUserFormPost.FormPostParameters.Add(Constants.EmailAddressFormField, DateTime.Now.Ticks + "@live.com"); //add a dummy mail account. This will be fixed once we incorporate the logic to delete user.
                registerNewUserFormPost.FormPostParameters.Add(Constants.UserNameFormField, DateTime.Now.Ticks + "NewAccount");
                registerNewUserFormPost.FormPostParameters.Add(Constants.RegisterPasswordFormField, "xxXxx1xx");
                registerPagePostRequest.Body = registerNewUserFormPost;
                registerPagePostRequest.ExpectedHttpStatusCode = 503;
                // Validate the response to make sure that it shows the error message for read-only mode.
                var readOnlyModeTextRule = AssertAndValidationHelper.GetValidationRuleForFindText(Constants.ReadOnlyModeError);
                registerPagePostRequest.ValidateResponse += readOnlyModeTextRule.Validate;
                yield return registerPagePostRequest;
            }
        }
Exemple #7
0
        /// <summary>
        /// Returns the POST WebRequest for logon with appropriate form parameters set.
        /// Individual WebTests can use this.
        /// </summary>
        /// <returns></returns>
        public static WebTestRequest GetVerifyPackagePostRequestForPackage(WebTest test, string packageId, string packageVersion, string expectedResponseUrl, string expectedText, int expectedResponseCode = 200)
        {
            var verifyUploadPostRequest = new WebTestRequest(UrlHelper.VerifyUploadPageUrl);

            verifyUploadPostRequest.Method = "POST";
            verifyUploadPostRequest.ExpectedHttpStatusCode = expectedResponseCode;
            verifyUploadPostRequest.ExpectedResponseUrl    = expectedResponseUrl;

            var verifyUploadPostRequestBody = new FormPostHttpBody();

            verifyUploadPostRequestBody.FormPostParameters.Add("__RequestVerificationToken", test.Context["$HIDDEN1.__RequestVerificationToken"].ToString());
            verifyUploadPostRequestBody.FormPostParameters.Add("Id", packageId);
            verifyUploadPostRequestBody.FormPostParameters.Add("Version", packageVersion);
            verifyUploadPostRequestBody.FormPostParameters.Add("LicenseUrl", "");
            verifyUploadPostRequestBody.FormPostParameters.Add("Edit.VersionTitle", "");
            verifyUploadPostRequestBody.FormPostParameters.Add("Edit.Description", "Package description");
            verifyUploadPostRequestBody.FormPostParameters.Add("Edit.Summary", "");
            verifyUploadPostRequestBody.FormPostParameters.Add("Edit.IconUrl", "");
            verifyUploadPostRequestBody.FormPostParameters.Add("Edit.ProjectUrl", "");
            verifyUploadPostRequestBody.FormPostParameters.Add("Edit.Authors", "nugettest");
            verifyUploadPostRequestBody.FormPostParameters.Add("Edit.CopyrightText", "Copyright 2013");
            verifyUploadPostRequestBody.FormPostParameters.Add("Edit.Tags", " windows8 ");
            verifyUploadPostRequestBody.FormPostParameters.Add("Edit.ReleaseNotes", "");
            verifyUploadPostRequest.Body = verifyUploadPostRequestBody;

            var postUploadText = GetValidationRuleForFindText(expectedText);

            verifyUploadPostRequest.ValidateResponse += postUploadText.Validate;
            return(verifyUploadPostRequest);
        }
Exemple #8
0
        public override IEnumerator <WebTestRequest> GetRequestEnumerator()
        {
            WebTestRequest registerPageRequest = AssertAndValidationHelper.GetHttpRequestForUrl(UrlHelper.RegisterPageUrl);

            yield return(registerPageRequest);

            registerPageRequest = null;

            WebTestRequest registerPagePostRequest = new WebTestRequest(UrlHelper.RegisterPageUrl);

            registerPagePostRequest.Method = "POST";
            registerPagePostRequest.ExpectedResponseUrl = UrlHelper.RegisterPageUrl; // the same page will be the response url.
            //create a form and set the UserName, Email and password as form post parameters.
            //We just need to set some unique user name and Email.
            FormPostHttpBody registerNewUserFormPost = new FormPostHttpBody();

            registerNewUserFormPost.FormPostParameters.Add("__RequestVerificationToken", this.Context["$HIDDEN1.__RequestVerificationToken"].ToString());
            registerNewUserFormPost.FormPostParameters.Add(Constants.EmailAddressFormField, DateTime.Now.Ticks.ToString() + "@gmail.com");
            registerNewUserFormPost.FormPostParameters.Add(Constants.UserNameFormField, DateTime.Now.Ticks.ToString());
            registerNewUserFormPost.FormPostParameters.Add(Constants.PasswordFormField, "1qq1qq1qq");
            registerNewUserFormPost.FormPostParameters.Add(Constants.ConfirmPasswordFormField, "1qq1qq1qq");
            registerPagePostRequest.Body = registerNewUserFormPost;
            //Validate the response to make sure that it has the pending confirmation text in it.
            ValidationRuleFindText PendingConfirmationTextRule = AssertAndValidationHelper.GetValidationRuleForFindText(Constants.ReadOnlyModeRegisterNewUserText);

            registerPagePostRequest.ValidateResponse += new EventHandler <ValidationEventArgs>(PendingConfirmationTextRule.Validate);
            yield return(registerPagePostRequest);

            registerPagePostRequest = null;
        }
        public override IEnumerator<WebTestRequest> GetRequestEnumerator()
        {
            WebTestRequest registerPageRequest = AssertAndValidationHelper.GetHttpRequestForUrl(UrlHelper.LogonPageUrl);
            yield return registerPageRequest;
            registerPageRequest = null;

            WebTestRequest registerPagePostRequest = new WebTestRequest(UrlHelper.RegisterPageUrl);
            registerPagePostRequest.Method = "POST";
            registerPagePostRequest.ExpectedResponseUrl = UrlHelper.RegistrationPendingPageUrl;
            //create a form and set the UserName, Email and password as form post parameters.
            //We just need to set some unique user name and Email.
            FormPostHttpBody registerNewUserFormPost = new FormPostHttpBody();
            registerNewUserFormPost.FormPostParameters.Add("__RequestVerificationToken", this.Context["$HIDDEN1.__RequestVerificationToken"].ToString());
            registerNewUserFormPost.FormPostParameters.Add(Constants.EmailAddressFormField, DateTime.Now.Ticks.ToString() + "@live.com"); //add a dummy mail account. This will be fixed once we incorporate the logic to delete user.
            registerNewUserFormPost.FormPostParameters.Add(Constants.UserNameFormField, DateTime.Now.Ticks.ToString() + "NewAccount");
            registerNewUserFormPost.FormPostParameters.Add(Constants.PasswordFormField, "xxxxxxx");
            registerNewUserFormPost.FormPostParameters.Add(Constants.ConfirmPasswordFormField, "xxxxxxx");
            registerNewUserFormPost.FormPostParameters.Add(Constants.AcceptTermsField, "true");
            registerPagePostRequest.Body = registerNewUserFormPost;
            //Validate the response to make sure that it has the pending confirmation text in it.           
            ValidationRuleFindText PendingConfirmationTextRule = AssertAndValidationHelper.GetValidationRuleForFindText(Constants.RegisterNewUserPendingConfirmationText);
            registerPagePostRequest.ValidateResponse += new EventHandler<ValidationEventArgs>(PendingConfirmationTextRule.Validate);
            yield return registerPagePostRequest;
            registerPagePostRequest = null;
        }
Exemple #10
0
        public override IEnumerator<WebTestRequest> GetRequestEnumerator()
        {
            WebTestRequest logonRequest = new WebTestRequest(Utilities.BaseUrl + Constants.LogonPageUrlSuffix);
            logonRequest.ExpectedResponseUrl = Utilities.BaseUrl + Constants.LogonPageUrlSuffix;
            ExtractHiddenFields extractionRule1 = ValidationRuleHelper.GetDefaultExtractHiddenFields();
            logonRequest.ExtractValues += new EventHandler<ExtractionEventArgs>(extractionRule1.Extract);
            yield return logonRequest;
            logonRequest = null;

            //Send a post request with the appropriate form parameters for crednetials.
            WebTestRequest logonPostRequest = new WebTestRequest(Utilities.BaseUrl + Constants.LogonPageUrlSuffix);
            logonPostRequest.Method = "POST";
            logonPostRequest.ExpectedResponseUrl = Utilities.BaseUrl;
            FormPostHttpBody request10Body = new FormPostHttpBody();
            request10Body.FormPostParameters.Add("__RequestVerificationToken", this.Context["$HIDDEN1.__RequestVerificationToken"].ToString());
            request10Body.FormPostParameters.Add(Constants.UserNameOrEmailFormField, this.Context["LogOnCredentials.LogonCredentials#csv.UserNameOrEmail"].ToString());
            request10Body.FormPostParameters.Add(Constants.PasswordFormField, this.Context["LogOnCredentials.LogonCredentials#csv.Password"].ToString());
            logonPostRequest.Body = request10Body;
            WebTestRequest request10Dependent1 = new WebTestRequest(Utilities.BaseUrl + Constants.StatsPageUrlSuffix);
            logonPostRequest.DependentRequests.Add(request10Dependent1);
            if ((this.Context.ValidationLevel >= Microsoft.VisualStudio.TestTools.WebTesting.ValidationLevel.High))
            {
                //After logon, the user name should appear as a hyperlink the reponse URL
                ValidateHtmlTagInnerText loggedOnUserNameValidationRule = ValidationRuleHelper.GetValidationRuleForHtmlTagInnerText(HtmlTextWriterTag.A.ToString(), HtmlTextWriterAttribute.Href.ToString(), "/account", "NugetTestAccount");
                logonPostRequest.ValidateResponse += new EventHandler<ValidationEventArgs>(loggedOnUserNameValidationRule.Validate);
            }
            yield return logonPostRequest;
            logonPostRequest = null;
        }
        public override IEnumerator<WebTestRequest> GetRequestEnumerator()
        {
            WebTestRequest registerPageRequest = AssertAndValidationHelper.GetHttpRequestForUrl(UrlHelper.LogonPageUrl);
            yield return registerPageRequest;
            registerPageRequest = null;

            WebTestRequest registerPagePostRequest = new WebTestRequest(UrlHelper.SignInPageUrl);
            registerPagePostRequest.Method = "POST";
            registerPagePostRequest.ExpectedResponseUrl = UrlHelper.SignInPageUrl;
            //create a form and set the UserName, Email and password as form post parameters.
            //We just need to set some unique user name and Email.
            FormPostHttpBody registerNewUserFormPost = new FormPostHttpBody();
            registerNewUserFormPost.FormPostParameters.Add("__RequestVerificationToken", Context["$HIDDEN1.__RequestVerificationToken"].ToString());
            registerNewUserFormPost.FormPostParameters.Add("ReturnUrl", "/");
            registerNewUserFormPost.FormPostParameters.Add("LinkingAccount", "false");
            registerNewUserFormPost.FormPostParameters.Add(Constants.UserNameOrEmailFormField, DateTime.Now.Ticks.ToString() + "@live.com");
            registerNewUserFormPost.FormPostParameters.Add(Constants.PasswordFormField, EnvironmentSettings.TestAccountPassword);

            registerPagePostRequest.Body = registerNewUserFormPost;
            //Validate the response to make sure that it doesn't have the pending confirmation text in it.           
            ValidationRuleFindText PendingConfirmationTextRule = AssertAndValidationHelper.GetValidationRuleForFindText(Constants.RegisterNewUserPendingConfirmationText, false);
            registerPagePostRequest.ValidateResponse += new EventHandler<ValidationEventArgs>(PendingConfirmationTextRule.Validate);
            yield return registerPagePostRequest;
            registerPagePostRequest = null;
        }
        public override IEnumerator <WebTestRequest> GetRequestEnumerator()
        {
            WebTestRequest request1 = new WebTestRequest(serviceURL + "/NewIncidentSite.aspx");

            request1.ThinkTime = 6;
            ExtractHiddenFields extractionRule1 = new ExtractHiddenFields();

            extractionRule1.Required             = true;
            extractionRule1.HtmlDecode           = true;
            extractionRule1.ContextParameterName = "1";
            request1.ExtractValues += new EventHandler <ExtractionEventArgs>(extractionRule1.Extract);
            yield return(request1);

            request1 = null;

            WebTestRequest request2 = new WebTestRequest(serviceURL + "/NewIncidentSite.aspx");

            request2.ThinkTime = 20;
            request2.Method    = "POST";
            FormPostHttpBody request2Body = new FormPostHttpBody();

            request2Body.FormPostParameters.Add("__VIEWSTATE", this.Context["$HIDDEN1.__VIEWSTATE"].ToString());
            request2Body.FormPostParameters.Add("__EVENTVALIDATION", this.Context["$HIDDEN1.__EVENTVALIDATION"].ToString());
            request2Body.FormPostParameters.Add("incidentsDropDownList", "4");
            request2Body.FormPostParameters.Add("createSite", "Create Site");
            request2.Body = request2Body;
            yield return(request2);

            request2 = null;

            WebTestRequest request3 = new WebTestRequest(hostURL + "/sites/partner2/default.aspx");

            request3.ThinkTime = 5;
            yield return(request3);

            request3 = null;

            WebTestRequest request4 = new WebTestRequest(hostURL + "/sites/partner2/_layouts/viewlsts.aspx");

            request4.ThinkTime = 3;
            request4.QueryStringParameters.Add("ShowSites", "1", false, false);
            yield return(request4);

            request4 = null;

            WebTestRequest request5 = new WebTestRequest(hostURL + "/sites/partner2/incidents/");

            request5.ThinkTime           = 3;
            request5.ExpectedResponseUrl = hostURL + "/sites/partner2/incidents/default.aspx";
            yield return(request5);

            request5 = null;
            //sleep here sometime to get workflow done
            //
            //Thread.Sleep(30000);
            WebTestRequest request6 = new WebTestRequest(hostURL + "/sites/partner2/incidents/_layouts/viewlsts.aspx");

            request6.ThinkTime = 4;
            request6.QueryStringParameters.Add("ShowSites", "1", false, false);
        }
Exemple #13
0
        /// <summary>
        /// Returns the POST WebRequest for logon with appropriate form parameters set.
        /// Individual WebTests can use this.
        /// </summary>
        /// <returns></returns>
        public static WebTestRequest GetLogonPostRequest(WebTest test, string accountName = null, string password = null)
        {
            if (accountName == null)
            {
                accountName = EnvironmentSettings.TestAccountName;
            }
            if (password == null)
            {
                accountName = EnvironmentSettings.TestAccountPassword;
            }

            WebTestRequest logonPostRequest = new WebTestRequest(UrlHelper.SignInPageUrl);

            logonPostRequest.Method = "POST";
            logonPostRequest.ExpectedResponseUrl = UrlHelper.BaseUrl;
            FormPostHttpBody logonRequestFormPostBody = new FormPostHttpBody();

            logonRequestFormPostBody.FormPostParameters.Add("__RequestVerificationToken", test.Context["$HIDDEN1.__RequestVerificationToken"].ToString());
            logonRequestFormPostBody.FormPostParameters.Add("ReturnUrl", "/");
            logonRequestFormPostBody.FormPostParameters.Add("LinkingAccount", "false");
            logonRequestFormPostBody.FormPostParameters.Add(Constants.UserNameOrEmailFormField, EnvironmentSettings.TestAccountName);
            logonRequestFormPostBody.FormPostParameters.Add(Constants.PasswordFormField, EnvironmentSettings.TestAccountPassword);
            logonPostRequest.Body = logonRequestFormPostBody;
            return(logonPostRequest);
        }
        public override IEnumerator<WebTestRequest> GetRequestEnumerator()
        {
            WebTestRequest registerPageRequest = new WebTestRequest(Utilities.BaseUrl +   Constants.RegisterPageUrlSuffix);
            registerPageRequest.ThinkTime = 31;
            ExtractHiddenFields extractionRule1 = new ExtractHiddenFields();
            extractionRule1.Required = true;
            extractionRule1.HtmlDecode = true;
            extractionRule1.ContextParameterName = "1";
            registerPageRequest.ExtractValues += new EventHandler<ExtractionEventArgs>(extractionRule1.Extract);
            yield return registerPageRequest;
            registerPageRequest = null;

            WebTestRequest registerPagePostRequest = new WebTestRequest(Utilities.BaseUrl + Constants.RegisterPageUrlSuffix);
            registerPagePostRequest.Method = "POST";
            registerPagePostRequest.ExpectedResponseUrl = Utilities.BaseUrl + Constants.RegistrationPendingPageUrlSuffix;
            //create a form and set the UserName, Email and password as form post parameters.
            //We just need to set some unique user name and Email.
            FormPostHttpBody registerNewUserFormPost = new FormPostHttpBody();
            registerNewUserFormPost.FormPostParameters.Add("__RequestVerificationToken", this.Context["$HIDDEN1.__RequestVerificationToken"].ToString());
            registerNewUserFormPost.FormPostParameters.Add(Constants.EmailAddressFormField, DateTime.Now.Ticks.ToString() + "@gmail.com");
            registerNewUserFormPost.FormPostParameters.Add(Constants.UserNameFormField, DateTime.Now.Ticks.ToString());
            registerNewUserFormPost.FormPostParameters.Add(Constants.PasswordFormField, "xxxxxxx");
            registerNewUserFormPost.FormPostParameters.Add(Constants.ConfirmPasswordFormField, "xxxxxxx");
            registerPagePostRequest.Body = registerNewUserFormPost;
            //Validate the response to make sure that it has the pending confirmation text in it.
            if ((this.Context.ValidationLevel >= Microsoft.VisualStudio.TestTools.WebTesting.ValidationLevel.High))
            {
                ValidationRuleFindText PendingConfirmationTextRule = ValidationRuleHelper.GetValidationRuleForFindText(Constants.PendingConfirmationText);
                registerPagePostRequest.ValidateResponse += new EventHandler<ValidationEventArgs>(PendingConfirmationTextRule.Validate);
            }
            yield return registerPagePostRequest;
            registerPagePostRequest = null;
        }
        public override void PreRequest(object sender, PreRequestEventArgs e)
        {
            if (!e.WebTest.Context.ContainsKey(_ParameterVariable + "_Nr"))
            {
                return;
            }

            int count = int.Parse(e.WebTest.Context[_ParameterVariable + "_Nr"].ToString());

            if (count != 0 && e.Request.Method.Equals("POST"))
            {
                int g_count = int.Parse(e.WebTest.Context[_ParameterVariable + "_Gr"].ToString());

                FormPostHttpBody body = new FormPostHttpBody();
                if (e.Request.Body != null)
                {
                    body = e.Request.Body as FormPostHttpBody;
                }

                Regex rx = new Regex("\\{\\{([^{}]+)\\}\\}");

                string paramName  = _ParameterVariable;
                string paramName2 = _ParameterVariable;

                for (int i = 1; i <= count; i++)
                {
                    string name  = _NameTemplate;
                    string value = _ValueTemplate;

                    if (count > 1)
                    {
                        paramName  = _ParameterVariable + "_" + i;
                        paramName2 = paramName;
                    }

                    for (int g = 1; g <= g_count; g++)
                    {
                        if (g_count > 1)
                        {
                            paramName2 = paramName + "_g" + g;
                        }

                        name  = name.Replace("$" + g + "$", e.WebTest.Context[paramName2].ToString());
                        value = value.Replace("$" + g + "$", e.WebTest.Context[paramName2].ToString());

                        if (rx.IsMatch(value))
                        {
                            Match  m       = rx.Match(value);
                            string varName = m.Groups[1].Value;
                            value = value.Replace("{{" + varName + "}}", e.WebTest.Context[varName].ToString());
                        }
                    }
                    body.FormPostParameters.Add(name, value);
                }

                e.Request.Body = body;
            }
            base.PreRequest(sender, e);
        }
        public override void PreRequest(object sender, PreRequestEventArgs e)
        {
            FormPostHttpBody body = new FormPostHttpBody();

            if (e.Request.Body != null)
            {
                body = e.Request.Body as FormPostHttpBody;
            }

            _ParameterName     = ReplaceContextVar(_ParameterName, e);
            _ParameterValue    = ReplaceContextVar(_ParameterValue, e);
            _ConditionValue1   = ReplaceContextVar(_ConditionValue1, e);
            _ConditionValue2   = ReplaceContextVar(_ConditionValue2, e);
            _ConditionOperator = ReplaceContextVar(_ConditionOperator, e);

            bool ok = false;

            switch (_ConditionOperator)
            {
            case "==":
                if (_ConditionValue1 == _ConditionValue2)
                {
                    ok = true;
                }
                break;

            case "!=":
                if (_ConditionValue1 != _ConditionValue2)
                {
                    ok = true;
                }
                break;

            case ">":

                break;

            case "<":

                break;

            case ">=":

                break;

            case "<=":

                break;
            }

            if (ok)
            {
                body.FormPostParameters.Add(_ParameterName, _ParameterValue);
                e.Request.Body = body;
            }

            base.PreRequest(sender, e);
        }
Exemple #17
0
        public override IEnumerator<WebTestRequest> GetRequestEnumerator()
        {
            // Инициализация правил проверки, применяемых ко всем запросам в веб-тесте
            if ((this.Context.ValidationLevel >= Microsoft.VisualStudio.TestTools.WebTesting.ValidationLevel.Low))
            {
                ValidateResponseUrl validationRule1 = new ValidateResponseUrl();
                this.ValidateResponse += new EventHandler<ValidationEventArgs>(validationRule1.Validate);
            }
            if ((this.Context.ValidationLevel >= Microsoft.VisualStudio.TestTools.WebTesting.ValidationLevel.Low))
            {
                ValidationRuleResponseTimeGoal validationRule2 = new ValidationRuleResponseTimeGoal();
                validationRule2.Tolerance = 0D;
                this.ValidateResponseOnPageComplete += new EventHandler<ValidationEventArgs>(validationRule2.Validate);
            }

            WebTestRequest request1 = new WebTestRequest("http://localhost:2489/");
            yield return request1;
            request1 = null;

            WebTestRequest request2 = new WebTestRequest("http://localhost:2489/Account/Login");
            request2.ThinkTime = 9;
            ExtractHiddenFields extractionRule1 = new ExtractHiddenFields();
            extractionRule1.Required = true;
            extractionRule1.HtmlDecode = true;
            extractionRule1.ContextParameterName = "1";
            request2.ExtractValues += new EventHandler<ExtractionEventArgs>(extractionRule1.Extract);
            yield return request2;
            request2 = null;

            WebTestRequest request3 = new WebTestRequest("http://localhost:2489/Account/Login");
            request3.ThinkTime = 13;
            request3.Method = "POST";
            request3.ExpectedResponseUrl = GetExpectedReturnUrl();
            FormPostHttpBody request3Body = new FormPostHttpBody();
            request3Body.FormPostParameters.Add("__RequestVerificationToken", this.Context["$HIDDEN1.__RequestVerificationToken"].ToString());
            request3Body.FormPostParameters.Add("Email", this.Context["LogInTestData.LogInTestData#csv.Login"].ToString());
            request3Body.FormPostParameters.Add("Password", this.Context["LogInTestData.LogInTestData#csv.Password"].ToString());
            request3Body.FormPostParameters.Add("RememberMe", this.Context["$HIDDEN1.RememberMe"].ToString());
            request3.Body = request3Body;
            if ((this.Context.ValidationLevel >= Microsoft.VisualStudio.TestTools.WebTesting.ValidationLevel.High))
            {
                ValidationRuleFindText validationRule3 = new ValidationRuleFindText();
                validationRule3.FindText = this.Context["LogInTestData.LogInTestData#csv.Text"].ToString();
                validationRule3.IgnoreCase = false;
                validationRule3.UseRegularExpression = false;
                validationRule3.PassIfTextFound = true;
                request3.ValidateResponse += new EventHandler<ValidationEventArgs>(validationRule3.Validate);
            }
            ExtractHiddenFields extractionRule2 = new ExtractHiddenFields();
            extractionRule2.Required = true;
            extractionRule2.HtmlDecode = true;
            extractionRule2.ContextParameterName = "1";
            request3.ExtractValues += new EventHandler<ExtractionEventArgs>(extractionRule2.Extract);
            yield return request3;
            request3 = null;
        }
Exemple #18
0
        public override IEnumerator <WebTestRequest> GetRequestEnumerator()
        {
            // Initialize validation rules that apply to all requests in the WebTest
            if ((this.Context.ValidationLevel >= Microsoft.VisualStudio.TestTools.WebTesting.ValidationLevel.Low))
            {
                ValidateResponseUrl validationRule1 = new ValidateResponseUrl();
                this.ValidateResponse += new EventHandler <ValidationEventArgs>(validationRule1.Validate);
            }
            if ((this.Context.ValidationLevel >= Microsoft.VisualStudio.TestTools.WebTesting.ValidationLevel.Low))
            {
                ValidationRuleResponseTimeGoal validationRule2 = new ValidationRuleResponseTimeGoal();
                validationRule2.Tolerance            = 0D;
                this.ValidateResponseOnPageComplete += new EventHandler <ValidationEventArgs>(validationRule2.Validate);
            }


            //https://www5.tel-aviv.gov.il/tlvservices/tlvirgunovdim/token

            var            tokenUrl   = this.Context["Server"].ToString() + "/tlvservices/tlvirgunovdim/token";
            var            refererUrl = this.Context["Server"].ToString() + "/Tlvirgunovdim/";
            WebTestRequest request1   = new WebTestRequest(tokenUrl);

            request1.Method = "POST";
            request1.Headers.Add(new WebTestRequestHeader("Accept", "application/json, text/plain, */*"));
            request1.Headers.Add(new WebTestRequestHeader("Referer", refererUrl));
            FormPostHttpBody request1Body = new FormPostHttpBody();

            request1Body.FormPostParameters.Add("username", this.Context["dataNofesh.dataNofashim#txt.user"].ToString());

            request1Body.FormPostParameters.Add("password", String.Format("{0:dd/MM/yyyy}", DateTime.Parse(this.Context["dataNofesh.dataNofashim#txt.birth"].ToString())));
            request1Body.FormPostParameters.Add("grant_type", "password");
            request1Body.FormPostParameters.Add("captchatext", "");
            request1Body.FormPostParameters.Add("capuid", "eacf53edb27944ef9083f71b6694918c");
            request1Body.FormPostParameters.Add("login_type", "0");
            request1.Body = request1Body;

            ExtractText extractionRule1 = new ExtractText();

            extractionRule1.StartsWith           = "access_token\":\"";
            extractionRule1.EndsWith             = "\"";
            extractionRule1.IgnoreCase           = false;
            extractionRule1.UseRegularExpression = false;
            extractionRule1.Required             = true;
            extractionRule1.ExtractRandomMatch   = false;
            extractionRule1.Index                = 0;
            extractionRule1.HtmlDecode           = true;
            extractionRule1.SearchInHeaders      = false;
            extractionRule1.ContextParameterName = "access_token";
            request1.ExtractValues              += new EventHandler <ExtractionEventArgs>(extractionRule1.Extract);
            yield return(request1);

            request1 = null;
        }
Exemple #19
0
        public override IEnumerator <WebTestRequest> GetRequestEnumerator()
        {
            //Upload a new package.
            string packageId = this.Name + DateTime.Now.Ticks.ToString();
            string version   = "1.0.0";

            AssertAndValidationHelper.UploadNewPackageAndVerify(packageId, version);

            //Do initial login to be able to contact owner.
            WebTestRequest logonGet = AssertAndValidationHelper.GetLogonGetRequest();

            yield return(logonGet);

            logonGet = null;
            WebTestRequest logonPost = AssertAndValidationHelper.GetLogonPostRequest(this);

            yield return(logonPost);

            logonPost = null;

            WebTestRequest conactOwnerRequest = AssertAndValidationHelper.GetHttpRequestForUrl(UrlHelper.GetContactOwnerPageUrl(packageId));

            yield return(conactOwnerRequest);

            conactOwnerRequest = null;

            WebTestRequest conactOwnerPostRequest = new WebTestRequest(UrlHelper.GetContactOwnerPageUrl(packageId));

            conactOwnerPostRequest.Method = "POST";
            //once the listing is done, it should return back to the packages page.
            conactOwnerPostRequest.ExpectedResponseUrl = UrlHelper.GetPackagePageUrl(packageId, version);
            FormPostHttpBody contactOwnerRequestBody = new FormPostHttpBody();

            contactOwnerRequestBody.FormPostParameters.Add("__RequestVerificationToken", this.Context["$HIDDEN1.__RequestVerificationToken"].ToString());
            contactOwnerRequestBody.FormPostParameters.Add("Message", "Test");
            conactOwnerPostRequest.Body = contactOwnerRequestBody;

            //Make sure that the package page shows the message saying that the mail has been sent.
            ValidationRuleFindText findTextRule = AssertAndValidationHelper.GetValidationRuleForFindText(Constants.ContactOwnersText + packageId);

            conactOwnerPostRequest.ValidateResponse += new EventHandler <ValidationEventArgs>(findTextRule.Validate);
            yield return(conactOwnerPostRequest);

            conactOwnerPostRequest = null;

            //Wait for a 30 sec to make sure that the mail reaches properly.
            System.Threading.Thread.Sleep(30 * 1000);

            //Cross check with the pop3 client to check if the message actually has been received.
            string subject = string.Empty;

            Assert.IsTrue(MailHelper.IsMailSentForContactOwner(packageId, out subject), "Contact owners message not sent to the owner properly. Actual subject : {0}", subject);
        }
Exemple #20
0
        public override IEnumerator <WebTestRequest> GetRequestEnumerator()
        {
            //Upload a new package.
            string packageId = this.Name + DateTime.Now.Ticks.ToString();
            string version   = "1.0.0";

            AssertAndValidationHelper.UploadNewPackageAndVerify(packageId, version);

            //Do initial login to be able to perform delete ops.
            WebTestRequest logonGet = AssertAndValidationHelper.GetLogonGetRequest();

            yield return(logonGet);

            logonGet = null;
            WebTestRequest logonPost = AssertAndValidationHelper.GetLogonPostRequest(this);

            yield return(logonPost);

            logonPost = null;

            string deletePackagePageUrl = UrlHelper.GetPackageDeletePageUrl(packageId, version);


            WebTestRequest deletePackageRequest = AssertAndValidationHelper.GetHttpRequestForUrl(deletePackagePageUrl);

            yield return(deletePackageRequest);

            deletePackageRequest = null;

            WebTestRequest deletePackagePagePostRequest = new WebTestRequest(deletePackagePageUrl);

            deletePackagePagePostRequest.Method = "POST";
            //once the listing is done, it should return back to the packages page.
            deletePackagePagePostRequest.ExpectedResponseUrl = UrlHelper.GetPackagePageUrl(packageId, version);
            FormPostHttpBody deletePackagePostRequestForm = new FormPostHttpBody();

            deletePackagePostRequestForm.FormPostParameters.Add("__RequestVerificationToken", this.Context["$HIDDEN1.__RequestVerificationToken"].ToString());
            deletePackagePostRequestForm.FormPostParameters.Add("Listed", this.Context["$HIDDEN1.Listed"].ToString());
            deletePackagePagePostRequest.Body = deletePackagePostRequestForm;

            //Make sure that the package page shows the message saying that it has been unlisted.
            ValidationRuleFindText findTextRule = new ValidationRuleFindText();

            findTextRule.FindText = Constants.UnListedPackageText;
            deletePackagePagePostRequest.ValidateResponse += new EventHandler <ValidationEventArgs>(findTextRule.Validate);
            yield return(deletePackagePagePostRequest);

            deletePackagePagePostRequest = null;

            //check if it shows up in search and cross check with client SDK.
            Assert.IsTrue(ClientSDKHelper.IsPackageVersionUnListed(packageId, version), "Package not returned as unlisted by Nuget core after unlisting it in gallery");
        }
Exemple #21
0
        /// <summary>
        /// Returns the POST WebRequest for logon with appropriate form parameters set.
        /// Individual WebTests can use this.
        /// </summary>
        /// <returns></returns>
        public static WebTestRequest GetCancelUploadPostRequestForPackage(WebTest test)
        {
            var uploadPostRequest = new WebTestRequest(UrlHelper.CancelUpload);

            uploadPostRequest.Method = "POST";

            var uploadPostBody = new FormPostHttpBody();

            uploadPostBody.FormPostParameters.Add("__RequestVerificationToken", test.Context["$HIDDEN1.__RequestVerificationToken"].ToString());
            uploadPostRequest.Body = uploadPostBody;

            return(uploadPostRequest);
        }
        /// <summary>
        /// Returns the POST WebRequest for logon with appropriate form parameters set.
        /// Individual WebTests can use this.
        /// </summary>
        /// <returns></returns>
        public static WebTestRequest GetUploadPostRequestForPackage(WebTest test, string packageFullPath)
        {
            WebTestRequest uploadPostRequest = new WebTestRequest(UrlHelper.UploadPageUrl);

            uploadPostRequest.Method = "POST";
            uploadPostRequest.ExpectedResponseUrl = UrlHelper.VerifyUploadPageUrl;
            FormPostHttpBody uploadPostBody = new FormPostHttpBody();

            uploadPostBody.FormPostParameters.Add("__RequestVerificationToken", test.Context["$HIDDEN1.__RequestVerificationToken"].ToString());
            uploadPostBody.FormPostParameters.Add(new FileUploadParameter("UploadFile", packageFullPath, "application/x-zip-compressed", true));
            uploadPostRequest.Body = uploadPostBody;
            return(uploadPostRequest);
        }
        public override IEnumerator <WebTestRequest> GetRequestEnumerator()
        {
            WebTestRequest registerPageRequest = AssertAndValidationHelper.GetHttpRequestForUrl(UrlHelper.RegisterPageUrl);

            yield return(registerPageRequest);

            registerPageRequest = null;

            WebTestRequest registerPagePostRequest = new WebTestRequest(UrlHelper.RegisterPageUrl);

            //create a form and set the UserName, Email and password as form post parameters.
            //We just need to set some unique user name and Email.
            registerPagePostRequest.Method = "POST";
            registerPagePostRequest.ExpectedResponseUrl = UrlHelper.RegistrationPendingPageUrl;
            FormPostHttpBody registerNewUserFormPost = new FormPostHttpBody();

            registerNewUserFormPost.FormPostParameters.Add("__RequestVerificationToken", this.Context["$HIDDEN1.__RequestVerificationToken"].ToString());
            registerNewUserFormPost.FormPostParameters.Add(Constants.EmailAddressFormField, DateTime.Now.Ticks.ToString() + "@live.com");
            registerNewUserFormPost.FormPostParameters.Add(Constants.UserNameFormField, EnvironmentSettings.TestAccountName);  // This account already exists; we expect this to fail.
            registerNewUserFormPost.FormPostParameters.Add(Constants.PasswordFormField, "xxxxxxx");
            registerNewUserFormPost.FormPostParameters.Add(Constants.ConfirmPasswordFormField, "xxxxxxx");
            registerPagePostRequest.Body = registerNewUserFormPost;
            //Validate the response to make sure that it has the pending confirmation text in it.
            ValidationRuleFindText PendingConfirmationTextRule = AssertAndValidationHelper.GetValidationRuleForFindText(Constants.RegisterNewUserPendingConfirmationText, false);

            registerPagePostRequest.ValidateResponse += new EventHandler <ValidationEventArgs>(PendingConfirmationTextRule.Validate);
            yield return(registerPagePostRequest);

            registerPagePostRequest = null;

            registerPagePostRequest        = new WebTestRequest(UrlHelper.RegisterPageUrl);
            registerPagePostRequest.Method = "POST";
            registerPagePostRequest.ExpectedResponseUrl = UrlHelper.RegistrationPendingPageUrl;
            registerNewUserFormPost = new FormPostHttpBody();
            registerNewUserFormPost.FormPostParameters.Add("__RequestVerificationToken", this.Context["$HIDDEN1.__RequestVerificationToken"].ToString());
            registerNewUserFormPost.FormPostParameters.Add(Constants.EmailAddressFormField, DateTime.Now.Ticks.ToString() + "@live.com");
            registerNewUserFormPost.FormPostParameters.Add(Constants.UserNameFormField, Convert.ToChar(4).ToString());  // This is an invalid username; we expect this to fail, too.
            registerNewUserFormPost.FormPostParameters.Add(Constants.PasswordFormField, "xxxxxxx");
            registerNewUserFormPost.FormPostParameters.Add(Constants.ConfirmPasswordFormField, "xxxxxxx");
            registerPagePostRequest.Body = registerNewUserFormPost;
            //Validate the response to make sure that it lacks the pending confirmation text.
            PendingConfirmationTextRule = AssertAndValidationHelper.GetValidationRuleForFindText(Constants.RegisterNewUserPendingConfirmationText, false);
            registerPagePostRequest.ValidateResponse += new EventHandler <ValidationEventArgs>(PendingConfirmationTextRule.Validate);
            //Validate the error is handled.  We should end up on the same page again.
            ValidationRuleFindText ErrorHandledTextRule = AssertAndValidationHelper.GetValidationRuleForFindText(Constants.CreateNewAccountText);

            registerPagePostRequest.ValidateResponse += new EventHandler <ValidationEventArgs>(ErrorHandledTextRule.Validate);
            yield return(registerPagePostRequest);

            registerPagePostRequest = null;
        }
        /// <summary>
        /// Returns the POST WebRequest for logon with appropriate form parameters set.
        /// Individual WebTests can use this.
        /// </summary>
        /// <returns></returns>
        public static WebTestRequest GetVerifyPackagePostRequestForPackage(WebTest test, string packageId, string packageVersion)
        {
            WebTestRequest verifyUploadPostRequest = new WebTestRequest(UrlHelper.VerifyUploadPageUrl);

            verifyUploadPostRequest.Method = "POST";
            verifyUploadPostRequest.ExpectedResponseUrl = UrlHelper.GetPackagePageUrl(packageId) + "/" + packageVersion;
            FormPostHttpBody verifyUploadPostRequestBody = new FormPostHttpBody();

            verifyUploadPostRequestBody.FormPostParameters.Add("__RequestVerificationToken", test.Context["$HIDDEN1.__RequestVerificationToken"].ToString());
            verifyUploadPostRequestBody.FormPostParameters.Add("Listed", "true");
            verifyUploadPostRequestBody.FormPostParameters.Add("Listed", test.Context["$HIDDEN1.Listed"].ToString());
            verifyUploadPostRequest.Body = verifyUploadPostRequestBody;
            return(verifyUploadPostRequest);
        }
        public override void PreRequest(object sender, PreRequestEventArgs e)
        {
            base.PreRequest(sender, e);

            if (e.Request.Method == "POST")
            {
                FormPostHttpBody  form  = e.Request.Body as FormPostHttpBody;
                FormPostParameter param = form.FormPostParameters[0];

                string value = RuleHelper.ResolveContextValue(e.WebTest.Context, param.Value);

                string json = param.Name == "JSON" ? param.Value : this.BuildJSON(e.WebTest.Context, value);
                e.Request.Body = new JsonRequestBody(json);
            }
        }
Exemple #26
0
        public override IEnumerator <WebTestRequest> GetRequestEnumerator()
        {
            //run this test only if read-only mode is set. This is to avoid false failures while doing Run all tests locally.
            if (EnvironmentSettings.ReadOnlyMode.Equals("True", StringComparison.OrdinalIgnoreCase))
            {
                //Do initial login to be able to perform package management.
                WebTestRequest logonGet = AssertAndValidationHelper.GetLogonGetRequest();
                yield return(logonGet);

                logonGet = null;
                WebTestRequest logonPost = AssertAndValidationHelper.GetLogonPostRequest(this);
                yield return(logonPost);

                logonPost = null;

                WebTestRequest      accountPageRequest = new WebTestRequest(UrlHelper.AccountPageUrl);
                ExtractHiddenFields extractionRule1    = AssertAndValidationHelper.GetDefaultExtractHiddenFields();
                accountPageRequest.ExtractValues += new EventHandler <ExtractionEventArgs>(extractionRule1.Extract);
                yield return(accountPageRequest);

                accountPageRequest = null;

                WebTestRequest unsubscribeRequest = new WebTestRequest(UrlHelper.AccountUnscribeUrl);
                unsubscribeRequest.Method = "POST";
                unsubscribeRequest.ExpectedHttpStatusCode = 503;
                FormPostHttpBody unsubscribeRequestBody = new FormPostHttpBody();
                unsubscribeRequestBody.FormPostParameters.Add("__RequestVerificationToken", this.Context["$HIDDEN1.__RequestVerificationToken"].ToString());
                unsubscribeRequest.Body = unsubscribeRequestBody;
                //check for read-only status.
                ValidationRuleFindText readonlyValidationRule = AssertAndValidationHelper.GetValidationRuleForFindText(Constants.ReadOnlyModeError);
                unsubscribeRequest.ValidateResponse += new EventHandler <ValidationEventArgs>(readonlyValidationRule.Validate);
                yield return(unsubscribeRequest);

                unsubscribeRequest = null;

                WebTestRequest resetApiKeyRequest = new WebTestRequest(UrlHelper.AccountApiKeyResetUrl);
                resetApiKeyRequest.Method = "POST";
                resetApiKeyRequest.ExpectedHttpStatusCode = 503;
                FormPostHttpBody resetApiKeyRequestBody = new FormPostHttpBody();
                resetApiKeyRequestBody.FormPostParameters.Add("__RequestVerificationToken", this.Context["$HIDDEN1.__RequestVerificationToken"].ToString());
                resetApiKeyRequest.Body = resetApiKeyRequestBody;
                //Check for read-only error
                resetApiKeyRequest.ValidateResponse += new EventHandler <ValidationEventArgs>(readonlyValidationRule.Validate);
                yield return(resetApiKeyRequest);

                resetApiKeyRequest = null;
            }
        }
        public override IEnumerator<WebTestRequest> GetRequestEnumerator()
        {
          
            ExtractHiddenFields defaultExtractionRule = AssertAndValidationHelper.GetDefaultExtractHiddenFields();

            //Do initial login
            WebTestRequest logonGet = AssertAndValidationHelper.GetLogonGetRequest();
            yield return logonGet;
            logonGet = null;

            WebTestRequest logonPost = AssertAndValidationHelper.GetLogonPostRequest(this);
            yield return logonPost;
            logonPost = null;            

            WebTestRequest uploadRequest = AssertAndValidationHelper.GetHttpRequestForUrl(UrlHelper.UploadPageUrl);       
            yield return uploadRequest;
            uploadRequest = null;

            // The API key is part of the nuget.config file that is present under the solution dir.
            string packageId = DateTime.Now.Ticks.ToString();
            string packageFullPath = CmdLineHelper.CreatePackage(packageId);            

            WebTestRequest uploadPostRequest = new WebTestRequest(UrlHelper.UploadPageUrl);
            uploadPostRequest.Method = "POST";
            uploadPostRequest.ExpectedResponseUrl = UrlHelper.VerifyUploadPageUrl;
            FormPostHttpBody uploadPostBody = new FormPostHttpBody();
            uploadPostBody.FormPostParameters.Add("__RequestVerificationToken", this.Context["$HIDDEN1.__RequestVerificationToken"].ToString());
            uploadPostBody.FormPostParameters.Add(new FileUploadParameter("UploadFile", packageFullPath, "application/x-zip-compressed", true));
            uploadPostRequest.Body = uploadPostBody;
            yield return uploadPostRequest;
            uploadPostRequest = null;

            WebTestRequest verifyUploadRequest = new WebTestRequest(UrlHelper.VerifyUploadPageUrl);
            verifyUploadRequest.ExtractValues += new EventHandler<ExtractionEventArgs>(defaultExtractionRule.Extract);
            yield return verifyUploadRequest;
            verifyUploadRequest = null;                     

            WebTestRequest verifyUploadPostRequest = new WebTestRequest(UrlHelper.VerifyUploadPageUrl);
            verifyUploadPostRequest.Method = "POST";
            verifyUploadPostRequest.ExpectedResponseUrl = UrlHelper.GetPackagePageUrl(packageId)+ "/1.0.0";
            FormPostHttpBody verifyUploadPostRequestBody = new FormPostHttpBody();
            verifyUploadPostRequestBody.FormPostParameters.Add("__RequestVerificationToken", this.Context["$HIDDEN1.__RequestVerificationToken"].ToString());
            verifyUploadPostRequestBody.FormPostParameters.Add("Listed", "true");
            verifyUploadPostRequestBody.FormPostParameters.Add("Listed", this.Context["$HIDDEN1.Listed"].ToString());
            verifyUploadPostRequest.Body = verifyUploadPostRequestBody;         
            yield return verifyUploadPostRequest;
            verifyUploadPostRequest = null;      
        }
Exemple #28
0
        /// <summary>
        /// Returns the POST WebRequest for logon with appropriate form parameters set.
        /// Individual WebTests can use this.
        /// </summary>
        /// <returns></returns>
        public static WebTestRequest GetLogonPostRequest(WebTest test)
        {
            var logonPostRequest = new WebTestRequest(UrlHelper.SignInPageUrl);

            logonPostRequest.Method = "POST";

            var logonRequestFormPostBody = new FormPostHttpBody();

            logonRequestFormPostBody.FormPostParameters.Add("__RequestVerificationToken", test.Context["$HIDDEN1.__RequestVerificationToken"].ToString());
            logonRequestFormPostBody.FormPostParameters.Add("ReturnUrl", "/");
            logonRequestFormPostBody.FormPostParameters.Add("LinkingAccount", "false");
            logonRequestFormPostBody.FormPostParameters.Add(Constants.UserNameOrEmailFormField, EnvironmentSettings.TestAccountEmail);
            logonRequestFormPostBody.FormPostParameters.Add(Constants.PasswordFormField, EnvironmentSettings.TestAccountPassword);
            logonPostRequest.Body = logonRequestFormPostBody;

            return(logonPostRequest);
        }
        public override IEnumerator<WebTestRequest> GetRequestEnumerator()
        {
            //Upload a new package.   
            string packageId = this.Name + DateTime.Now.Ticks.ToString();
            string version = "1.0.0";
            AssertAndValidationHelper.UploadNewPackageAndVerify(packageId,version);

            //Do initial login to be able to perform delete ops.
            WebTestRequest logonGet = AssertAndValidationHelper.GetLogonGetRequest();
            yield return logonGet;
            logonGet = null;
            WebTestRequest logonPost = AssertAndValidationHelper.GetLogonPostRequest(this);
            yield return logonPost;
            logonPost = null;

            string deletePackagePageUrl = UrlHelper.GetPackageDeletePageUrl(packageId, version);


            WebTestRequest deletePackageRequest = AssertAndValidationHelper.GetHttpRequestForUrl(deletePackagePageUrl);           
            yield return deletePackageRequest;
            deletePackageRequest = null;

            WebTestRequest deletePackagePagePostRequest = new WebTestRequest(deletePackagePageUrl);
            deletePackagePagePostRequest.Method = "POST";
            //once the listing is done, it should return back to the packages page.
            deletePackagePagePostRequest.ExpectedResponseUrl = UrlHelper.GetPackagePageUrl(packageId, version);
            FormPostHttpBody deletePackagePostRequestForm = new FormPostHttpBody();
            deletePackagePostRequestForm.FormPostParameters.Add("__RequestVerificationToken", this.Context["$HIDDEN1.__RequestVerificationToken"].ToString());
            deletePackagePostRequestForm.FormPostParameters.Add("Listed", this.Context["$HIDDEN1.Listed"].ToString());
            deletePackagePagePostRequest.Body = deletePackagePostRequestForm;

            //Make sure that the package page shows the message saying that it has been unlisted.
            ValidationRuleFindText findTextRule = new ValidationRuleFindText();
            findTextRule.FindText = Constants.UnListedPackageText;
            deletePackagePagePostRequest.ValidateResponse += new EventHandler<ValidationEventArgs>(findTextRule.Validate);
            yield return deletePackagePagePostRequest;
            deletePackagePagePostRequest = null;

            //check if it shows up in search and cross check with client SDK.            
            Assert.IsTrue(ClientSDKHelper.IsPackageVersionUnListed(packageId, version), "Package not returned as unlisted by Nuget core after unlisting it in gallery");

           


        }
        public override IEnumerator<WebTestRequest> GetRequestEnumerator()
        {
            //Upload a new package.   
            string packageId = this.Name + DateTime.Now.Ticks.ToString();
            string version = "1.0.0";
            AssertAndValidationHelper.UploadNewPackageAndVerify(packageId,version);

            //Do initial login to be able to contact owner.
            WebTestRequest logonGet = AssertAndValidationHelper.GetLogonGetRequest();
            yield return logonGet;
            logonGet = null;
            WebTestRequest logonPost = AssertAndValidationHelper.GetLogonPostRequest(this);
            yield return logonPost;
            logonPost = null;

            WebTestRequest conactOwnerRequest = AssertAndValidationHelper.GetHttpRequestForUrl(UrlHelper.GetContactOwnerPageUrl(packageId));         
            yield return conactOwnerRequest;
            conactOwnerRequest = null;

            WebTestRequest conactOwnerPostRequest = new WebTestRequest(UrlHelper.GetContactOwnerPageUrl(packageId));
            conactOwnerPostRequest.Method = "POST";
            //once the listing is done, it should return back to the packages page.
            conactOwnerPostRequest.ExpectedResponseUrl = UrlHelper.GetPackagePageUrl(packageId,version);
            FormPostHttpBody contactOwnerRequestBody = new FormPostHttpBody();
            contactOwnerRequestBody.FormPostParameters.Add("__RequestVerificationToken", this.Context["$HIDDEN1.__RequestVerificationToken"].ToString());
            contactOwnerRequestBody.FormPostParameters.Add("Message", "Test");
            conactOwnerPostRequest.Body = contactOwnerRequestBody;

            //Make sure that the package page shows the message saying that the mail has been sent.
            ValidationRuleFindText findTextRule = AssertAndValidationHelper.GetValidationRuleForFindText(Constants.ContactOwnersText + " " + packageId);            
            conactOwnerPostRequest.ValidateResponse += new EventHandler<ValidationEventArgs>(findTextRule.Validate);
            yield return conactOwnerPostRequest;
            conactOwnerPostRequest = null;

            //Wait for a 30 sec to make sure that the mail reaches properly.
            System.Threading.Thread.Sleep(30 * 1000);

            //Cross check with the pop3 client to check if the message actually has been received.
            string subject = string.Empty;
            Assert.IsTrue(MailHelper.IsMailSentForContactOwner(packageId,out subject), "Contact owners message not sent to the owner properly. Actual subject : {0}", subject);

           


        }
Exemple #31
0
        public override void PreRequest(object sender, PreRequestEventArgs e)
        {
            string server = e.WebTest.Context["WebServer"].ToString();
            if (e.Request.Url.Equals(server + "/Dashboard/Order/AddOrder", StringComparison.InvariantCultureIgnoreCase))
            {
                var context = e.WebTest.Context;
                List<KeyValuePair<string, string>> hiddens = (List<KeyValuePair<string, string>>)context[ContextHiddenArrayId];
                FormPostHttpBody requestBody = new FormPostHttpBody();
                requestBody.FormPostParameters.Add("__RequestVerificationToken", context["$HIDDEN1.__RequestVerificationToken"].ToString());
                requestBody.FormPostParameters.Add("LoanNumber", "LoanNumber");
                requestBody.FormPostParameters.Add("BorrowerFirstName", "FirstName");
                requestBody.FormPostParameters.Add("BorrowerLastName", "LastName");
                requestBody.FormPostParameters.Add("Address.Street", "PT FOM 9905");
                requestBody.FormPostParameters.Add("Address.Street2", "");
                requestBody.FormPostParameters.Add("Address.City", "Lati");
                requestBody.FormPostParameters.Add("Address.State", "FL, Florida");
                requestBody.FormPostParameters.Add("Address.ZIP", "93445");
                requestBody.FormPostParameters.Add("PropertyType", "1");
                requestBody.FormPostParameters.Add("OccupancyType", "1");
                requestBody.FormPostParameters.Add("FormType", "1");
                requestBody.FormPostParameters.Add("AppraisalFee", "500.00");
                requestBody.FormPostParameters.Add("DueDate", "06/30/2015");
                requestBody.FormPostParameters.Add("AppraisalAddonsType", "0");
                requestBody.FormPostParameters.Add("RushType", "1");
                requestBody.FormPostParameters.Add("LoanPurposeType", "1");
                requestBody.FormPostParameters.Add("AppraisalType", "1");

                foreach (var pair in hiddens)
                {
                    string key = pair.Key;
                    string value = pair.Value;
                    if (key.Contains(HiddenPrefix))
                    {
                        if (key.Contains(KeyForValueReplasing))
                            value = ReplaceValue;
                        requestBody.FormPostParameters.Add(key, value);
                    }
                }
                requestBody.FormPostParameters.Add("toRedirect", "true");
                requestBody.FormPostParameters.Add("IsEmailDelivery", "false");
                requestBody.FormPostParameters.Add("IsTextMsgDelivery", "false");
                e.Request.Body = requestBody;
            }
            base.PreRequest(sender, e);
        }
        public override IEnumerator<WebTestRequest> GetRequestEnumerator()
        {
            // Run this test only if read-only mode is set. This is to avoid false failures while doing Run all tests locally.
            if (EnvironmentSettings.ReadOnlyMode.Equals("True", StringComparison.OrdinalIgnoreCase))
            {
                // Do initial login to be able to perform package management.
                var logonGet = AssertAndValidationHelper.GetLogonGetRequest();
                yield return logonGet;

                var logonPost = AssertAndValidationHelper.GetLogonPostRequest(this);
                yield return logonPost;

                var accountPageRequest = new WebTestRequest(UrlHelper.AccountPageUrl);
                var extractionRule1 = AssertAndValidationHelper.GetDefaultExtractHiddenFields();
                accountPageRequest.ExtractValues += extractionRule1.Extract;
                yield return accountPageRequest;


                var unsubscribeRequest = new WebTestRequest(UrlHelper.AccountUnscribeUrl);
                unsubscribeRequest.Method = "POST";
                unsubscribeRequest.ExpectedHttpStatusCode = 503;
                var unsubscribeRequestBody = new FormPostHttpBody();
                unsubscribeRequestBody.FormPostParameters.Add("__RequestVerificationToken", Context["$HIDDEN1.__RequestVerificationToken"].ToString());
                unsubscribeRequestBody.FormPostParameters.Add("emailAllowed", "false");
                unsubscribeRequest.Body = unsubscribeRequestBody;

                // Check for read-only status.
                var readonlyValidationRule = AssertAndValidationHelper.GetValidationRuleForFindText(Constants.ReadOnlyModeError);
                unsubscribeRequest.ValidateResponse += readonlyValidationRule.Validate;
                yield return unsubscribeRequest;

                var resetApiKeyRequest = new WebTestRequest(UrlHelper.AccountApiKeyResetUrl);
                resetApiKeyRequest.Method = "POST";
                resetApiKeyRequest.ExpectedHttpStatusCode = 503;

                var resetApiKeyRequestBody = new FormPostHttpBody();
                resetApiKeyRequestBody.FormPostParameters.Add("__RequestVerificationToken", Context["$HIDDEN1.__RequestVerificationToken"].ToString());
                resetApiKeyRequest.Body = resetApiKeyRequestBody;

                // Check for read-only error
                resetApiKeyRequest.ValidateResponse += readonlyValidationRule.Validate;
                yield return resetApiKeyRequest;
            }
        }
        public override IEnumerator<WebTestRequest> GetRequestEnumerator()
        {
            //run this test only if read-only mode is set. This is to avoid false failures while doing Run all tests locally.
            if (EnvironmentSettings.ReadOnlyMode.Equals("True", StringComparison.OrdinalIgnoreCase))
            {
                //Do initial login to be able to perform package management.
                WebTestRequest logonGet = AssertAndValidationHelper.GetLogonGetRequest();
                yield return logonGet;
                logonGet = null;
                WebTestRequest logonPost = AssertAndValidationHelper.GetLogonPostRequest(this);
                yield return logonPost;
                logonPost = null;

                WebTestRequest accountPageRequest = new WebTestRequest("https://nuget-int-1-v2gallery.cloudapp.net/account");
                ExtractHiddenFields extractionRule1 = AssertAndValidationHelper.GetDefaultExtractHiddenFields();
                accountPageRequest.ExtractValues += new EventHandler<ExtractionEventArgs>(extractionRule1.Extract);
                yield return accountPageRequest;
                accountPageRequest = null;

                WebTestRequest unsubscribeRequest = new WebTestRequest(UrlHelper.AccountUnscribeUrl);
                unsubscribeRequest.Method = "POST";
                unsubscribeRequest.ExpectedHttpStatusCode = 503;
                FormPostHttpBody unsubscribeRequestBody = new FormPostHttpBody();
                unsubscribeRequestBody.FormPostParameters.Add("__RequestVerificationToken", this.Context["$HIDDEN1.__RequestVerificationToken"].ToString());
                unsubscribeRequest.Body = unsubscribeRequestBody;
                //check for read-only status.     
                ValidationRuleFindText readonlyValidationRule = AssertAndValidationHelper.GetValidationRuleForFindText(Constants.ReadOnlyModeError);
                unsubscribeRequest.ValidateResponse += new EventHandler<ValidationEventArgs>(readonlyValidationRule.Validate);
                yield return unsubscribeRequest;
                unsubscribeRequest = null;

                WebTestRequest resetApiKeyRequest = new WebTestRequest(UrlHelper.AccountApiKeyResetUrl);
                resetApiKeyRequest.Method = "POST";
                resetApiKeyRequest.ExpectedHttpStatusCode = 503;
                FormPostHttpBody resetApiKeyRequestBody = new FormPostHttpBody();
                resetApiKeyRequestBody.FormPostParameters.Add("__RequestVerificationToken", this.Context["$HIDDEN1.__RequestVerificationToken"].ToString());
                resetApiKeyRequest.Body = resetApiKeyRequestBody;
                //Check for read-only error     
                resetApiKeyRequest.ValidateResponse += new EventHandler<ValidationEventArgs>(readonlyValidationRule.Validate);
                yield return resetApiKeyRequest;
                resetApiKeyRequest = null;
            }
        }
        public override IEnumerator<WebTestRequest> GetRequestEnumerator()
        {
            WebTestRequest registerPageRequest = AssertAndValidationHelper.GetHttpRequestForUrl(UrlHelper.LogonPageUrl);
            yield return registerPageRequest;
            registerPageRequest = null;

            WebTestRequest registerPagePostRequest = new WebTestRequest(UrlHelper.RegisterPageUrl);
            //create a form and set the UserName, Email and password as form post parameters.  
            //We just need to set some unique user name and Email.  
            registerPagePostRequest.Method = "POST";
            registerPagePostRequest.ExpectedResponseUrl = UrlHelper.RegistrationPendingPageUrl;
            FormPostHttpBody registerNewUserFormPost = new FormPostHttpBody();
            registerNewUserFormPost.FormPostParameters.Add("__RequestVerificationToken", this.Context["$HIDDEN1.__RequestVerificationToken"].ToString());
            registerNewUserFormPost.FormPostParameters.Add("LinkingAccount", "false"); 
            registerNewUserFormPost.FormPostParameters.Add(Constants.EmailAddressFormField, DateTime.Now.Ticks.ToString() + "@live.com");
            registerNewUserFormPost.FormPostParameters.Add(Constants.UserNameFormField, EnvironmentSettings.TestAccountName);  // This account already exists; we expect this to fail.
            registerNewUserFormPost.FormPostParameters.Add(Constants.PasswordFormField, "xxxxxxx");
            registerPagePostRequest.Body = registerNewUserFormPost;
            //Validate the response to make sure that it has the pending confirmation text in it.           
            ValidationRuleFindText PendingConfirmationTextRule = AssertAndValidationHelper.GetValidationRuleForFindText(Constants.RegisterNewUserPendingConfirmationText, false);
            registerPagePostRequest.ValidateResponse += new EventHandler<ValidationEventArgs>(PendingConfirmationTextRule.Validate);
            yield return registerPagePostRequest;
            registerPagePostRequest = null;

            registerPagePostRequest = new WebTestRequest(UrlHelper.RegisterPageUrl);
            registerPagePostRequest.Method = "POST";
            registerPagePostRequest.ExpectedResponseUrl = UrlHelper.RegistrationPendingPageUrl;
            registerNewUserFormPost = new FormPostHttpBody();
            registerNewUserFormPost.FormPostParameters.Add("__RequestVerificationToken", this.Context["$HIDDEN1.__RequestVerificationToken"].ToString());
            registerNewUserFormPost.FormPostParameters.Add("LinkingAccount", "false"); 
            registerNewUserFormPost.FormPostParameters.Add(Constants.EmailAddressFormField, DateTime.Now.Ticks.ToString() + "@live.com");
            registerNewUserFormPost.FormPostParameters.Add(Constants.UserNameFormField, Convert.ToChar(4).ToString());  // This is an invalid username; we expect this to fail, too.
            registerNewUserFormPost.FormPostParameters.Add(Constants.PasswordFormField, "xxxxxxx");
            registerPagePostRequest.Body = registerNewUserFormPost;
            //Validate the response to make sure that it lacks the pending confirmation text.           
            PendingConfirmationTextRule = AssertAndValidationHelper.GetValidationRuleForFindText(Constants.RegisterNewUserPendingConfirmationText, false);
            registerPagePostRequest.ValidateResponse += new EventHandler<ValidationEventArgs>(PendingConfirmationTextRule.Validate);
            //Validate the error is handled.  We should end up on the same page again.     
            PendingConfirmationTextRule = AssertAndValidationHelper.GetValidationRuleForFindText(Constants.RegisterNewUserPendingConfirmationText, false);
            registerPagePostRequest.ValidateResponse += new EventHandler<ValidationEventArgs>(PendingConfirmationTextRule.Validate);
            yield return registerPagePostRequest;
            registerPagePostRequest = null;
        }
        public override void PreRequest(object sender, PreRequestEventArgs e)
        {
            base.PreRequest(sender, e);

            FormPostHttpBody body = (FormPostHttpBody)e.Request.Body;

            int count = int.Parse(e.WebTest.Context[_Prefix].ToString());

            for (int i = 1; i <= count; i++)
            {
                string name  = e.WebTest.Context[_Prefix + "_NAME_" + i].ToString();
                string value = e.WebTest.Context[_Prefix + "_VALUE_" + i].ToString();
                if (!body.FormPostParameters.Contains(name))
                {
                    body.FormPostParameters.Add(name, value);
                }
            }

            e.Request.Body = body;
        }
Exemple #36
0
        /// <summary>
        /// Creates the login request.
        /// </summary>
        /// <param name="username">The username.</param>
        /// <param name="password">The password.</param>
        /// <param name="application">The application.</param>
        /// <returns></returns>
        private WebTestRequest CreateLoginRequest(string username, string password, string application)
        {
            WebTestRequest request = new WebTestRequest(CommerceManagerUrl + "/Login.aspx");

            request.ExpectedResponseUrl = CommerceManagerUrl + "/Login.aspx?ReturnUrl=%2fConsoleManager%2fDefault.aspx" + "";

            // "/Login.aspx"
            request.Method = "POST";
            request.ExpectedResponseUrl = CommerceManagerUrl + "/Apps/Shell/Pages/default.aspx";
            request.QueryStringParameters.Add("ReturnUrl", "%2fConsoleManager%2fDefault.aspx", false, false);
            FormPostHttpBody requestBody = new FormPostHttpBody();

            requestBody.FormPostParameters.Add("__EVENTTARGET", this.Context["$HIDDEN1.__EVENTTARGET"].ToString());
            requestBody.FormPostParameters.Add("__EVENTARGUMENT", this.Context["$HIDDEN1.__EVENTARGUMENT"].ToString());
            requestBody.FormPostParameters.Add("__VIEWSTATE", this.Context["$HIDDEN1.__VIEWSTATE"].ToString());
            requestBody.FormPostParameters.Add("LoginCtrl$UserName", username);
            requestBody.FormPostParameters.Add("LoginCtrl$Password", password);
            requestBody.FormPostParameters.Add("LoginCtrl$Application", application);
            requestBody.FormPostParameters.Add("LoginCtrl$LoginButton", "Log In");
            request.Body = requestBody;
            return(request);
        }
Exemple #37
0
        public static WebTestRequest GetEditPackagePostRequest(WebTest test, string packageId, string version, string title = null, string description = null, string summary = null, string iconUrl = null, string projectUrl = null, string authors = null, string copyright = null, string tags = null, string releaseNotes = null)
        {
            WebTestRequest editPackagePostRequest = new WebTestRequest(String.Format(UrlHelper.EditPageUrl, packageId, version));

            editPackagePostRequest.Method = "POST";
            editPackagePostRequest.ExpectedResponseUrl = UrlHelper.GetPackagePageUrl(packageId, version);
            //Assert.Fail("ExpectedResponseUrl is " + editPackagePostRequest.ExpectedResponseUrl);
            FormPostHttpBody logonRequestFormPostBody = new FormPostHttpBody();

            logonRequestFormPostBody.FormPostParameters.Add("__RequestVerificationToken", test.Context["$HIDDEN1.__RequestVerificationToken"].ToString());
            logonRequestFormPostBody.FormPostParameters.Add("Edit.VersionTitle", title);
            logonRequestFormPostBody.FormPostParameters.Add("Edit.Description", description);
            logonRequestFormPostBody.FormPostParameters.Add("Edit.Summary", summary);
            logonRequestFormPostBody.FormPostParameters.Add("Edit.IconUrl", iconUrl);
            logonRequestFormPostBody.FormPostParameters.Add("Edit.ProjectUrl", projectUrl);
            logonRequestFormPostBody.FormPostParameters.Add("Edit.Authors", authors);
            logonRequestFormPostBody.FormPostParameters.Add("Edit.Copyright", copyright);
            logonRequestFormPostBody.FormPostParameters.Add("Edit.Tags", tags);
            logonRequestFormPostBody.FormPostParameters.Add("Edit.ReleaseNotes", releaseNotes);

            editPackagePostRequest.Body = logonRequestFormPostBody;
            return(editPackagePostRequest);
        }
        public override IEnumerator<WebTestRequest> GetRequestEnumerator()
        {
            WebTestRequest registerPageRequest = AssertAndValidationHelper.GetHttpRequestForUrl(UrlHelper.LogonPageUrl);
            yield return registerPageRequest;

            WebTestRequest registerPagePostRequest = new WebTestRequest(UrlHelper.RegisterPageUrl);
            registerPagePostRequest.Method = "POST";
            registerPagePostRequest.ExpectedResponseUrl = UrlHelper.RegistrationPendingPageUrl;

            //create a form and set the UserName, Email and password as form post parameters.
            //We just need to set some unique user name and Email.
            FormPostHttpBody registerNewUserFormPost = new FormPostHttpBody();
            registerNewUserFormPost.FormPostParameters.Add("__RequestVerificationToken", Context["$HIDDEN1.__RequestVerificationToken"].ToString());
            registerNewUserFormPost.FormPostParameters.Add("LinkingAccount", "false");
            registerNewUserFormPost.FormPostParameters.Add(Constants.EmailAddressFormField, DateTime.Now.Ticks + "@live.com"); //add a dummy mail account.
            registerNewUserFormPost.FormPostParameters.Add(Constants.UserNameFormField, DateTime.Now.Ticks + "NewAccount");
            registerNewUserFormPost.FormPostParameters.Add(Constants.RegisterPasswordFormField, "xxxxxxxx");
            registerPagePostRequest.Body = registerNewUserFormPost;

            // Validate the response to make sure that it has the confirmation text in it.
            var pendingConfirmationTextRule = AssertAndValidationHelper.GetValidationRuleForFindText(Constants.RegisterNewUserConfirmationText);
            registerPagePostRequest.ValidateResponse += pendingConfirmationTextRule.Validate;
            yield return registerPagePostRequest;
        }
Exemple #39
0
        /// <summary>
        /// Returns the POST WebRequest for logon with appropriate form parameters set.
        /// Individual WebTests can use this.
        /// </summary>
        /// <returns></returns>
        public static WebTestRequest GetVerifyPackagePostRequestForPackage(WebTest test, string packageId, string packageVersion)
        {
            WebTestRequest verifyUploadPostRequest = new WebTestRequest(UrlHelper.VerifyUploadPageUrl);

            verifyUploadPostRequest.Method = "POST";
            verifyUploadPostRequest.ExpectedResponseUrl = UrlHelper.GetPackagePageUrl(packageId, packageVersion);
            FormPostHttpBody verifyUploadPostRequestBody = new FormPostHttpBody();

            verifyUploadPostRequestBody.FormPostParameters.Add("__RequestVerificationToken", test.Context["$HIDDEN1.__RequestVerificationToken"].ToString());
            verifyUploadPostRequestBody.FormPostParameters.Add("Id", packageId);
            verifyUploadPostRequestBody.FormPostParameters.Add("Version", packageVersion);
            verifyUploadPostRequestBody.FormPostParameters.Add("LicenseUrl", "");
            verifyUploadPostRequestBody.FormPostParameters.Add("Edit.VersionTitle", "");
            verifyUploadPostRequestBody.FormPostParameters.Add("Edit.Description", "Package description");
            verifyUploadPostRequestBody.FormPostParameters.Add("Edit.Summary", "");
            verifyUploadPostRequestBody.FormPostParameters.Add("Edit.IconUrl", "");
            verifyUploadPostRequestBody.FormPostParameters.Add("Edit.ProjectUrl", "");
            verifyUploadPostRequestBody.FormPostParameters.Add("Edit.Authors", "bhuvak");
            verifyUploadPostRequestBody.FormPostParameters.Add("Edit.CopyrightText", "Copyright 2013");
            verifyUploadPostRequestBody.FormPostParameters.Add("Edit.Tags", " windows8 ");
            verifyUploadPostRequestBody.FormPostParameters.Add("Edit.ReleaseNotes", "");
            verifyUploadPostRequest.Body = verifyUploadPostRequestBody;
            return(verifyUploadPostRequest);
        }
        public override IEnumerator<WebTestRequest> GetRequestEnumerator()
        {
            WebTestRequest registerPageRequest = AssertAndValidationHelper.GetHttpRequestForUrl(UrlHelper.RegisterPageUrl);
            yield return registerPageRequest;
            registerPageRequest = null;

            WebTestRequest registerPagePostRequest = new WebTestRequest(UrlHelper.RegisterPageUrl);
            registerPagePostRequest.Method = "POST";
            registerPagePostRequest.ExpectedResponseUrl = UrlHelper.RegisterPageUrl; // the same page will be the response url.
            //create a form and set the UserName, Email and password as form post parameters.
            //We just need to set some unique user name and Email.
            FormPostHttpBody registerNewUserFormPost = new FormPostHttpBody();
            registerNewUserFormPost.FormPostParameters.Add("__RequestVerificationToken", this.Context["$HIDDEN1.__RequestVerificationToken"].ToString());
            registerNewUserFormPost.FormPostParameters.Add(Constants.EmailAddressFormField, DateTime.Now.Ticks.ToString() + "@gmail.com");
            registerNewUserFormPost.FormPostParameters.Add(Constants.UserNameFormField, DateTime.Now.Ticks.ToString());
            registerNewUserFormPost.FormPostParameters.Add(Constants.PasswordFormField, "1qq1qq1qq");
            registerNewUserFormPost.FormPostParameters.Add(Constants.ConfirmPasswordFormField, "1qq1qq1qq");
            registerPagePostRequest.Body = registerNewUserFormPost;
            //Validate the response to make sure that it has the pending confirmation text in it.           
            ValidationRuleFindText PendingConfirmationTextRule = AssertAndValidationHelper.GetValidationRuleForFindText(Constants.ReadOnlyModeRegisterNewUserText);
            registerPagePostRequest.ValidateResponse += new EventHandler<ValidationEventArgs>(PendingConfirmationTextRule.Validate);
            yield return registerPagePostRequest;
            registerPagePostRequest = null;
        }
        /// <summary>
        /// Returns the POST WebRequest for logon with appropriate form parameters set.
        /// Individual WebTests can use this.
        /// </summary>
        /// <returns></returns>
        public static WebTestRequest GetUploadPostRequestForPackage(WebTest test, string packageFullPath)
        {
            WebTestRequest uploadPostRequest = new WebTestRequest(UrlHelper.UploadPageUrl);
            uploadPostRequest.Method = "POST";
            uploadPostRequest.ExpectedResponseUrl = UrlHelper.VerifyUploadPageUrl;

            FormPostHttpBody uploadPostBody = new FormPostHttpBody();
            uploadPostBody.FormPostParameters.Add("__RequestVerificationToken", test.Context["$HIDDEN1.__RequestVerificationToken"].ToString());
            uploadPostBody.FormPostParameters.Add(new FileUploadParameter("UploadFile", packageFullPath, "application/x-zip-compressed", true));
            uploadPostRequest.Body = uploadPostBody;

            return uploadPostRequest;
        }
Exemple #42
0
        public IEnumerator <WebTestRequest> GetRequestEnumerator(TwinfieldDBTenant DBTenant, string userDictionaryKey, WebTestRequestPlugin objPlugin)
        {
            var WebBTPrefix = TwinfieldScenarioPrefix.UAS_ + DBTenant.ToString() + "_";

            _textContext = webTest.Context;
            _textContext.TryGetValue("doLogin", out doLogin);
            _textContext.TryGetValue("UserId", out virtualuserId);

            SharedThreadData threadData;

            #region DoLogin
            if (Convert.ToBoolean(doLogin))
            {
                webTest.Context.CookieContainer = new System.Net.CookieContainer();

                try
                {
                    localDictionary = CustomDS.Instance.GetNextRowTwinfield(DBTenant, TwinfieldScenarioName.UserAccessSettings);

                    threadData                = new SharedThreadData(Convert.ToInt32(virtualuserId), this.TestContext);
                    threadData.UserName       = localDictionary["UserName"];
                    threadData.Tenant         = localDictionary["DBTenant"];
                    threadData.CustomerName   = localDictionary["CustomerName"];
                    threadData.hasFullAccess  = localDictionary["hasFullAccess"];
                    threadData.Password       = AssemblyLoad.Password;
                    threadData.ScenarioPrefix = WebBTPrefix;
                    CustomDS.Instance.Save_UserAccessSettings_UserData(Convert.ToInt32(virtualuserId), threadData, DBTenant);
                    Logger.WriteGeneralLogUser(TwinfieldScenarioName.UserAccessSettings + " : " + DBTenant + " : LoggedIn : " + virtualuserId);
                }
                catch (Exception ex)
                {
                    Logger.WriteGeneralLog("Input Data not fetched for:" + TwinfieldScenarioName.UserAccessSettings);
                    throw new Exception("Error in reading data for " + TwinfieldScenarioName.UserAccessSettings + " : " + ex.Message);
                }
                if (threadData.hasFullAccess == "0")
                {
                    foreach (var request in webTest.LaunchLogin(threadData, objPlugin))
                    {
                        yield return(request);
                    }
                }
                else
                {
                    foreach (var request in webTest.LaunchLogin_FullAccess(threadData, objPlugin))
                    {
                        yield return(request);
                    }
                }
                //RTMonitor.Write(Color.Green, "Create Invoice Login User: "******"with iteration no :" + threadData.iterationCount + " LoginTime: " + DateTime.Now + "\r\n");
                CustomDS.Instance.Save_UserAccessSettings_UserData(Convert.ToInt32(virtualuserId), threadData, DBTenant);
                //Logger.WriteGeneralLog("Create Invoice : Vuser - " + Convert.ToInt32(virtualuserId).ToString() + " Logged In");
            }
            else
            {
                try
                {
                    threadData = CustomDS.Instance.Get_UserAccessSettings_UserData(Convert.ToInt32(virtualuserId), DBTenant);
                    Logger.WriteGeneralLogUser(TwinfieldScenarioName.UserAccessSettings + " : " + DBTenant + " : NotLoggedIn : " + virtualuserId);
                }
                catch (Exception ex)
                {
                    Logger.WriteGeneralLog("Input Data not saved for :" + TwinfieldScenarioName.UserAccessSettings);
                    throw new Exception("Error in getting data for " + TwinfieldScenarioName.UserAccessSettings + " : " + ex.Message);
                }
            }
            #endregion DoLogin

            WebBTPrefix = threadData.ScenarioPrefix;
            string WebRequestPrefix = "";


            #region UAS_GoToUserAccessSettings
            webTest.BeginTransaction(WebBTPrefix + "GoToUserAccessSettings");
            WebRequestPrefix = "GTUAS_";

            webTest.BeginTransaction(WebRequestPrefix + "UI");
            WebTestRequest request185 = new WebTestRequest((webTest.Context["AccountingURL"].ToString() + "/UI/"));
            request185.ExpectedResponseUrl = (webTest.Context["AccountingURL"].ToString() + "/UI/#/Settings/Access");
            yield return(request185);

            request185 = null;
            webTest.EndTransaction(WebRequestPrefix + "UI");

            webTest.BeginTransaction(WebRequestPrefix + "en-GB_settings_access_access.html");
            WebTestRequest request186 = new WebTestRequest((webTest.Context["TwfcndURL"].ToString() + "/" + threadData.BuildVersion + "/en-GB/settings/access/access.html"));
            request186.Headers.Add(new WebTestRequestHeader("Accept", "application/json, text/plain, */*;version=latest"));
            request186.Headers.Add(new WebTestRequestHeader("Referer", (webTest.Context["AccountingURL"].ToString() + "/UI/")));
            yield return(request186);

            request186 = null;
            webTest.EndTransaction(WebRequestPrefix + "en-GB_settings_access_access.html");

            webTest.BeginTransaction(WebRequestPrefix + "framework_desktop_view_cr-basic-group-tile.html");
            WebTestRequest request187 = new WebTestRequest((webTest.Context["TwfcndURL"].ToString() + "/" + threadData.BuildVersion + "/en-GB/_components/framework/desktop/view/cr-basic-group-tile.html"));
            request187.Headers.Add(new WebTestRequestHeader("Accept", "application/json, text/plain, */*;version=latest"));
            request187.Headers.Add(new WebTestRequestHeader("Referer", (webTest.Context["AccountingURL"].ToString() + "/UI/")));
            yield return(request187);

            request187 = null;
            webTest.EndTransaction(WebRequestPrefix + "framework_desktop_view_cr-basic-group-tile.html");

            webTest.BeginTransaction(WebRequestPrefix + "framework_desktop_view_cr-links-tile.html");
            WebTestRequest request188 = new WebTestRequest((webTest.Context["TwfcndURL"].ToString() + "/" + threadData.BuildVersion + "/en-GB/_components/framework/desktop/view/cr-links-tile.html"));
            request188.Headers.Add(new WebTestRequestHeader("Accept", "application/json, text/plain, */*;version=latest"));
            request188.Headers.Add(new WebTestRequestHeader("Referer", (webTest.Context["AccountingURL"].ToString() + "/UI/")));
            yield return(request188);

            request188 = null;
            webTest.EndTransaction(WebRequestPrefix + "framework_desktop_view_cr-links-tile.html");

            webTest.BeginTransaction(WebRequestPrefix + "api_tasks");
            WebTestRequest request189 = new WebTestRequest((webTest.Context["AccountingURL"].ToString() + "/api/tasks"));
            request189.Headers.Add(new WebTestRequestHeader("Accept", "application/vnd.twinfield+json;version=latest"));
            request189.Headers.Add(new WebTestRequestHeader("Referer", (webTest.Context["AccountingURL"].ToString() + "/UI/")));
            yield return(request189);

            request189 = null;
            webTest.EndTransaction(WebRequestPrefix + "api_tasks");

            webTest.EndTransaction(WebBTPrefix + "GoToUserAccessSettings");
            #endregion

            #region UAS_ClickOnUsers
            webTest.BeginTransaction(WebBTPrefix + "ClickOnUsers");
            WebRequestPrefix = "COU_";

            webTest.BeginTransaction(WebRequestPrefix + "en-GB_home_classic_classic.html");
            WebTestRequest request190 = new WebTestRequest((webTest.Context["TwfcndURL"].ToString() + "/" + threadData.BuildVersion + "/en-GB/home/classic/classic.html"));
            request190.Headers.Add(new WebTestRequestHeader("Accept", "application/json, text/plain, */*;version=latest"));
            request190.Headers.Add(new WebTestRequestHeader("Referer", (webTest.Context["AccountingURL"].ToString() + "/UI/")));
            yield return(request190);

            request190 = null;
            webTest.EndTransaction(WebRequestPrefix + "en-GB_home_classic_classic.html");

            webTest.BeginTransaction(WebRequestPrefix + "masters_user_default.aspx");
            WebTestRequest request191 = new WebTestRequest((webTest.Context["AccountingURL"].ToString() + "/masters/user/default.aspx"));
            request191.Headers.Add(new WebTestRequestHeader("Referer", (webTest.Context["AccountingURL"].ToString() + "/UI/")));
            yield return(request191);

            request191 = null;
            webTest.EndTransaction(WebRequestPrefix + "masters_user_default.aspx");

            webTest.BeginTransaction(WebRequestPrefix + "api_tasks_1");
            WebTestRequest request192 = new WebTestRequest((webTest.Context["AccountingURL"].ToString() + "/api/tasks"));
            request192.Headers.Add(new WebTestRequestHeader("Accept", "application/vnd.twinfield+json;version=latest"));
            request192.Headers.Add(new WebTestRequestHeader("Referer", (webTest.Context["AccountingURL"].ToString() + "/UI/")));
            yield return(request192);

            request192 = null;
            webTest.EndTransaction(WebRequestPrefix + "api_tasks_1");

            webTest.BeginTransaction(WebRequestPrefix + "finder_default.aspx");
            WebTestRequest request193 = new WebTestRequest((webTest.Context["AccountingURL"].ToString() + "/finder/default.aspx"));
            request193.Headers.Add(new WebTestRequestHeader("Accept", "application/json, text/plain, */*"));
            request193.Headers.Add(new WebTestRequestHeader("Referer", (webTest.Context["AccountingURL"].ToString() + "/masters/user/default.aspx")));
            request193.QueryStringParameters.Add("accessrules", "1", false, false);
            request193.QueryStringParameters.Add("mutualoffices", "1", false, false);
            request193.QueryStringParameters.Add("page", "0", false, false);
            request193.QueryStringParameters.Add("pattern", "", false, false);
            request193.QueryStringParameters.Add("type", "USR", false, false);
            yield return(request193);

            request193 = null;
            webTest.EndTransaction(WebRequestPrefix + "finder_default.aspx");

            webTest.EndTransaction(WebBTPrefix + "ClickOnUsers");
            #endregion

            //Random user name

            string CreateUserName = Guid.NewGuid().ToString("n").Substring(0, 4);

            string PassCreateName = "Perf_" + CreateUserName;

            #region UAS_CreateUser
            webTest.BeginTransaction(WebBTPrefix + "CreateUser");
            WebRequestPrefix = "CU_";

            webTest.BeginTransaction(WebRequestPrefix + "finder_default.aspx_1");
            WebTestRequest request194 = new WebTestRequest((webTest.Context["AccountingURL"].ToString() + "/finder/default.aspx"));
            request194.Headers.Add(new WebTestRequestHeader("Accept", "application/json, text/plain, */*"));
            request194.Headers.Add(new WebTestRequestHeader("Referer", (webTest.Context["AccountingURL"].ToString() + "/masters/user/default.aspx")));
            request194.QueryStringParameters.Add("accessrules", "1", false, false);
            request194.QueryStringParameters.Add("mutualoffices", "1", false, false);
            request194.QueryStringParameters.Add("page", "0", false, false);
            request194.QueryStringParameters.Add("pattern", PassCreateName, false, false);
            request194.QueryStringParameters.Add("type", "USR", false, false);
            yield return(request194);

            request194 = null;
            webTest.EndTransaction(WebRequestPrefix + "finder_default.aspx_1");

            webTest.BeginTransaction(WebRequestPrefix + "masters_user_overview.aspx");
            WebTestRequest request152 = new WebTestRequest(webTest.Context["AccountingURL"].ToString() + "/masters/user/overview.aspx");
            request152.Method = "POST";
            request152.Headers.Add(new WebTestRequestHeader("Referer", webTest.Context["AccountingURL"].ToString() + "/masters/user/default.aspx"));
            FormPostHttpBody request152Body = new FormPostHttpBody();
            request152Body.FormPostParameters.Add("txtCode", PassCreateName);
            request152Body.FormPostParameters.Add("btnNext.x", "Next >");
            //request152Body.FormPostParameters.Add("__ncforminfo", webTest.Context["$HIDDEN1.__ncforminfo"].ToString());
            request152.Body = request152Body;
            ExtractHiddenFields extractionRule3 = new ExtractHiddenFields();
            extractionRule3.Required             = true;
            extractionRule3.HtmlDecode           = true;
            extractionRule3.ContextParameterName = "1";
            request152.ExtractValues            += new EventHandler <ExtractionEventArgs>(extractionRule3.Extract);
            yield return(request152);

            request152 = null;
            webTest.EndTransaction(WebRequestPrefix + "masters_user_overview.aspx");

            webTest.EndTransaction(WebBTPrefix + "CreateUser");
            #endregion

            #region UAS_GoToCompaniesTab
            webTest.BeginTransaction(WebBTPrefix + "GoToCompaniesTab");
            WebRequestPrefix = "GTCT_";

            webTest.BeginTransaction(WebRequestPrefix + "masters_user_overview.aspx_1");
            WebTestRequest request155 = new WebTestRequest(webTest.Context["AccountingURL"].ToString() + "/masters/user/overview.aspx");
            request155.Method = "POST";
            request155.Headers.Add(new WebTestRequestHeader("Referer", webTest.Context["AccountingURL"].ToString() + "/masters/user/overview.aspx"));
            FormPostHttpBody request155Body = new FormPostHttpBody();
            request155Body.FormPostParameters.Add("txtCode", PassCreateName);
            request155Body.FormPostParameters.Add("txtName", PassCreateName);
            request155Body.FormPostParameters.Add("txtShortName", PassCreateName);
            request155Body.FormPostParameters.Add("txtPassword1", "Twinfield01");
            request155Body.FormPostParameters.Add("txtPassword2", "Twinfield01");
            request155Body.FormPostParameters.Add("txtEmail", "*****@*****.**");
            request155Body.FormPostParameters.Add("lstCulture", "en-GB");
            request155Body.FormPostParameters.Add("txtFreetext1", "");
            request155Body.FormPostParameters.Add("txtFreetext2", "");
            request155Body.FormPostParameters.Add("txtFreetext3", "");
            request155Body.FormPostParameters.Add("lstRole", "LVL1");//"BOX");//
            request155Body.FormPostParameters.Add("lstType", "accountant");
            request155Body.FormPostParameters.Add("chkAcceptExtraCost", "1");
            request155Body.FormPostParameters.Add("selectedAcceptExtraCost", "1");
            request155Body.FormPostParameters.Add("smsPhoneNumber", "");
            request155Body.FormPostParameters.Add("txtQuota", "");
            request155Body.FormPostParameters.Add("txtFMQuota", "5");
            request155Body.FormPostParameters.Add("txtTab", "tabOffices");
            request155Body.FormPostParameters.Add("txtPrevTab", webTest.Context["$HIDDEN1.txtPrevTab"].ToString());
            request155Body.FormPostParameters.Add("id", webTest.Context["$HIDDEN1.id"].ToString());
            request155Body.FormPostParameters.Add("hdnRole", webTest.Context["$HIDDEN1.hdnRole"].ToString());
            request155Body.FormPostParameters.Add("txtDejavu", webTest.Context["$HIDDEN1.txtDejavu"].ToString());
            request155Body.FormPostParameters.Add("lstOfficeSort", webTest.Context["$HIDDEN1.lstOfficeSort"].ToString());
            //request155Body.FormPostParameters.Add("__ncforminfo", webTest.Context["$HIDDEN1.__ncforminfo"].ToString());
            request155.Body = request155Body;
            ExtractHiddenFields extractionRule4 = new ExtractHiddenFields();
            extractionRule4.Required             = true;
            extractionRule4.HtmlDecode           = true;
            extractionRule4.ContextParameterName = "0";
            request155.ExtractValues            += new EventHandler <ExtractionEventArgs>(extractionRule4.Extract);
            ExtractText extractionRule111 = new ExtractText();
            extractionRule111.StartsWith           = "<SELECT NAME=\"lstAvailable\"";
            extractionRule111.EndsWith             = "</SELECT>";
            extractionRule111.Index                = 0;
            extractionRule111.IgnoreCase           = false;
            extractionRule111.UseRegularExpression = false;
            extractionRule111.HtmlDecode           = true;
            extractionRule111.Required             = false;
            extractionRule111.ContextParameterName = "AllCompanies";
            request155.ExtractValues              += new EventHandler <ExtractionEventArgs>(extractionRule111.Extract);

            yield return(request155);

            request155 = null;
            webTest.EndTransaction(WebRequestPrefix + "masters_user_overview.aspx_1");


            string   AllCompanies = webTest.Context["AllCompanies"].ToString();
            string   StartString  = "<OPTION VALUE=\"";
            string   EndString    = "\">";
            int      OptionCount  = Regex.Matches(AllCompanies, "<OPTION VALUE=\"").Count;
            string[] matchFound   = CommonFunctions.GetBetween(AllCompanies, StartString, EndString, OptionCount);

            string listofCompanies = string.Empty;

            for (int i = 0; i < OptionCount; i++)
            {
                listofCompanies = listofCompanies + matchFound[i] + ";";
            }

            webTest.EndTransaction(WebBTPrefix + "GoToCompaniesTab");

            #endregion

            #region UAS_SelectAccessToAllCompanies
            webTest.BeginTransaction(WebBTPrefix + "SelectAccessToAllCompanies");
            WebRequestPrefix = "SATAC_";

            //WebTestRequest request206 = new WebTestRequest((webTest.Context["AccountingURL"].ToString() + "/api/notifications"));
            //request206.Headers.Add(new WebTestRequestHeader("Accept", "application/vnd.twinfield+json;version=latest"));
            //request206.Headers.Add(new WebTestRequestHeader("Referer", (webTest.Context["AccountingURL"].ToString() + "/UI/")));
            //request206.QueryStringParameters.Add("since", "2018-08-14T12:19:03.336Z", false, false);
            //yield return request206;
            //request206 = null;

            webTest.EndTransaction(WebBTPrefix + "SelectAccessToAllCompanies");
            #endregion

            #region UAS_SaveUser
            webTest.BeginTransaction(WebBTPrefix + "SaveUser");
            WebRequestPrefix = "SU_";

            string[] Companyy      = listofCompanies.Split(';');
            string   CompanyToPass = string.Empty;
            foreach (string word in Companyy)
            {
                CompanyToPass += word;
            }

            webTest.BeginTransaction(WebRequestPrefix + "masters_user_overview.aspx_2");
            WebTestRequest request159 = new WebTestRequest(webTest.Context["AccountingURL"].ToString() + "/masters/user/overview.aspx");
            request159.Method = "POST";
            request159.ExpectedResponseUrl = webTest.Context["AccountingURL"].ToString() + "/masters/user/default.aspx?code=" + PassCreateName +
                                             "&name=" + PassCreateName + "&msg=saveok";
            request159.Headers.Add(new WebTestRequestHeader("Referer", webTest.Context["AccountingURL"].ToString() + "/masters/user/overview.aspx"));
            FormPostHttpBody request159Body = new FormPostHttpBody();
            request159Body.FormPostParameters.Add("txtCode", webTest.Context["$HIDDEN0.txtCode"].ToString());
            request159Body.FormPostParameters.Add("radRestricted", webTest.Context["$HIDDEN0.radRestricted"].ToString());
            request159Body.FormPostParameters.Add("txtSearchSelected", "Finder�");
            request159Body.FormPostParameters.Add("txtSearchAvailable", "Finder�");
            request159Body.FormPostParameters.Add("lstSelected", CompanyToPass);
            request159Body.FormPostParameters.Add("lstOfficeSort", webTest.Context["$HIDDEN1.lstOfficeSort"].ToString());
            request159Body.FormPostParameters.Add("txtSelected", listofCompanies);
            request159Body.FormPostParameters.Add("txtDefaultOffice", CompanyToPass);
            request159Body.FormPostParameters.Add("txtDefaultOfficeName", CompanyToPass); //"GMO NFA L 4 (150 Assets) (GMO-NFA-L-4)");// GMO-NFA-L-1
            request159Body.FormPostParameters.Add("chkTemplateOffice", "");               // webTest.Context["$HIDDEN0.chkTemplateOffice"].ToString());
            request159Body.FormPostParameters.Add("btnSave.x", "Save");
            request159Body.FormPostParameters.Add("txtTab", webTest.Context["$HIDDEN0.txtTab"].ToString());
            request159Body.FormPostParameters.Add("txtPrevTab", webTest.Context["$HIDDEN0.txtPrevTab"].ToString());
            request159Body.FormPostParameters.Add("id", webTest.Context["$HIDDEN0.id"].ToString());
            request159Body.FormPostParameters.Add("hdnRole", webTest.Context["$HIDDEN0.hdnRole"].ToString());
            request159Body.FormPostParameters.Add("txtDejavu", webTest.Context["$HIDDEN0.txtDejavu"].ToString());
            //request159Body.FormPostParameters.Add("__ncforminfo", webTest.Context["$HIDDEN0.__ncforminfo"].ToString());
            request159.Body = request159Body;
            yield return(request159);

            request159 = null;
            webTest.EndTransaction(WebRequestPrefix + "masters_user_overview.aspx_2");


            webTest.BeginTransaction(WebRequestPrefix + "finder_default.aspx_2");
            WebTestRequest request209 = new WebTestRequest((webTest.Context["AccountingURL"].ToString() + "/finder/default.aspx"));
            request209.Headers.Add(new WebTestRequestHeader("Accept", "application/json, text/plain, */*"));
            request209.Headers.Add(new WebTestRequestHeader("Referer", (webTest.Context["AccountingURL"].ToString() + "/masters/user/default.aspx?code=" + PassCreateName.ToUpper() + "&name=" + PassCreateName + "&msg=saveok")));
            request209.QueryStringParameters.Add("accessrules", "1", false, false);
            request209.QueryStringParameters.Add("mutualoffices", "1", false, false);
            request209.QueryStringParameters.Add("page", "0", false, false);
            request209.QueryStringParameters.Add("pattern", "", false, false);
            request209.QueryStringParameters.Add("type", "USR", false, false);
            yield return(request209);

            request209 = null;
            webTest.EndTransaction(WebRequestPrefix + "finder_default.aspx_2");

            webTest.EndTransaction(WebBTPrefix + "SaveUser");
            #endregion

            if ((Convert.ToInt32(webTest.Context["iterationNo"]) % Convert.ToInt32(webTest.Context["maxiterationNo"])) == 0)
            {
                foreach (var request in webTest.Logout(threadData, objPlugin))
                {
                    yield return(request);
                }
                //RTMonitor.Write(Color.Green, "User Logout: " + threadData.UserName + " LogOutTime: " + DateTime.Now + "\r\n");
                Thread.Sleep(2000);
            }
        }
 /// <summary>
 /// Returns the POST WebRequest for logon with appropriate form parameters set.
 /// Individual WebTests can use this.
 /// </summary>
 /// <returns></returns>
 public static WebTestRequest GetVerifyPackagePostRequestForPackage(WebTest test, string packageId, string packageVersion)
 {
     WebTestRequest verifyUploadPostRequest = new WebTestRequest(UrlHelper.VerifyUploadPageUrl);
     verifyUploadPostRequest.Method = "POST";
     verifyUploadPostRequest.ExpectedResponseUrl = UrlHelper.GetPackagePageUrl(packageId, packageVersion);
     FormPostHttpBody verifyUploadPostRequestBody = new FormPostHttpBody();
     verifyUploadPostRequestBody.FormPostParameters.Add("__RequestVerificationToken", test.Context["$HIDDEN1.__RequestVerificationToken"].ToString());
     verifyUploadPostRequestBody.FormPostParameters.Add("Id", packageId);
     verifyUploadPostRequestBody.FormPostParameters.Add("Version", packageVersion);
     verifyUploadPostRequestBody.FormPostParameters.Add("LicenseUrl", "");
     verifyUploadPostRequestBody.FormPostParameters.Add("Edit.VersionTitle", "");
     verifyUploadPostRequestBody.FormPostParameters.Add("Edit.Description", "Package description");
     verifyUploadPostRequestBody.FormPostParameters.Add("Edit.Summary", "");
     verifyUploadPostRequestBody.FormPostParameters.Add("Edit.IconUrl", "");
     verifyUploadPostRequestBody.FormPostParameters.Add("Edit.ProjectUrl", "");
     verifyUploadPostRequestBody.FormPostParameters.Add("Edit.Authors", "bhuvak");
     verifyUploadPostRequestBody.FormPostParameters.Add("Edit.CopyrightText", "Copyright 2013");
     verifyUploadPostRequestBody.FormPostParameters.Add("Edit.Tags", " windows8 ");
     verifyUploadPostRequestBody.FormPostParameters.Add("Edit.ReleaseNotes", "");
     verifyUploadPostRequest.Body = verifyUploadPostRequestBody;
     return verifyUploadPostRequest;
 }
        public static WebTestRequest GetEditPackagePostRequest(WebTest test, string packageId, string version, string title = null, string description = null, string summary = null, string iconUrl = null, string projectUrl = null, string authors = null, string copyright = null, string tags = null, string releaseNotes = null)
        {
            WebTestRequest editPackagePostRequest = new WebTestRequest(String.Format(UrlHelper.EditPageUrl, packageId, version));
            editPackagePostRequest.Method = "POST";
            editPackagePostRequest.ExpectedResponseUrl = UrlHelper.GetPackagePageUrl(packageId, version);
            Assert.Fail("ExpectedResponseUrl is " + editPackagePostRequest.ExpectedResponseUrl);
            FormPostHttpBody logonRequestFormPostBody = new FormPostHttpBody();
            logonRequestFormPostBody.FormPostParameters.Add("__RequestVerificationToken", test.Context["$HIDDEN1.__RequestVerificationToken"].ToString());
            logonRequestFormPostBody.FormPostParameters.Add("Edit.VersionTitle", title);
            logonRequestFormPostBody.FormPostParameters.Add("Edit.Description", description);
            logonRequestFormPostBody.FormPostParameters.Add("Edit.Summary", summary);
            logonRequestFormPostBody.FormPostParameters.Add("Edit.IconUrl", iconUrl);
            logonRequestFormPostBody.FormPostParameters.Add("Edit.ProjectUrl", projectUrl);
            logonRequestFormPostBody.FormPostParameters.Add("Edit.Authors", authors);
            logonRequestFormPostBody.FormPostParameters.Add("Edit.Copyright", copyright);
            logonRequestFormPostBody.FormPostParameters.Add("Edit.Tags", tags);
            logonRequestFormPostBody.FormPostParameters.Add("Edit.ReleaseNotes", releaseNotes);

            editPackagePostRequest.Body = logonRequestFormPostBody;
            return editPackagePostRequest;
        }
 /// <summary>
 /// Returns the POST WebRequest for logon with appropriate form parameters set.
 /// Individual WebTests can use this.
 /// </summary>
 /// <returns></returns>
 public static WebTestRequest GetVerifyPackagePostRequestForPackage(WebTest test, string packageId, string packageVersion)
 {
     WebTestRequest verifyUploadPostRequest = new WebTestRequest(UrlHelper.VerifyUploadPageUrl);
     verifyUploadPostRequest.Method = "POST";
     verifyUploadPostRequest.ExpectedResponseUrl = UrlHelper.GetPackagePageUrl(packageId) + "/" + packageVersion;
     FormPostHttpBody verifyUploadPostRequestBody = new FormPostHttpBody();
     verifyUploadPostRequestBody.FormPostParameters.Add("__RequestVerificationToken", test.Context["$HIDDEN1.__RequestVerificationToken"].ToString());
     verifyUploadPostRequestBody.FormPostParameters.Add("Listed", "true");
     verifyUploadPostRequestBody.FormPostParameters.Add("Listed", test.Context["$HIDDEN1.Listed"].ToString());
     verifyUploadPostRequest.Body = verifyUploadPostRequestBody;
     return verifyUploadPostRequest;
 }
        public override IEnumerator <WebTestRequest> GetRequestEnumerator()
        {
            MyMethod();

            WebTestRequest request1 = new WebTestRequest("http://autotests.pmf2-gos.pmpractice.ru/asyst/page/docsearch");

            request1.Headers.Add(new WebTestRequestHeader("Referer", "http://autotests.pmf2-gos.pmpractice.ru/asyst/page/index"));
            WebTestRequest request1Dependent1 = new WebTestRequest("http://autotests.pmf2-gos.pmpractice.ru/asyst/api/admin/saveStats");

            request1Dependent1.Method = "POST";
            request1Dependent1.Headers.Add(new WebTestRequestHeader("Accept", "application/json, text/javascript, */*; q=0.01"));
            request1Dependent1.Headers.Add(new WebTestRequestHeader("X-Requested-With", "XMLHttpRequest"));
            request1Dependent1.Headers.Add(new WebTestRequestHeader("Referer", "http://autotests.pmf2-gos.pmpractice.ru/asyst/page/docsearch"));
            FormPostHttpBody request1Dependent1Body = new FormPostHttpBody();

            request1Dependent1Body.FormPostParameters.Add("", "{\"page\":\"http://autotests.pmf2-gos.pmpractice.ru/asyst/page/docsearch\",\"pageTitle" +
                                                          "\":\"Поиск по документам\",\"type\":\"asystPage\",\"action\":\"open\"}");
            request1Dependent1.Body = request1Dependent1Body;
            request1.DependentRequests.Add(request1Dependent1);
            WebTestRequest request1Dependent2 = new WebTestRequest("http://autotests.pmf2-gos.pmpractice.ru/asyst/datasource/page/DocSearch/SearchCen" +
                                                                   "ter");

            request1Dependent2.Method = "POST";
            request1Dependent2.Headers.Add(new WebTestRequestHeader("Accept", "application/json, text/javascript, */*; q=0.01"));
            request1Dependent2.Headers.Add(new WebTestRequestHeader("X-Requested-With", "XMLHttpRequest"));
            request1Dependent2.Headers.Add(new WebTestRequestHeader("Referer", "http://autotests.pmf2-gos.pmpractice.ru/asyst/page/docsearch"));
            FormPostHttpBody request1Dependent2Body = new FormPostHttpBody();

            request1Dependent2Body.FormPostParameters.Add("", "{}");
            request1Dependent2.Body = request1Dependent2Body;
            request1.DependentRequests.Add(request1Dependent2);
            WebTestRequest request1Dependent3 = new WebTestRequest("http://autotests.pmf2-gos.pmpractice.ru/asyst/datasource/page/DocSearch/LEFTMENU_" +
                                                                   "data");

            request1Dependent3.Method = "POST";
            request1Dependent3.Headers.Add(new WebTestRequestHeader("Accept", "application/json, text/javascript, */*; q=0.01"));
            request1Dependent3.Headers.Add(new WebTestRequestHeader("X-Requested-With", "XMLHttpRequest"));
            request1Dependent3.Headers.Add(new WebTestRequestHeader("Referer", "http://autotests.pmf2-gos.pmpractice.ru/asyst/page/docsearch"));
            FormPostHttpBody request1Dependent3Body = new FormPostHttpBody();

            request1Dependent3Body.FormPostParameters.Add("", "{}");
            request1Dependent3.Body = request1Dependent3Body;
            request1.DependentRequests.Add(request1Dependent3);
            WebTestRequest request1Dependent4 = new WebTestRequest("http://autotests.pmf2-gos.pmpractice.ru/asyst/api/admin/getZimbarList");

            request1Dependent4.Method = "POST";
            request1Dependent4.Headers.Add(new WebTestRequestHeader("Accept", "application/json, text/javascript, */*; q=0.01"));
            request1Dependent4.Headers.Add(new WebTestRequestHeader("X-Requested-With", "XMLHttpRequest"));
            request1Dependent4.Headers.Add(new WebTestRequestHeader("Referer", "http://autotests.pmf2-gos.pmpractice.ru/asyst/page/docsearch"));
            FormPostHttpBody request1Dependent4Body = new FormPostHttpBody();

            request1Dependent4Body.FormPostParameters.Add("", "{}");
            request1Dependent4.Body = request1Dependent4Body;
            request1.DependentRequests.Add(request1Dependent4);
            WebTestRequest request1Dependent5 = new WebTestRequest("http://autotests.pmf2-gos.pmpractice.ru/asyst/api/file/getFilesInfo/");

            request1Dependent5.Method = "POST";
            request1Dependent5.Headers.Add(new WebTestRequestHeader("Accept", "application/json, text/javascript, */*; q=0.01"));
            request1Dependent5.Headers.Add(new WebTestRequestHeader("X-Requested-With", "XMLHttpRequest"));
            request1Dependent5.Headers.Add(new WebTestRequestHeader("Referer", "http://autotests.pmf2-gos.pmpractice.ru/asyst/page/docsearch"));
            FormPostHttpBody request1Dependent5Body = new FormPostHttpBody();

            request1Dependent5Body.FormPostParameters.Add("", "{\"classname\":\"User\",\"id\":100060}");
            request1Dependent5.Body = request1Dependent5Body;
            request1.DependentRequests.Add(request1Dependent5);
            WebTestRequest request1Dependent6 = new WebTestRequest("http://autotests.pmf2-gos.pmpractice.ru/asyst/api/dataset/foresightTour");

            request1Dependent6.Method = "POST";
            request1Dependent6.Headers.Add(new WebTestRequestHeader("Accept", "application/json, text/javascript, */*; q=0.01"));
            request1Dependent6.Headers.Add(new WebTestRequestHeader("X-Requested-With", "XMLHttpRequest"));
            request1Dependent6.Headers.Add(new WebTestRequestHeader("Referer", "http://autotests.pmf2-gos.pmpractice.ru/asyst/page/docsearch"));
            FormPostHttpBody request1Dependent6Body = new FormPostHttpBody();

            request1Dependent6Body.FormPostParameters.Add("", "{\"UserLang\":\"RU\"}");
            request1Dependent6.Body = request1Dependent6Body;
            request1.DependentRequests.Add(request1Dependent6);
            WebTestRequest request1Dependent7 = new WebTestRequest("http://autotests.pmf2-gos.pmpractice.ru/asyst/api/board");

            request1Dependent7.Headers.Add(new WebTestRequestHeader("Accept", "application/json, text/javascript, */*; q=0.01"));
            request1Dependent7.Headers.Add(new WebTestRequestHeader("X-Requested-With", "XMLHttpRequest"));
            request1Dependent7.Headers.Add(new WebTestRequestHeader("Referer", "http://autotests.pmf2-gos.pmpractice.ru/asyst/page/docsearch"));
            request1Dependent7.QueryStringParameters.Add("", "{+%22action%22+:+%22checkUnread%22}", false, false);
            request1Dependent7.QueryStringParameters.Add("_", "1551361695002", false, false);
            request1.DependentRequests.Add(request1Dependent7);
            yield return(request1);

            request1 = null;
        }
        public override IEnumerator <WebTestRequest> GetRequestEnumerator()
        {
            // Initialize validation rules that apply to all requests in the WebTest
            if ((this.Context.ValidationLevel >= Microsoft.VisualStudio.TestTools.WebTesting.ValidationLevel.Low))
            {
                ValidateResponseUrl validationRule1 = new ValidateResponseUrl();
                this.ValidateResponse += new EventHandler <ValidationEventArgs>(validationRule1.Validate);
            }
            if ((this.Context.ValidationLevel >= Microsoft.VisualStudio.TestTools.WebTesting.ValidationLevel.Low))
            {
                ValidationRuleResponseTimeGoal validationRule2 = new ValidationRuleResponseTimeGoal();
                validationRule2.Tolerance            = 0D;
                this.ValidateResponseOnPageComplete += new EventHandler <ValidationEventArgs>(validationRule2.Validate);
            }

            WebTestRequest request1           = new WebTestRequest("http://uat.niceiconline.com/");
            WebTestRequest request1Dependent1 = new WebTestRequest("http://uat.niceiconline.com/static/css/fonts/OpenSans-Light.woff");

            request1Dependent1.Headers.Add(new WebTestRequestHeader("Referer", "http://uat.niceiconline.com/"));
            request1.DependentRequests.Add(request1Dependent1);
            WebTestRequest request1Dependent2 = new WebTestRequest("http://uat.niceiconline.com/static/css/fonts/OpenSans.woff");

            request1Dependent2.Headers.Add(new WebTestRequestHeader("Referer", "http://uat.niceiconline.com/"));
            request1.DependentRequests.Add(request1Dependent2);
            WebTestRequest request1Dependent3 = new WebTestRequest("http://uat.niceiconline.com/static/css/fonts/OpenSans-SemiBold.woff");

            request1Dependent3.Headers.Add(new WebTestRequestHeader("Referer", "http://uat.niceiconline.com/"));
            request1.DependentRequests.Add(request1Dependent3);
            WebTestRequest request1Dependent4 = new WebTestRequest("http://uat.niceiconline.com/static/css/fonts/OpenSans-Bold.woff");

            request1Dependent4.Headers.Add(new WebTestRequestHeader("Referer", "http://uat.niceiconline.com/"));
            request1.DependentRequests.Add(request1Dependent4);
            WebTestRequest request1Dependent5 = new WebTestRequest("http://uat.niceiconline.com/static/css/fonts/OpenSans-ExtraBold.woff");

            request1Dependent5.Headers.Add(new WebTestRequestHeader("Referer", "http://uat.niceiconline.com/"));
            request1.DependentRequests.Add(request1Dependent5);
            yield return(request1);

            request1 = null;

            WebTestRequest request2 = new WebTestRequest("http://uat.niceiconline.com/login");

            request2.Headers.Add(new WebTestRequestHeader("Referer", "http://uat.niceiconline.com/"));
            ExtractHiddenFields extractionRule1 = new ExtractHiddenFields();

            extractionRule1.Required             = true;
            extractionRule1.HtmlDecode           = true;
            extractionRule1.ContextParameterName = "1";
            request2.ExtractValues += new EventHandler <ExtractionEventArgs>(extractionRule1.Extract);
            yield return(request2);

            request2 = null;

            WebTestRequest request3 = new WebTestRequest("http://uat.niceiconline.com/login_check");

            request3.ExpectedResponseUrl = "http://uat.niceiconline.com/dashboard";
            FormPostHttpBody request3Body = new FormPostHttpBody();

            request3Body.FormPostParameters.Add("_username", "Paulcollins1");
            request3Body.FormPostParameters.Add("_password", "warwick");
            request3Body.FormPostParameters.Add("_target_path", this.Context["$HIDDEN1._target_path"].ToString());
            request3.Body   = request3Body;
            request3.Method = "POST";

            WebTestRequest request3Dependent1 = new WebTestRequest("http://uat.niceiconline.com/widgets/quickLinks");

            request3Dependent1.Headers.Add(new WebTestRequestHeader("Accept", "text/html, */*; q=0.01"));
            request3Dependent1.Headers.Add(new WebTestRequestHeader("X-Requested-With", "XMLHttpRequest"));
            request3Dependent1.Headers.Add(new WebTestRequestHeader("Referer", "http://uat.niceiconline.com/dashboard"));
            request3.DependentRequests.Add(request3Dependent1);
            WebTestRequest request3Dependent2 = new WebTestRequest("http://uat.niceiconline.com/widgets/niceicNews");

            request3Dependent2.Headers.Add(new WebTestRequestHeader("Accept", "text/html, */*; q=0.01"));
            request3Dependent2.Headers.Add(new WebTestRequestHeader("X-Requested-With", "XMLHttpRequest"));
            request3Dependent2.Headers.Add(new WebTestRequestHeader("Referer", "http://uat.niceiconline.com/dashboard"));
            request3.DependentRequests.Add(request3Dependent2);
            WebTestRequest request3Dependent3 = new WebTestRequest("http://uat.niceiconline.com/widgets/recentNotifications");

            request3Dependent3.Headers.Add(new WebTestRequestHeader("Accept", "text/html, */*; q=0.01"));
            request3Dependent3.Headers.Add(new WebTestRequestHeader("X-Requested-With", "XMLHttpRequest"));
            request3Dependent3.Headers.Add(new WebTestRequestHeader("Referer", "http://uat.niceiconline.com/dashboard"));
            request3.DependentRequests.Add(request3Dependent3);
            WebTestRequest request3Dependent4 = new WebTestRequest("http://uat.niceiconline.com/widgets/niceicOffers");

            request3Dependent4.Headers.Add(new WebTestRequestHeader("Accept", "text/html, */*; q=0.01"));
            request3Dependent4.Headers.Add(new WebTestRequestHeader("X-Requested-With", "XMLHttpRequest"));
            request3Dependent4.Headers.Add(new WebTestRequestHeader("Referer", "http://uat.niceiconline.com/dashboard"));
            request3.DependentRequests.Add(request3Dependent4);
            WebTestRequest request3Dependent5 = new WebTestRequest("http://uat.niceiconline.com/widgets/accountBalance");

            request3Dependent5.Headers.Add(new WebTestRequestHeader("Accept", "text/html, */*; q=0.01"));
            request3Dependent5.Headers.Add(new WebTestRequestHeader("X-Requested-With", "XMLHttpRequest"));
            request3Dependent5.Headers.Add(new WebTestRequestHeader("Referer", "http://uat.niceiconline.com/dashboard"));
            request3.DependentRequests.Add(request3Dependent5);
            WebTestRequest request3Dependent6 = new WebTestRequest("http://uat.niceiconline.com/widgets/recentActivity");

            request3Dependent6.Headers.Add(new WebTestRequestHeader("Accept", "text/html, */*; q=0.01"));
            request3Dependent6.Headers.Add(new WebTestRequestHeader("X-Requested-With", "XMLHttpRequest"));
            request3Dependent6.Headers.Add(new WebTestRequestHeader("Referer", "http://uat.niceiconline.com/dashboard"));
            request3.DependentRequests.Add(request3Dependent6);
            WebTestRequest request3Dependent7 = new WebTestRequest("http://uat.niceiconline.com/css/generated/fonts/nocs.eot");

            request3Dependent7.Headers.Add(new WebTestRequestHeader("Referer", "http://uat.niceiconline.com/dashboard"));
            request3Dependent7.QueryStringParameters.Add("", "6339153", false, false);
            request3.DependentRequests.Add(request3Dependent7);
            yield return(request3);

            request3 = null;

            WebTestRequest request4 = new WebTestRequest("http://uat.niceiconline.com/login_check");

            request4.Method = "POST";
            request4.ExpectedResponseUrl = "http://uat.niceiconline.com/dashboard";
            request4.Headers.Add(new WebTestRequestHeader("Referer", "http://uat.niceiconline.com/login"));
            FormPostHttpBody request4Body = new FormPostHttpBody();

            request4Body.FormPostParameters.Add("_username", "Paulcollins1");
            request4Body.FormPostParameters.Add("_password", "warwick");
            request4Body.FormPostParameters.Add("_target_path", this.Context["$HIDDEN1._target_path"].ToString());
            request4.Body = request4Body;
            yield return(request4);

            request4 = null;

            WebTestRequest request5 = new WebTestRequest("http://uat.niceiconline.com/certificate/list");

            request5.Headers.Add(new WebTestRequestHeader("Referer", "http://uat.niceiconline.com/dashboard"));
            WebTestRequest request5Dependent1 = new WebTestRequest("http://uat.niceiconline.com/css/generated/fonts/nocs.eot");

            request5Dependent1.Headers.Add(new WebTestRequestHeader("Referer", "http://uat.niceiconline.com/certificate/list"));
            request5Dependent1.QueryStringParameters.Add("", "6339153", false, false);
            request5.DependentRequests.Add(request5Dependent1);
            ExtractHiddenFields extractionRule2 = new ExtractHiddenFields();

            extractionRule2.Required             = true;
            extractionRule2.HtmlDecode           = true;
            extractionRule2.ContextParameterName = "1";
            request5.ExtractValues += new EventHandler <ExtractionEventArgs>(extractionRule2.Extract);
            yield return(request5);

            request5 = null;

            WebTestRequest request6 = new WebTestRequest("https://uat.niceic18online.com/Transfer/To18");

            request6.ExpectedResponseUrl = "https://uat.niceic18online.com/Certificate/SearchCertificates";
            FormPostHttpBody request6Body = new FormPostHttpBody();

            request6Body.FormPostParameters.Add("_token", this.Context["$HIDDEN1._token"].ToString());
            request6.Body   = request6Body;
            request6.Method = "POST";
            yield return(request6);

            request6 = null;

            WebTestRequest request7 = new WebTestRequest("https://uat.niceic18online.com/Transfer/To18");

            request7.Method = "POST";
            request7.ExpectedResponseUrl = "https://uat.niceic18online.com/Certificate/SearchCertificates";
            request7.Headers.Add(new WebTestRequestHeader("Referer", "http://uat.niceiconline.com/certificate/list"));
            FormPostHttpBody request7Body = new FormPostHttpBody();

            request7Body.FormPostParameters.Add("_token", this.Context["$HIDDEN1._token"].ToString());
            request7.Body = request7Body;
            yield return(request7);

            request7 = null;

            WebTestRequest request8 = new WebTestRequest("https://uat.niceic18online.com/favicon_niceic.ico");

            request8.QueryStringParameters.Add("v", "-1", false, false);
            request8.ExpectedHttpStatusCode = 404;
            yield return(request8);

            request8 = null;

            // transition to v3
            this.AddCommentToResult("transition to v3");
        }
        public override IEnumerator<WebTestRequest> GetRequestEnumerator()
        {
            // Initialize validation rules that apply to all requests in the WebTest
            if ((this.Context.ValidationLevel >= Microsoft.VisualStudio.TestTools.WebTesting.ValidationLevel.Low))
            {
                ValidateResponseUrl validationRule1 = new ValidateResponseUrl();
                this.ValidateResponse += new EventHandler<ValidationEventArgs>(validationRule1.Validate);
            }
            if ((this.Context.ValidationLevel >= Microsoft.VisualStudio.TestTools.WebTesting.ValidationLevel.Low))
            {
                ValidationRuleResponseTimeGoal validationRule2 = new ValidationRuleResponseTimeGoal();
                validationRule2.Tolerance = 0D;
                this.ValidateResponseOnPageComplete += new EventHandler<ValidationEventArgs>(validationRule2.Validate);
            }

            WebTestRequest request1 = new WebTestRequest("http://stage.telerikacademy.com/");
            request1.ThinkTime = 1;
            WebTestRequest request1Dependent1 = new WebTestRequest("http://stage.telerikacademy.com/fonts/glyphicons-halflings-regular.eot");
            request1Dependent1.ThinkTime = 1;
            request1Dependent1.Headers.Add(new WebTestRequestHeader("Referer", "http://stage.telerikacademy.com/"));
            request1Dependent1.QueryStringParameters.Add("", "", false, false);
            request1.DependentRequests.Add(request1Dependent1);
            yield return request1;
            request1 = null;

            WebTestRequest request2 = new WebTestRequest("http://stage.telerikacademy.com/");
            request2.Headers.Add(new WebTestRequestHeader("Referer", "http://stage.telerikacademy.com/"));
            yield return request2;
            request2 = null;

            WebTestRequest request3 = new WebTestRequest("http://stage.telerikacademy.com/Users/Auth/Login");
            request3.ThinkTime = 1;
            request3.Headers.Add(new WebTestRequestHeader("Referer", "http://stage.telerikacademy.com/"));
            WebTestRequest request3Dependent1 = new WebTestRequest("http://stage.telerikacademy.com/fonts/glyphicons-halflings-regular.eot");
            request3Dependent1.ThinkTime = 15;
            request3Dependent1.Headers.Add(new WebTestRequestHeader("Referer", "http://stage.telerikacademy.com/Users/Auth/Login"));
            request3Dependent1.QueryStringParameters.Add("", "", false, false);
            request3.DependentRequests.Add(request3Dependent1);
            yield return request3;
            request3 = null;

            WebTestRequest request4 = new WebTestRequest("http://stage.telerikacademy.com/Users/Auth/Login");
            request4.Method = "POST";
            request4.ExpectedResponseUrl = "http://stage.telerikacademy.com/";
            request4.Headers.Add(new WebTestRequestHeader("Referer", "http://stage.telerikacademy.com/Users/Auth/Login"));
            FormPostHttpBody request4Body = new FormPostHttpBody();
            request4Body.FormPostParameters.Add("UsernameOrEmail", "GiantTestUser");
            request4Body.FormPostParameters.Add("Password", "123456");
            request4.Body = request4Body;
            WebTestRequest request4Dependent1 = new WebTestRequest("http://stage.telerikacademy.com/fonts/glyphicons-halflings-regular.eot");
            request4Dependent1.Headers.Add(new WebTestRequestHeader("Referer", "http://stage.telerikacademy.com/"));
            request4Dependent1.QueryStringParameters.Add("", "", false, false);
            request4.DependentRequests.Add(request4Dependent1);
            yield return request4;
            request4 = null;

            WebTestRequest request5 = new WebTestRequest("http://stage.telerikacademy.com/Administration/Navigation");
            request5.ThinkTime = 1;
            request5.Headers.Add(new WebTestRequestHeader("Referer", "http://stage.telerikacademy.com/"));
            WebTestRequest request5Dependent1 = new WebTestRequest("http://stage.telerikacademy.com/fonts/glyphicons-halflings-regular.eot");
            request5Dependent1.ThinkTime = 3;
            request5Dependent1.Headers.Add(new WebTestRequestHeader("Referer", "http://stage.telerikacademy.com/Administration/Navigation"));
            request5Dependent1.QueryStringParameters.Add("", "", false, false);
            request5.DependentRequests.Add(request5Dependent1);
            yield return request5;
            request5 = null;

            WebTestRequest request6 = new WebTestRequest("http://stage.telerikacademy.com/Administration_Courses/CourseInstanceCategoriesHi" +
                    "erarchy");
            request6.ThinkTime = 1;
            request6.Headers.Add(new WebTestRequestHeader("Referer", "http://stage.telerikacademy.com/Administration/Navigation"));
            WebTestRequest request6Dependent1 = new WebTestRequest("http://stage.telerikacademy.com/fonts/glyphicons-halflings-regular.eot");
            request6Dependent1.Headers.Add(new WebTestRequestHeader("Referer", "http://stage.telerikacademy.com/Administration_Courses/CourseInstanceCategoriesHi" +
                        "erarchy"));
            request6Dependent1.QueryStringParameters.Add("", "", false, false);
            request6.DependentRequests.Add(request6Dependent1);
            WebTestRequest request6Dependent2 = new WebTestRequest("http://stage.telerikacademy.com/Administration_Courses/CourseInstanceCategoriesHi" +
                    "erarchy/ReadCategories");
            request6Dependent2.Headers.Add(new WebTestRequestHeader("Accept", "*/*"));
            request6Dependent2.Headers.Add(new WebTestRequestHeader("X-Requested-With", "XMLHttpRequest"));
            request6Dependent2.Headers.Add(new WebTestRequestHeader("Referer", "http://stage.telerikacademy.com/Administration_Courses/CourseInstanceCategoriesHi" +
                        "erarchy"));
            request6.DependentRequests.Add(request6Dependent2);
            yield return request6;
            request6 = null;
        }
Exemple #49
0
        public override IEnumerator<WebTestRequest> GetRequestEnumerator() {
            // Initialize validation rules that apply to all requests in the WebTest
            if ((this.Context.ValidationLevel >= Microsoft.VisualStudio.TestTools.WebTesting.ValidationLevel.Low)) {
                ValidationRuleResponseTimeGoal validationRule1 = new ValidationRuleResponseTimeGoal();
                validationRule1.Tolerance = 0D;
                this.ValidateResponseOnPageComplete += new EventHandler<ValidationEventArgs>(validationRule1.Validate);
            }
            this.PreRequestDataBinding += new EventHandler<PreRequestDataBindingEventArgs>(this.testPlugin0.PreRequestDataBinding);
            this.PreRequest += new EventHandler<PreRequestEventArgs>(this.testPlugin0.PreRequest);
            this.PostRequest += new EventHandler<PostRequestEventArgs>(this.testPlugin0.PostRequest);

            WebTestRequest request1 = new WebTestRequest((this.Context["WebServer"].ToString() + "/"));
            WebTestRequest request1Dependent1 = new WebTestRequest((this.Context["WebServer"].ToString() + "/Content/Bootstrap/less/bootstrap.less"));
            request1.DependentRequests.Add(request1Dependent1);
            WebTestRequest request1Dependent2 = new WebTestRequest((this.Context["WebServer"].ToString() + "/Content/Themes/Default/Fonts/Open-Sans.woff"));
            request1.DependentRequests.Add(request1Dependent2);
            WebTestRequest request1Dependent3 = new WebTestRequest((this.Context["WebServer"].ToString() + "/Content/Themes/Default/Fonts/Open-Sans-Italic.woff"));
            request1.DependentRequests.Add(request1Dependent3);
            WebTestRequest request1Dependent4 = new WebTestRequest((this.Context["WebServer"].ToString() + "/Content/Themes/Default/Fonts/Open-Sans-Bold.woff"));
            request1Dependent4.ThinkTime = 1;
            request1.DependentRequests.Add(request1Dependent4);
            WebTestRequest request1Dependent5 = new WebTestRequest((this.Context["WebServer"].ToString() + "/Content/Themes/Default/Fonts/Maven-Pro.woff"));
            request1.DependentRequests.Add(request1Dependent5);
            ExtractHiddenFields extractionRule1 = new ExtractHiddenFields();
            extractionRule1.Required = true;
            extractionRule1.HtmlDecode = true;
            extractionRule1.ContextParameterName = "1";
            request1.ExtractValues += new EventHandler<ExtractionEventArgs>(extractionRule1.Extract);
            yield return request1;
            request1 = null;

            WebTestRequest request2 = new WebTestRequest((this.Context["WebServer"].ToString() + "/Home/Login"));
            request2.Method = "POST";
            request2.ExpectedResponseUrl = (this.Context["WebServer"].ToString() + "/ClientUserManagement/ClientUserHome");
            FormPostHttpBody request2Body = new FormPostHttpBody();
            request2Body.FormPostParameters.Add("__RequestVerificationToken", this.Context["$HIDDEN1.__RequestVerificationToken"].ToString());
            request2Body.FormPostParameters.Add("Email", "*****@*****.**");
            request2Body.FormPostParameters.Add("Password", "asd123!");
            request2Body.FormPostParameters.Add("RememberUser", this.Context["$HIDDEN1.RememberUser"].ToString());
            request2.Body = request2Body;
            WebTestRequest request2Dependent1 = new WebTestRequest((this.Context["WebServer"].ToString() + "/Content/Themes/Default/Fonts/Open-Sans.woff"));
            request2.DependentRequests.Add(request2Dependent1);
            WebTestRequest request2Dependent2 = new WebTestRequest((this.Context["WebServer"].ToString() + "/Content/Themes/Default/Fonts/Open-Sans-Italic.woff"));
            request2.DependentRequests.Add(request2Dependent2);
            WebTestRequest request2Dependent3 = new WebTestRequest((this.Context["WebServer"].ToString() + "/Content/Themes/Default/Fonts/Open-Sans-Bold.woff"));
            request2.DependentRequests.Add(request2Dependent3);
            WebTestRequest request2Dependent4 = new WebTestRequest((this.Context["WebServer"].ToString() + "/Content/Themes/Default/Fonts/Maven-Pro.woff"));
            request2.DependentRequests.Add(request2Dependent4);
            yield return request2;
            request2 = null;

            WebTestRequest request3 = new WebTestRequest((this.Context["WebServer"].ToString() + "/Dashboard/NewOrders"));
            WebTestRequest request3Dependent1 = new WebTestRequest((this.Context["WebServer"].ToString() + "/Content/Themes/Default/Fonts/Open-Sans.woff"));
            request3.DependentRequests.Add(request3Dependent1);
            WebTestRequest request3Dependent2 = new WebTestRequest((this.Context["WebServer"].ToString() + "/Content/Themes/Default/Fonts/Open-Sans-Italic.woff"));
            request3.DependentRequests.Add(request3Dependent2);
            WebTestRequest request3Dependent3 = new WebTestRequest((this.Context["WebServer"].ToString() + "/Content/Themes/Default/Fonts/Open-Sans-Bold.woff"));
            request3.DependentRequests.Add(request3Dependent3);
            WebTestRequest request3Dependent4 = new WebTestRequest((this.Context["WebServer"].ToString() + "/Content/Themes/Default/Fonts/Maven-Pro.woff"));
            request3.DependentRequests.Add(request3Dependent4);
            ExtractText extractionRule2 = new ExtractText();
            extractionRule2.StartsWith = "s: [\"";
            extractionRule2.EndsWith = "\"],\r\n";
            extractionRule2.Index = 0;
            extractionRule2.IgnoreCase = false;
            extractionRule2.UseRegularExpression = false;
            extractionRule2.HtmlDecode = true;
            extractionRule2.Required = false;
            extractionRule2.ContextParameterName = "FormPostParam71.id";
            request3.ExtractValues += new EventHandler<ExtractionEventArgs>(extractionRule2.Extract);
            yield return request3;
            request3 = null;

            WebTestRequest request4 = new WebTestRequest((this.Context["WebServer"].ToString() + "/OrderManagement/OrderCreationWizard/GeneralInfo"));
            WebTestRequest request4Dependent1 = new WebTestRequest((this.Context["WebServer"].ToString() + "/Content/Bootstrap/less/bootstrap.less"));
            request4.DependentRequests.Add(request4Dependent1);
            WebTestRequest request4Dependent2 = new WebTestRequest((this.Context["WebServer"].ToString() + "/Content/Themes/Default/Fonts/Open-Sans.woff"));
            request4.DependentRequests.Add(request4Dependent2);
            WebTestRequest request4Dependent3 = new WebTestRequest((this.Context["WebServer"].ToString() + "/Content/Themes/Default/Fonts/Open-Sans-Italic.woff"));
            request4.DependentRequests.Add(request4Dependent3);
            WebTestRequest request4Dependent4 = new WebTestRequest((this.Context["WebServer"].ToString() + "/Content/Themes/Default/Fonts/Open-Sans-Bold.woff"));
            request4.DependentRequests.Add(request4Dependent4);
            WebTestRequest request4Dependent5 = new WebTestRequest((this.Context["WebServer"].ToString() + "/Content/Themes/Default/Fonts/Maven-Pro.woff"));
            request4.DependentRequests.Add(request4Dependent5);
            ExtractHiddenFields extractionRule3 = new ExtractHiddenFields();
            extractionRule3.Required = true;
            extractionRule3.HtmlDecode = true;
            extractionRule3.ContextParameterName = "1";
            request4.ExtractValues += new EventHandler<ExtractionEventArgs>(extractionRule3.Extract);
            ExtractText extractionRule4 = new ExtractText();
            extractionRule4.StartsWith = "s: [\"";
            extractionRule4.EndsWith = "\"],\r\n";
            extractionRule4.Index = 0;
            extractionRule4.IgnoreCase = false;
            extractionRule4.UseRegularExpression = false;
            extractionRule4.HtmlDecode = true;
            extractionRule4.Required = false;
            extractionRule4.ContextParameterName = "FormPostParam73.id";
            request4.ExtractValues += new EventHandler<ExtractionEventArgs>(extractionRule4.Extract);
            yield return request4;
            request4 = null;

            WebTestRequest request5 = new WebTestRequest((this.Context["WebServer"].ToString() + "/OrderManagement/OrderCreationWizard/GeneralInfo"));
            request5.ThinkTime = 5;
            request5.Method = "POST";
            request5.ExpectedResponseUrl = (this.Context["WebServer"].ToString() 
                        + ("/OrderManagement/OrderCreationWizard/AppraisalInfo/" + this.Context["$HIDDEN1.OrderId"].ToString()));
            FormPostHttpBody request5Body = new FormPostHttpBody();
            request5Body.FormPostParameters.Add("__RequestVerificationToken", this.Context["$HIDDEN1.__RequestVerificationToken"].ToString());
            request5Body.FormPostParameters.Add("OrderId", this.Context["$HIDDEN1.OrderId"].ToString());
            request5Body.FormPostParameters.Add("LoanNumber", this.Context["LoanNumber"].ToString());
            request5Body.FormPostParameters.Add("BorrowerFirstName", this.Context["FirstNames.AppraiserFirstNames#csv.FirstName"].ToString());
            request5Body.FormPostParameters.Add("BorrowerLastName", this.Context["LastNames.AppraiserLastNames#csv.LastName"].ToString());
            request5Body.FormPostParameters.Add("Address.Street", this.Context["Addresses.Address.StreetAddress"].ToString());
            request5Body.FormPostParameters.Add("Address.Street2", this.Context["Addresses.Address.StreetAddress2"].ToString());
            request5Body.FormPostParameters.Add("Address.City", this.Context["Addresses.Address.City"].ToString());
            request5Body.FormPostParameters.Add("Address.State", this.Context["Addresses.Address.State"].ToString());
            request5Body.FormPostParameters.Add("Address.ZIP", this.Context["Addresses.Address.Zip"].ToString());
            request5Body.FormPostParameters.Add("Address.County", this.Context["Addresses.Address.County"].ToString());
            request5Body.FormPostParameters.Add("nextStep", "1");
            request5Body.FormPostParameters.Add("area", "OrderManagement");
            request5.Body = request5Body;
            WebTestRequest request5Dependent1 = new WebTestRequest((this.Context["WebServer"].ToString() + "/Content/Bootstrap/less/bootstrap.less"));
            request5.DependentRequests.Add(request5Dependent1);
            WebTestRequest request5Dependent2 = new WebTestRequest((this.Context["WebServer"].ToString() + "/Content/Themes/Default/Fonts/Open-Sans.woff"));
            request5.DependentRequests.Add(request5Dependent2);
            WebTestRequest request5Dependent3 = new WebTestRequest((this.Context["WebServer"].ToString() + "/Content/Themes/Default/Fonts/Open-Sans-Italic.woff"));
            request5.DependentRequests.Add(request5Dependent3);
            WebTestRequest request5Dependent4 = new WebTestRequest((this.Context["WebServer"].ToString() + "/Content/Themes/Default/Fonts/Open-Sans-Bold.woff"));
            request5.DependentRequests.Add(request5Dependent4);
            WebTestRequest request5Dependent5 = new WebTestRequest((this.Context["WebServer"].ToString() + "/Content/Themes/Default/Fonts/Maven-Pro.woff"));
            request5.DependentRequests.Add(request5Dependent5);
            ExtractAttributeValue extractionRule5 = new ExtractAttributeValue();
            extractionRule5.TagName = "input";
            extractionRule5.AttributeName = "value";
            extractionRule5.MatchAttributeName = "id";
            extractionRule5.MatchAttributeValue = "OrderId";
            extractionRule5.HtmlDecode = true;
            extractionRule5.Required = true;
            extractionRule5.Index = 0;
            extractionRule5.ContextParameterName = "OrderId";
            request5.ExtractValues += new EventHandler<ExtractionEventArgs>(extractionRule5.Extract);
            ExtractHiddenFields extractionRule6 = new ExtractHiddenFields();
            extractionRule6.Required = true;
            extractionRule6.HtmlDecode = true;
            extractionRule6.ContextParameterName = "1";
            request5.ExtractValues += new EventHandler<ExtractionEventArgs>(extractionRule6.Extract);
            yield return request5;
            request5 = null;

            WebTestRequest request6 = new WebTestRequest((this.Context["WebServer"].ToString() 
                            + ("/OrderManagement/OrderCreationWizard/AppraisalInfo/" + this.Context["OrderId"].ToString())));
            request6.ThinkTime = 5;
            request6.Method = "POST";
            request6.ExpectedResponseUrl = (this.Context["WebServer"].ToString() 
                        + ("/OrderManagement/OrderCreationWizard/LoanAndContactInfo/" + this.Context["OrderId"].ToString()));
            FormPostHttpBody request6Body = new FormPostHttpBody();
            request6Body.FormPostParameters.Add("__RequestVerificationToken", this.Context["$HIDDEN1.__RequestVerificationToken"].ToString());
            request6Body.FormPostParameters.Add("OrderId", this.Context["$HIDDEN1.OrderId"].ToString());
            request6Body.FormPostParameters.Add("OrderId", this.Context["$HIDDEN1.OrderId"].ToString());
            request6Body.FormPostParameters.Add("LoanType", "Conventional");
            request6Body.FormPostParameters.Add("PropertyType", "1");
            request6Body.FormPostParameters.Add("Occupancy", "1");
            request6Body.FormPostParameters.Add("FHACaseNumber", "");
            request6Body.FormPostParameters.Add("NumberUnits", "");
            request6Body.FormPostParameters.Add("AppraisalType", "Appraisal");
            request6Body.FormPostParameters.Add("IsRush", "true");
            request6Body.FormPostParameters.Add("IsRush", this.Context["$HIDDEN1.IsRush"].ToString());
            request6Body.FormPostParameters.Add("IsSecondAppraisalOrDuplicateAppraisal", "true");
            request6Body.FormPostParameters.Add("IsSecondAppraisalOrDuplicateAppraisal", this.Context["$HIDDEN1.IsSecondAppraisalOrDuplicateAppraisal"].ToString());
            request6Body.FormPostParameters.Add("IsSupplementalREOAddendum", this.Context["$HIDDEN1.IsSupplementalREOAddendum"].ToString());
            request6Body.FormPostParameters.Add("AppraisalForm", this.Context["AppraiserForms.AppraiserForms#csv.1"].ToString());
            request6Body.FormPostParameters.Add("ReviewForm", "");
            request6Body.FormPostParameters.Add("FileId", this.Context["$HIDDEN1.FileId"].ToString());
            request6Body.FormPostParameters.Add("files[]", "");
            request6Body.FormPostParameters.Add("nextStep", "2");
            request6Body.FormPostParameters.Add("area", "OrderManagement");
            request6.Body = request6Body;
            WebTestRequest request6Dependent1 = new WebTestRequest((this.Context["WebServer"].ToString() + "/Content/Bootstrap/less/bootstrap.less"));
            request6.DependentRequests.Add(request6Dependent1);
            WebTestRequest request6Dependent2 = new WebTestRequest((this.Context["WebServer"].ToString() + "/Content/Themes/Default/Fonts/Open-Sans.woff"));
            request6.DependentRequests.Add(request6Dependent2);
            WebTestRequest request6Dependent3 = new WebTestRequest((this.Context["WebServer"].ToString() + "/Content/Themes/Default/Fonts/Open-Sans-Italic.woff"));
            request6.DependentRequests.Add(request6Dependent3);
            WebTestRequest request6Dependent4 = new WebTestRequest((this.Context["WebServer"].ToString() + "/Content/Themes/Default/Fonts/Open-Sans-Bold.woff"));
            request6.DependentRequests.Add(request6Dependent4);
            WebTestRequest request6Dependent5 = new WebTestRequest((this.Context["WebServer"].ToString() + "/Content/Themes/Default/Fonts/Maven-Pro.woff"));
            request6.DependentRequests.Add(request6Dependent5);
            ExtractHiddenFields extractionRule7 = new ExtractHiddenFields();
            extractionRule7.Required = true;
            extractionRule7.HtmlDecode = true;
            extractionRule7.ContextParameterName = "1";
            request6.ExtractValues += new EventHandler<ExtractionEventArgs>(extractionRule7.Extract);
            yield return request6;
            request6 = null;

            WebTestRequest request7 = new WebTestRequest((this.Context["WebServer"].ToString() + "/OrderManagement/OrderCreationWizard/ContactAdd"));
            request7.ThinkTime = 5;
            request7.Method = "POST";
            FormPostHttpBody request7Body = new FormPostHttpBody();
            request7Body.FormPostParameters.Add("__RequestVerificationToken", this.Context["$HIDDEN1.__RequestVerificationToken"].ToString());
            request7Body.FormPostParameters.Add("LoanPurpose", "2");
            request7Body.FormPostParameters.Add("PurchasePrice", "");
            request7Body.FormPostParameters.Add("ContactFileId", this.Context["$HIDDEN1.ContactFileId"].ToString());
            request7Body.FormPostParameters.Add("GFEDate", "12/28/2012");
            request7Body.FormPostParameters.Add("GFEAmount", "587.00");
            request7Body.FormPostParameters.Add("Instructions", "1");
            request7Body.FormPostParameters.Add("Instructions", "2");
            request7Body.FormPostParameters.Add("OrderId", this.Context["$HIDDEN1.OrderId"].ToString());
            request7.Body = request7Body;
            ExtractText extractionRule8 = new ExtractText();
            extractionRule8.StartsWith = "lue=\"";
            extractionRule8.EndsWith = "\" />\r";
            extractionRule8.Index = 1;
            extractionRule8.IgnoreCase = false;
            extractionRule8.UseRegularExpression = false;
            extractionRule8.HtmlDecode = true;
            extractionRule8.Required = false;
            extractionRule8.ContextParameterName = "FormPostParam97.ListOfContact[0].Id";
            request7.ExtractValues += new EventHandler<ExtractionEventArgs>(extractionRule8.Extract);
            yield return request7;
            request7 = null;

            WebTestRequest request8 = new WebTestRequest((this.Context["WebServer"].ToString() 
                            + ("/OrderManagement/OrderCreationWizard/LoanAndContactInfo/" + this.Context["OrderId"].ToString())));
            request8.ThinkTime = 5;
            request8.Method = "POST";
            request8.ExpectedResponseUrl = (this.Context["WebServer"].ToString() 
                        + ("/OrderManagement/OrderCreationWizard/OrderConfirmation/" + this.Context["OrderId"].ToString()));
            FormPostHttpBody request8Body = new FormPostHttpBody();
            request8Body.FormPostParameters.Add("__RequestVerificationToken", this.Context["$HIDDEN1.__RequestVerificationToken"].ToString());
            request8Body.FormPostParameters.Add("LoanPurpose", "2");
            request8Body.FormPostParameters.Add("PurchasePrice", "");
            request8Body.FormPostParameters.Add("ContactFileId", this.Context["$HIDDEN1.ContactFileId"].ToString());
            request8Body.FormPostParameters.Add("files[]", "");
            request8Body.FormPostParameters.Add("GFEDate", "12/28/2012");
            request8Body.FormPostParameters.Add("GFEAmount", "587.00");
            request8Body.FormPostParameters.Add("Instructions", "1");
            request8Body.FormPostParameters.Add("Instructions", "2");
            request8Body.FormPostParameters.Add("OrderId", this.Context["$HIDDEN1.OrderId"].ToString());
            request8Body.FormPostParameters.Add("ListOfContact[0].Id", this.Context["FormPostParam97.ListOfContact[0].Id"].ToString());
            request8Body.FormPostParameters.Add("ListOfContact[0].ContactRole", "2");
            request8Body.FormPostParameters.Add("ListOfContact[0].Name", "agent");
            request8Body.FormPostParameters.Add("ListOfContact[0].Phone", "123-222-2222");
            request8Body.FormPostParameters.Add("ListOfContact[0].Email", "");
            request8Body.FormPostParameters.Add("ListOfContact[0].IsEditable", "True");
            request8Body.FormPostParameters.Add("nextStep", "3");
            request8Body.FormPostParameters.Add("area", "OrderManagement");
            request8.Body = request8Body;
            WebTestRequest request8Dependent1 = new WebTestRequest((this.Context["WebServer"].ToString() + "/Content/Bootstrap/less/bootstrap.less"));
            request8.DependentRequests.Add(request8Dependent1);
            WebTestRequest request8Dependent2 = new WebTestRequest((this.Context["WebServer"].ToString() + "/Content/Themes/Default/Fonts/Open-Sans.woff"));
            request8.DependentRequests.Add(request8Dependent2);
            WebTestRequest request8Dependent3 = new WebTestRequest((this.Context["WebServer"].ToString() + "/Content/Themes/Default/Fonts/Open-Sans-Italic.woff"));
            request8.DependentRequests.Add(request8Dependent3);
            WebTestRequest request8Dependent4 = new WebTestRequest((this.Context["WebServer"].ToString() + "/Content/Themes/Default/Fonts/Open-Sans-Bold.woff"));
            request8.DependentRequests.Add(request8Dependent4);
            WebTestRequest request8Dependent5 = new WebTestRequest((this.Context["WebServer"].ToString() + "/Content/Themes/Default/Fonts/Maven-Pro.woff"));
            request8.DependentRequests.Add(request8Dependent5);
            ExtractHiddenFields extractionRule9 = new ExtractHiddenFields();
            extractionRule9.Required = true;
            extractionRule9.HtmlDecode = true;
            extractionRule9.ContextParameterName = "1";
            request8.ExtractValues += new EventHandler<ExtractionEventArgs>(extractionRule9.Extract);
            yield return request8;
            request8 = null;

            WebTestRequest request9 = new WebTestRequest((this.Context["WebServer"].ToString() 
                            + ("/OrderManagement/OrderCreationWizard/OrderConfirmation/" + this.Context["OrderId"].ToString())));
            request9.ThinkTime = 5;
            request9.Method = "POST";
            request9.ExpectedResponseUrl = (this.Context["WebServer"].ToString() 
                        + ("/OrderManagement/OrderCreationWizard/FeeConfirmation/" + this.Context["OrderId"].ToString()));
            FormPostHttpBody request9Body = new FormPostHttpBody();
            request9Body.FormPostParameters.Add("__RequestVerificationToken", this.Context["$HIDDEN1.__RequestVerificationToken"].ToString());
            request9Body.FormPostParameters.Add("OrderId", this.Context["$HIDDEN1.OrderId"].ToString());
            request9Body.FormPostParameters.Add("AppraisalInfo.IsRush", this.Context["$HIDDEN1.AppraisalInfo.IsRush"].ToString());
            request9Body.FormPostParameters.Add("AppraisalInfo.IsSecondAppraisalOrDuplicateAppraisal", this.Context["$HIDDEN1.AppraisalInfo.IsSecondAppraisalOrDuplicateAppraisal"].ToString());
            request9Body.FormPostParameters.Add("AppraisalInfo.IsSupplementalREOAddendum", this.Context["$HIDDEN1.AppraisalInfo.IsSupplementalREOAddendum"].ToString());
            request9Body.FormPostParameters.Add("nextStep", "4");
            request9Body.FormPostParameters.Add("area", "OrderManagement");
            request9.Body = request9Body;
            WebTestRequest request9Dependent1 = new WebTestRequest((this.Context["WebServer"].ToString() + "/Content/Bootstrap/less/bootstrap.less"));
            request9.DependentRequests.Add(request9Dependent1);
            WebTestRequest request9Dependent2 = new WebTestRequest((this.Context["WebServer"].ToString() + "/Content/Themes/Default/Fonts/Open-Sans.woff"));
            request9.DependentRequests.Add(request9Dependent2);
            WebTestRequest request9Dependent3 = new WebTestRequest((this.Context["WebServer"].ToString() + "/Content/Themes/Default/Fonts/Open-Sans-Italic.woff"));
            request9.DependentRequests.Add(request9Dependent3);
            WebTestRequest request9Dependent4 = new WebTestRequest((this.Context["WebServer"].ToString() + "/Content/Themes/Default/Fonts/Open-Sans-Bold.woff"));
            request9.DependentRequests.Add(request9Dependent4);
            WebTestRequest request9Dependent5 = new WebTestRequest((this.Context["WebServer"].ToString() + "/Content/Themes/Default/Fonts/Maven-Pro.woff"));
            request9.DependentRequests.Add(request9Dependent5);
            ExtractHiddenFields extractionRule10 = new ExtractHiddenFields();
            extractionRule10.Required = true;
            extractionRule10.HtmlDecode = true;
            extractionRule10.ContextParameterName = "1";
            request9.ExtractValues += new EventHandler<ExtractionEventArgs>(extractionRule10.Extract);
            yield return request9;
            request9 = null;

            WebTestRequest request10 = new WebTestRequest((this.Context["WebServer"].ToString() 
                            + ("/OrderManagement/OrderCreationWizard/FeeConfirmation/" + this.Context["OrderId"].ToString())));
            request10.ThinkTime = 5;
            request10.ParseDependentRequests = false;
            request10.Method = "POST";
            request10.ExpectedResponseUrl = (this.Context["WebServer"].ToString() 
                        + ("/OrderManagement/OrderCreationWizard/ProcessCreditCard/" + this.Context["OrderId"].ToString()));
            FormPostHttpBody request10Body = new FormPostHttpBody();
            request10Body.FormPostParameters.Add("__RequestVerificationToken", this.Context["$HIDDEN1.__RequestVerificationToken"].ToString());
            request10Body.FormPostParameters.Add("OrderId", this.Context["$HIDDEN1.OrderId"].ToString());
            request10Body.FormPostParameters.Add("nextStep", "5");
            request10Body.FormPostParameters.Add("area", "OrderManagement");
            request10.Body = request10Body;
            WebTestRequest request10Dependent1 = new WebTestRequest((this.Context["WebServer"].ToString() + "/Content/Bootstrap/less/bootstrap.less"));
            request10.DependentRequests.Add(request10Dependent1);
            WebTestRequest request10Dependent2 = new WebTestRequest((this.Context["WebServer"].ToString() + "/Content/Themes/Default/Fonts/Open-Sans.woff"));
            request10.DependentRequests.Add(request10Dependent2);
            WebTestRequest request10Dependent3 = new WebTestRequest((this.Context["WebServer"].ToString() + "/Content/Themes/Default/Fonts/Open-Sans-Italic.woff"));
            request10.DependentRequests.Add(request10Dependent3);
            WebTestRequest request10Dependent4 = new WebTestRequest((this.Context["WebServer"].ToString() + "/Content/Themes/Default/Fonts/Open-Sans-Bold.woff"));
            request10.DependentRequests.Add(request10Dependent4);
            WebTestRequest request10Dependent5 = new WebTestRequest((this.Context["WebServer"].ToString() + "/Content/Themes/Default/Fonts/Maven-Pro.woff"));
            request10.DependentRequests.Add(request10Dependent5);
            ExtractHiddenFields extractionRule11 = new ExtractHiddenFields();
            extractionRule11.Required = true;
            extractionRule11.HtmlDecode = true;
            extractionRule11.ContextParameterName = "1";
            request10.ExtractValues += new EventHandler<ExtractionEventArgs>(extractionRule11.Extract);
            yield return request10;
            request10 = null;

            WebTestRequest request11 = new WebTestRequest((this.Context["WebServer"].ToString() + "/OrderManagement/OrderCreationWizard/SubmitPayment"));
            request11.ThinkTime = 15;
            request11.Method = "POST";
            FormPostHttpBody request11Body = new FormPostHttpBody();
            request11Body.FormPostParameters.Add("__RequestVerificationToken", this.Context["$HIDDEN1.__RequestVerificationToken"].ToString());
            request11Body.FormPostParameters.Add("OrderId", this.Context["$HIDDEN1.OrderId"].ToString());
            request11Body.FormPostParameters.Add("FirstName", "1231");
            request11Body.FormPostParameters.Add("LastName", "123123");
            request11Body.FormPostParameters.Add("BillingAddress.Street", this.Context["Addresses.Address.StreetAddress"].ToString());
            request11Body.FormPostParameters.Add("BillingAddress.City", this.Context["Addresses.Address.City"].ToString());
            request11Body.FormPostParameters.Add("BillingAddress.State", this.Context["Addresses.Address.State"].ToString());
            request11Body.FormPostParameters.Add("BillingAddress.ZIP", this.Context["Addresses.Address.Zip"].ToString());
            request11Body.FormPostParameters.Add("Phone", "");
            request11Body.FormPostParameters.Add("CreditCardNumber", "4242424242424242");
            request11Body.FormPostParameters.Add("ExpirationDate", "10/2015");
            request11Body.FormPostParameters.Add("CSCCode", "111");
            request11Body.FormPostParameters.Add("CreditCardType", "1");
            request11.Body = request11Body;
            yield return request11;
            request11 = null;

            WebTestRequest request12 = new WebTestRequest((this.Context["WebServer"].ToString() 
                            + ("/OrderManagement/OrderCreationWizard/RequestConfirmation/" + this.Context["OrderId"].ToString())));
            request12.ThinkTime = 5;
            request12.ParseDependentRequests = false;
            WebTestRequest request12Dependent1 = new WebTestRequest((this.Context["WebServer"].ToString() + "/Content/Bootstrap/less/bootstrap.less"));
            request12.DependentRequests.Add(request12Dependent1);
            WebTestRequest request12Dependent2 = new WebTestRequest((this.Context["WebServer"].ToString() + "/Content/Themes/Default/Fonts/Open-Sans.woff"));
            request12.DependentRequests.Add(request12Dependent2);
            WebTestRequest request12Dependent3 = new WebTestRequest((this.Context["WebServer"].ToString() + "/Content/Themes/Default/Fonts/Open-Sans-Italic.woff"));
            request12.DependentRequests.Add(request12Dependent3);
            WebTestRequest request12Dependent4 = new WebTestRequest((this.Context["WebServer"].ToString() + "/Content/Themes/Default/Fonts/Open-Sans-Bold.woff"));
            request12.DependentRequests.Add(request12Dependent4);
            WebTestRequest request12Dependent5 = new WebTestRequest((this.Context["WebServer"].ToString() + "/Content/Themes/Default/Fonts/Maven-Pro.woff"));
            request12.DependentRequests.Add(request12Dependent5);
            ExtractText extractionRule12 = new ExtractText();
            extractionRule12.StartsWith = "s: [\"";
            extractionRule12.EndsWith = "\",\"79";
            extractionRule12.Index = 0;
            extractionRule12.IgnoreCase = false;
            extractionRule12.UseRegularExpression = false;
            extractionRule12.HtmlDecode = true;
            extractionRule12.Required = false;
            extractionRule12.ContextParameterName = "FormPostParam119.id";
            request12.ExtractValues += new EventHandler<ExtractionEventArgs>(extractionRule12.Extract);
            ExtractText extractionRule13 = new ExtractText();
            extractionRule13.StartsWith = "s: [\"";
            extractionRule13.EndsWith = "\",\"79";
            extractionRule13.Index = 0;
            extractionRule13.IgnoreCase = false;
            extractionRule13.UseRegularExpression = false;
            extractionRule13.HtmlDecode = true;
            extractionRule13.Required = false;
            extractionRule13.ContextParameterName = "FormPostParam120.id";
            request12.ExtractValues += new EventHandler<ExtractionEventArgs>(extractionRule13.Extract);
            yield return request12;
            request12 = null;

            WebTestRequest request13 = new WebTestRequest((this.Context["WebServer"].ToString() + "/Dashboard/NewOrders"));
            WebTestRequest request13Dependent1 = new WebTestRequest((this.Context["WebServer"].ToString() + "/Content/Bootstrap/less/bootstrap.less"));
            request13.DependentRequests.Add(request13Dependent1);
            WebTestRequest request13Dependent2 = new WebTestRequest((this.Context["WebServer"].ToString() + "/Content/Themes/Default/Fonts/Open-Sans.woff"));
            request13.DependentRequests.Add(request13Dependent2);
            WebTestRequest request13Dependent3 = new WebTestRequest((this.Context["WebServer"].ToString() + "/Content/Themes/Default/Fonts/Open-Sans-Italic.woff"));
            request13.DependentRequests.Add(request13Dependent3);
            WebTestRequest request13Dependent4 = new WebTestRequest((this.Context["WebServer"].ToString() + "/Content/Themes/Default/Fonts/Open-Sans-Bold.woff"));
            request13.DependentRequests.Add(request13Dependent4);
            WebTestRequest request13Dependent5 = new WebTestRequest((this.Context["WebServer"].ToString() + "/Content/Themes/Default/Fonts/Maven-Pro.woff"));
            request13.DependentRequests.Add(request13Dependent5);
            ExtractText extractionRule14 = new ExtractText();
            extractionRule14.StartsWith = "s: [\"";
            extractionRule14.EndsWith = "\"],\r\n";
            extractionRule14.Index = 0;
            extractionRule14.IgnoreCase = false;
            extractionRule14.UseRegularExpression = false;
            extractionRule14.HtmlDecode = true;
            extractionRule14.Required = false;
            extractionRule14.ContextParameterName = "FormPostParam127.id";
            request13.ExtractValues += new EventHandler<ExtractionEventArgs>(extractionRule14.Extract);
            yield return request13;
            request13 = null;

            WebTestRequest request14 = new WebTestRequest((this.Context["WebServer"].ToString() + "/Home/Logout"));
            request14.ExpectedResponseUrl = (this.Context["WebServer"].ToString() + "/");
            WebTestRequest request14Dependent1 = new WebTestRequest((this.Context["WebServer"].ToString() + "/Content/Bootstrap/less/bootstrap.less"));
            request14.DependentRequests.Add(request14Dependent1);
            WebTestRequest request14Dependent2 = new WebTestRequest((this.Context["WebServer"].ToString() + "/Content/Themes/Default/Fonts/Open-Sans.woff"));
            request14.DependentRequests.Add(request14Dependent2);
            WebTestRequest request14Dependent3 = new WebTestRequest((this.Context["WebServer"].ToString() + "/Content/Themes/Default/Fonts/Open-Sans-Italic.woff"));
            request14.DependentRequests.Add(request14Dependent3);
            WebTestRequest request14Dependent4 = new WebTestRequest((this.Context["WebServer"].ToString() + "/Content/Themes/Default/Fonts/Open-Sans-Bold.woff"));
            request14.DependentRequests.Add(request14Dependent4);
            WebTestRequest request14Dependent5 = new WebTestRequest((this.Context["WebServer"].ToString() + "/Content/Themes/Default/Fonts/Maven-Pro.woff"));
            request14.DependentRequests.Add(request14Dependent5);
            yield return request14;
            request14 = null;
        }
        public override IEnumerator<WebTestRequest> GetRequestEnumerator()
        {
            // Initialize validation rules that apply to all requests in the WebTest
            if ((this.Context.ValidationLevel >= Microsoft.VisualStudio.TestTools.WebTesting.ValidationLevel.Low))
            {
                ValidateResponseUrl validationRule1 = new ValidateResponseUrl();
                this.ValidateResponse += new EventHandler<ValidationEventArgs>(validationRule1.Validate);
            }
            if ((this.Context.ValidationLevel >= Microsoft.VisualStudio.TestTools.WebTesting.ValidationLevel.Low))
            {
                ValidationRuleResponseTimeGoal validationRule2 = new ValidationRuleResponseTimeGoal();
                validationRule2.Tolerance = 0D;
                this.ValidateResponseOnPageComplete += new EventHandler<ValidationEventArgs>(validationRule2.Validate);
            }

            WebTestRequest request1 = new WebTestRequest("http://*****:*****@christiannagel.com");
            request8Body.FormPostParameters.Add("Password", "Pa$$w0rd");
            request8Body.FormPostParameters.Add("ConfirmPassword", "Pa$$w0rd");
            request8Body.FormPostParameters.Add("__RequestVerificationToken", this.Context["$HIDDEN1.__RequestVerificationToken"].ToString());
            request8.Body = request8Body;
            yield return request8;
            request8 = null;

            WebTestRequest request9 = new WebTestRequest("http://localhost:11576/lib/bootstrap/dist/fonts/glyphicons-halflings-regular.eot");
            request9.Headers.Add(new WebTestRequestHeader("Referer", "http://localhost:11576/"));
            request9.QueryStringParameters.Add("", "", false, false);
            yield return request9;
            request9 = null;
        }
Exemple #51
0
        private void AddRequestBody(WebTestRequest request)
        {
            if (headers["Content-Type"] == "application/x-www-form-urlencoded")
            {
                var formBody = new FormPostHttpBody();

                foreach (var formParameter in formParameters)
                {
                    formBody.FormPostParameters.Add(formParameter.Key, formParameter.Value);
                }
                request.Body = formBody;
            }
            else
            {
                request.Body = new StringHttpBody { BodyString = body, ContentType = headers["Content-Type"] };
            }

        }
        /// <summary>
        /// Returns the POST WebRequest for logon with appropriate form parameters set.
        /// Individual WebTests can use this.
        /// </summary>
        /// <returns></returns>
        public static WebTestRequest GetVerifyPackagePostRequestForPackage(WebTest test, string packageId, string packageVersion,string expectedResponseUrl,string expectedText,int expectedResponseCode = 200)
        {
            WebTestRequest verifyUploadPostRequest = new WebTestRequest(UrlHelper.VerifyUploadPageUrl);
            verifyUploadPostRequest.Method = "POST";
            verifyUploadPostRequest.ExpectedHttpStatusCode = expectedResponseCode;
            verifyUploadPostRequest.ExpectedResponseUrl = expectedResponseUrl;

            FormPostHttpBody verifyUploadPostRequestBody = new FormPostHttpBody();
            verifyUploadPostRequestBody.FormPostParameters.Add("__RequestVerificationToken", test.Context["$HIDDEN1.__RequestVerificationToken"].ToString());
            verifyUploadPostRequestBody.FormPostParameters.Add("Id", packageId);
            verifyUploadPostRequestBody.FormPostParameters.Add("Version", packageVersion);
            verifyUploadPostRequestBody.FormPostParameters.Add("LicenseUrl", "");
            verifyUploadPostRequestBody.FormPostParameters.Add("Edit.VersionTitle", "");
            verifyUploadPostRequestBody.FormPostParameters.Add("Edit.Description", "Package description");
            verifyUploadPostRequestBody.FormPostParameters.Add("Edit.Summary", "");
            verifyUploadPostRequestBody.FormPostParameters.Add("Edit.IconUrl", "");
            verifyUploadPostRequestBody.FormPostParameters.Add("Edit.ProjectUrl", "");
            verifyUploadPostRequestBody.FormPostParameters.Add("Edit.Authors", "nugettest");
            verifyUploadPostRequestBody.FormPostParameters.Add("Edit.CopyrightText", "Copyright 2013");
            verifyUploadPostRequestBody.FormPostParameters.Add("Edit.Tags", " windows8 ");
            verifyUploadPostRequestBody.FormPostParameters.Add("Edit.ReleaseNotes", "");
            verifyUploadPostRequest.Body = verifyUploadPostRequestBody;

            ValidationRuleFindText postUploadText = GetValidationRuleForFindText(expectedText);
            verifyUploadPostRequest.ValidateResponse += postUploadText.Validate;
            return verifyUploadPostRequest;
        }
        /// <summary>
        /// Returns the POST WebRequest for logon with appropriate form parameters set.
        /// Individual WebTests can use this.
        /// </summary>
        /// <returns></returns>
        public static WebTestRequest GetLogonPostRequest(WebTest test)
        {
            WebTestRequest logonPostRequest = new WebTestRequest(UrlHelper.SignInPageUrl);
            logonPostRequest.Method = "POST";
            logonPostRequest.ExpectedResponseUrl = UrlHelper.BaseUrl;

            FormPostHttpBody logonRequestFormPostBody = new FormPostHttpBody();
            logonRequestFormPostBody.FormPostParameters.Add("__RequestVerificationToken", test.Context["$HIDDEN1.__RequestVerificationToken"].ToString());
            logonRequestFormPostBody.FormPostParameters.Add("ReturnUrl", "/");
            logonRequestFormPostBody.FormPostParameters.Add("LinkingAccount", "false");
            logonRequestFormPostBody.FormPostParameters.Add(FunctionTests.Helpers.Constants.UserNameOrEmailFormField, EnvironmentSettings.TestAccountName);
            logonRequestFormPostBody.FormPostParameters.Add(FunctionTests.Helpers.Constants.PasswordFormField, EnvironmentSettings.TestAccountPassword);
            logonPostRequest.Body = logonRequestFormPostBody;

            return logonPostRequest;
        }
        /// <summary>
        /// Returns the POST WebRequest for logon with appropriate form parameters set.
        /// Individual WebTests can use this.
        /// </summary>
        /// <returns></returns>
        public static WebTestRequest GetLogonPostRequest(WebTest test, string accountName = null, string password = null)
        {
            if (accountName == null)
            {
                accountName = EnvironmentSettings.TestAccountName;
            }
            if (password == null)
            {
                accountName = EnvironmentSettings.TestAccountPassword;
            }

            WebTestRequest logonPostRequest = new WebTestRequest(UrlHelper.LogonPageUrl);
            logonPostRequest.Method = "POST";
            logonPostRequest.ExpectedResponseUrl = UrlHelper.BaseUrl;
            FormPostHttpBody logonRequestFormPostBody = new FormPostHttpBody();
            logonRequestFormPostBody.FormPostParameters.Add("__RequestVerificationToken", test.Context["$HIDDEN1.__RequestVerificationToken"].ToString());
            logonRequestFormPostBody.FormPostParameters.Add(Constants.UserNameOrEmailFormField, EnvironmentSettings.TestAccountName);
            logonRequestFormPostBody.FormPostParameters.Add(Constants.PasswordFormField, EnvironmentSettings.TestAccountPassword);
            logonPostRequest.Body = logonRequestFormPostBody;
            return logonPostRequest;
        }
Exemple #55
0
        public override IEnumerator <WebTestRequest> GetRequestEnumerator()
        {
            MyMethod();

            WebTestRequest request1 = new WebTestRequest("http://autotests.pmf2-gos.pmpractice.ru/asyst/page/risk");

            request1.Headers.Add(new WebTestRequestHeader("Referer", "http://autotests.pmf2-gos.pmpractice.ru/asyst/page/index"));
            WebTestRequest request1Dependent1 = new WebTestRequest("http://autotests.pmf2-gos.pmpractice.ru/asyst/browse/Risk");

            request1Dependent1.Headers.Add(new WebTestRequestHeader("Accept", "*/*"));
            request1Dependent1.Headers.Add(new WebTestRequestHeader("X-Requested-With", "XMLHttpRequest"));
            request1Dependent1.Headers.Add(new WebTestRequestHeader("Referer", "http://autotests.pmf2-gos.pmpractice.ru/asyst/page/risk"));
            request1Dependent1.QueryStringParameters.Add("nojscss", "true", false, false);
            request1Dependent1.QueryStringParameters.Add("rand", "7765885", false, false);
            request1.DependentRequests.Add(request1Dependent1);
            WebTestRequest request1Dependent2 = new WebTestRequest("http://autotests.pmf2-gos.pmpractice.ru/asyst/api/admin/saveStats");

            request1Dependent2.Method = "POST";
            request1Dependent2.Headers.Add(new WebTestRequestHeader("Accept", "application/json, text/javascript, */*; q=0.01"));
            request1Dependent2.Headers.Add(new WebTestRequestHeader("X-Requested-With", "XMLHttpRequest"));
            request1Dependent2.Headers.Add(new WebTestRequestHeader("Referer", "http://autotests.pmf2-gos.pmpractice.ru/asyst/page/risk"));
            FormPostHttpBody request1Dependent2Body = new FormPostHttpBody();

            request1Dependent2Body.FormPostParameters.Add("", "{\"page\":\"http://autotests.pmf2-gos.pmpractice.ru/asyst/page/risk\",\"pageTitle\":\"Ри" +
                                                          "ски и возможности\",\"type\":\"asystPage\",\"action\":\"open\"}");
            request1Dependent2.Body = request1Dependent2Body;
            request1.DependentRequests.Add(request1Dependent2);
            WebTestRequest request1Dependent3 = new WebTestRequest("http://autotests.pmf2-gos.pmpractice.ru/asyst/datasource/page/Risk/LEFTMENU_data");

            request1Dependent3.Method = "POST";
            request1Dependent3.Headers.Add(new WebTestRequestHeader("Accept", "application/json, text/javascript, */*; q=0.01"));
            request1Dependent3.Headers.Add(new WebTestRequestHeader("X-Requested-With", "XMLHttpRequest"));
            request1Dependent3.Headers.Add(new WebTestRequestHeader("Referer", "http://autotests.pmf2-gos.pmpractice.ru/asyst/page/risk"));
            FormPostHttpBody request1Dependent3Body = new FormPostHttpBody();

            request1Dependent3Body.FormPostParameters.Add("", "{}");
            request1Dependent3.Body = request1Dependent3Body;
            request1.DependentRequests.Add(request1Dependent3);
            WebTestRequest request1Dependent4 = new WebTestRequest("http://autotests.pmf2-gos.pmpractice.ru/asyst/api/admin/getZimbarList");

            request1Dependent4.Method = "POST";
            request1Dependent4.Headers.Add(new WebTestRequestHeader("Accept", "application/json, text/javascript, */*; q=0.01"));
            request1Dependent4.Headers.Add(new WebTestRequestHeader("X-Requested-With", "XMLHttpRequest"));
            request1Dependent4.Headers.Add(new WebTestRequestHeader("Referer", "http://autotests.pmf2-gos.pmpractice.ru/asyst/page/risk"));
            FormPostHttpBody request1Dependent4Body = new FormPostHttpBody();

            request1Dependent4Body.FormPostParameters.Add("", "{}");
            request1Dependent4.Body = request1Dependent4Body;
            request1.DependentRequests.Add(request1Dependent4);
            WebTestRequest request1Dependent5 = new WebTestRequest("http://autotests.pmf2-gos.pmpractice.ru/asyst/api/file/getFilesInfo/");

            request1Dependent5.Method = "POST";
            request1Dependent5.Headers.Add(new WebTestRequestHeader("Accept", "application/json, text/javascript, */*; q=0.01"));
            request1Dependent5.Headers.Add(new WebTestRequestHeader("X-Requested-With", "XMLHttpRequest"));
            request1Dependent5.Headers.Add(new WebTestRequestHeader("Referer", "http://autotests.pmf2-gos.pmpractice.ru/asyst/page/risk"));
            FormPostHttpBody request1Dependent5Body = new FormPostHttpBody();

            request1Dependent5Body.FormPostParameters.Add("", "{\"classname\":\"User\",\"id\":100060}");
            request1Dependent5.Body = request1Dependent5Body;
            request1.DependentRequests.Add(request1Dependent5);
            WebTestRequest request1Dependent6 = new WebTestRequest("http://autotests.pmf2-gos.pmpractice.ru/asyst/api/dataset/foresightTour");

            request1Dependent6.Method = "POST";
            request1Dependent6.Headers.Add(new WebTestRequestHeader("Accept", "application/json, text/javascript, */*; q=0.01"));
            request1Dependent6.Headers.Add(new WebTestRequestHeader("X-Requested-With", "XMLHttpRequest"));
            request1Dependent6.Headers.Add(new WebTestRequestHeader("Referer", "http://autotests.pmf2-gos.pmpractice.ru/asyst/page/risk"));
            FormPostHttpBody request1Dependent6Body = new FormPostHttpBody();

            request1Dependent6Body.FormPostParameters.Add("", "{\"UserLang\":\"RU\"}");
            request1Dependent6.Body = request1Dependent6Body;
            request1.DependentRequests.Add(request1Dependent6);
            WebTestRequest request1Dependent7 = new WebTestRequest("http://autotests.pmf2-gos.pmpractice.ru/asyst/api/board");

            request1Dependent7.ThinkTime = 1;
            request1Dependent7.Headers.Add(new WebTestRequestHeader("Accept", "application/json, text/javascript, */*; q=0.01"));
            request1Dependent7.Headers.Add(new WebTestRequestHeader("X-Requested-With", "XMLHttpRequest"));
            request1Dependent7.Headers.Add(new WebTestRequestHeader("Referer", "http://autotests.pmf2-gos.pmpractice.ru/asyst/page/risk"));
            request1Dependent7.QueryStringParameters.Add("", "{+%22action%22+:+%22checkUnread%22}", false, false);
            request1Dependent7.QueryStringParameters.Add("_", "1551352640697", false, false);
            request1.DependentRequests.Add(request1Dependent7);
            yield return(request1);

            request1 = null;

            WebTestRequest request2 = new WebTestRequest("http://autotests.pmf2-gos.pmpractice.ru/asyst/api/dataset/getIsViewRelatedObjects" +
                                                         "ForMetaView");

            request2.Method = "POST";
            request2.Headers.Add(new WebTestRequestHeader("Accept", "application/json, text/javascript, */*; q=0.01"));
            request2.Headers.Add(new WebTestRequestHeader("X-Requested-With", "XMLHttpRequest"));
            request2.Headers.Add(new WebTestRequestHeader("Referer", "http://autotests.pmf2-gos.pmpractice.ru/asyst/page/risk"));
            FormPostHttpBody request2Body = new FormPostHttpBody();

            request2Body.FormPostParameters.Add("", "{\"viewName\":null}");
            request2.Body = request2Body;
            yield return(request2);

            request2 = null;

            WebTestRequest request3 = new WebTestRequest("http://autotests.pmf2-gos.pmpractice.ru/asyst/api/dataset/getIsViewRelatedObjects" +
                                                         "ForMetaView");

            request3.Method = "POST";
            request3.Headers.Add(new WebTestRequestHeader("Accept", "application/json, text/javascript, */*; q=0.01"));
            request3.Headers.Add(new WebTestRequestHeader("X-Requested-With", "XMLHttpRequest"));
            request3.Headers.Add(new WebTestRequestHeader("Referer", "http://autotests.pmf2-gos.pmpractice.ru/asyst/page/risk"));
            FormPostHttpBody request3Body = new FormPostHttpBody();

            request3Body.FormPostParameters.Add("", "{\"viewName\":\"RiskForMe\"}");
            request3.Body = request3Body;
            yield return(request3);

            request3 = null;

            WebTestRequest request4 = new WebTestRequest("http://autotests.pmf2-gos.pmpractice.ru/asyst/api/admin/saveStats");

            request4.Method = "POST";
            request4.Headers.Add(new WebTestRequestHeader("Accept", "application/json, text/javascript, */*; q=0.01"));
            request4.Headers.Add(new WebTestRequestHeader("X-Requested-With", "XMLHttpRequest"));
            request4.Headers.Add(new WebTestRequestHeader("Referer", "http://autotests.pmf2-gos.pmpractice.ru/asyst/page/risk"));
            FormPostHttpBody request4Body = new FormPostHttpBody();

            request4Body.FormPostParameters.Add("", "{\"page\":\"http://autotests.pmf2-gos.pmpractice.ru/asyst/page/risk\",\"pageTitle\":\"Мн" +
                                                "е на выполнение\",\"type\":\"view\",\"action\":\"open\"}");
            request4.Body = request4Body;
            yield return(request4);

            request4 = null;

            WebTestRequest request5 = new WebTestRequest("http://autotests.pmf2-gos.pmpractice.ru/asyst/view/RiskForMe");

            request5.Method = "POST";
            request5.Headers.Add(new WebTestRequestHeader("Accept", "application/json, text/javascript, */*; q=0.01"));
            request5.Headers.Add(new WebTestRequestHeader("X-Requested-With", "XMLHttpRequest"));
            request5.Headers.Add(new WebTestRequestHeader("Referer", "http://autotests.pmf2-gos.pmpractice.ru/asyst/page/risk"));
            FormPostHttpBody request5Body = new FormPostHttpBody();

            request5Body.FormPostParameters.Add("", "{}");
            request5.Body = request5Body;
            yield return(request5);

            request5 = null;
        }
        public override IEnumerator <WebTestRequest> GetRequestEnumerator()
        {
            this.UserName = System.Environment.MachineName + "\\ContosoPartner2User9";
            this.Password = winUserPassword;

            // Initialize validation rules that apply to all requests in the WebTest
            if ((this.Context.ValidationLevel >= Microsoft.VisualStudio.TestTools.WebTesting.ValidationLevel.Low))
            {
                ValidateResponseUrl validationRule1 = new ValidateResponseUrl();
                this.ValidateResponse += new EventHandler <ValidationEventArgs>(validationRule1.Validate);
            }

            WebTestRequest request1 = new WebTestRequest(hostURL + "/sites/productcatalog/category.aspx");

            request1.QueryStringParameters.Add("categoryid", "0", false, false);
            ExtractHiddenFields extractionRule1 = new ExtractHiddenFields();

            extractionRule1.Required             = true;
            extractionRule1.HtmlDecode           = true;
            extractionRule1.ContextParameterName = "1";
            request1.ExtractValues += new EventHandler <ExtractionEventArgs>(extractionRule1.Extract);
            ExtractHiddenFields extractionRule2 = new ExtractHiddenFields();

            extractionRule2.Required             = true;
            extractionRule2.HtmlDecode           = true;
            extractionRule2.ContextParameterName = "2";
            request1.ExtractValues += new EventHandler <ExtractionEventArgs>(extractionRule2.Extract);
            ExtractHiddenFields extractionRule3 = new ExtractHiddenFields();

            extractionRule3.Required             = true;
            extractionRule3.HtmlDecode           = true;
            extractionRule3.ContextParameterName = "3";
            request1.ExtractValues += new EventHandler <ExtractionEventArgs>(extractionRule3.Extract);

            //Extract CategoryDetail WebPart guid
            ExtractAttributeValue extractionRule23 = new ExtractAttributeValue();

            extractionRule23.TagName             = "div";
            extractionRule23.AttributeName       = "WebPartID";
            extractionRule23.MatchAttributeName  = "id";
            extractionRule23.MatchAttributeValue = "WebPartWPQ3";
            extractionRule23.HtmlDecode          = true;
            extractionRule23.Required            = true;
            extractionRule23.Index = 0;
            extractionRule23.ContextParameterName = "CategoryDetailWebPartGuid";
            request1.ExtractValues += new EventHandler <ExtractionEventArgs>(extractionRule23.Extract);

            //Extract CategoryList WebPart guid
            ExtractAttributeValue extractionRule33 = new ExtractAttributeValue();

            extractionRule33.TagName             = "div";
            extractionRule33.AttributeName       = "WebPartID";
            extractionRule33.MatchAttributeName  = "id";
            extractionRule33.MatchAttributeValue = "WebPartWPQ4";
            extractionRule33.HtmlDecode          = true;
            extractionRule33.Required            = true;
            extractionRule33.Index = 0;
            extractionRule33.ContextParameterName = "CategoryListWebPartGuid";
            request1.ExtractValues += new EventHandler <ExtractionEventArgs>(extractionRule33.Extract);

            //Extract CategoryList WebPart guid
            ExtractAttributeValue extractionRule43 = new ExtractAttributeValue();

            extractionRule43.TagName             = "div";
            extractionRule43.AttributeName       = "WebPartID";
            extractionRule43.MatchAttributeName  = "id";
            extractionRule43.MatchAttributeValue = "WebPartWPQ5";
            extractionRule43.HtmlDecode          = true;
            extractionRule43.Required            = true;
            extractionRule43.Index = 0;
            extractionRule43.ContextParameterName = "ProductListWebPartGuid";
            request1.ExtractValues += new EventHandler <ExtractionEventArgs>(extractionRule43.Extract);
            //Check for Root Category
            ValidationRuleFindText validationRule11 = new ValidationRuleFindText();

            validationRule11.FindText             = "Root Category";
            validationRule11.IgnoreCase           = true;
            validationRule11.UseRegularExpression = false;
            validationRule11.PassIfTextFound      = true;
            request1.ValidateResponse            += new EventHandler <ValidationEventArgs>(validationRule11.Validate);

            //Check for Category Details Webpart title
            ValidationRuleFindText validationRule12 = new ValidationRuleFindText();

            validationRule12.FindText             = "Category Details";
            validationRule12.IgnoreCase           = true;
            validationRule12.UseRegularExpression = false;
            validationRule12.PassIfTextFound      = true;
            request1.ValidateResponse            += new EventHandler <ValidationEventArgs>(validationRule12.Validate);

            //Check for Category List Webpart title
            ValidationRuleFindText validationRule13 = new ValidationRuleFindText();

            validationRule13.FindText             = "Category List";
            validationRule13.IgnoreCase           = true;
            validationRule13.UseRegularExpression = false;
            validationRule13.PassIfTextFound      = true;
            request1.ValidateResponse            += new EventHandler <ValidationEventArgs>(validationRule13.Validate);

            //Check for Product List Webpart title
            ValidationRuleFindText validationRule14 = new ValidationRuleFindText();

            validationRule14.FindText             = "Product List";
            validationRule14.IgnoreCase           = true;
            validationRule14.UseRegularExpression = false;
            validationRule14.PassIfTextFound      = true;
            request1.ValidateResponse            += new EventHandler <ValidationEventArgs>(validationRule14.Validate);

            yield return(request1);

            string CategoryDetailWebPartGuid = Context["CategoryDetailWebPartGuid"].ToString();
            string CategoryListWebPartGuid   = Context["CategoryListWebPartGuid"].ToString();
            string ProductListWebPartGuid    = Context["ProductListWebPartGuid"].ToString();


            request1 = null;

            WebTestRequest request2 = new WebTestRequest(hostURL + "/sites/productcatalog/category.aspx");

            request2.Method = "POST";
            request2.QueryStringParameters.Add("categoryid", "0", false, false);
            FormPostHttpBody request2Body = new FormPostHttpBody();

            request2Body.FormPostParameters.Add("MSO_PageHashCode", this.Context["$HIDDEN1.MSO_PageHashCode"].ToString());
            // request2Body.FormPostParameters.Add("__SPSCEditMenu", this.Context["$HIDDEN1.__SPSCEditMenu"].ToString());
            //request2Body.FormPostParameters.Add("MSOWebPartPage_PostbackSource", this.Context["$HIDDEN1.MSOWebPartPage_PostbackSource"].ToString());
            request2Body.FormPostParameters.Add("MSOTlPn_SelectedWpId", this.Context["$HIDDEN1.MSOTlPn_SelectedWpId"].ToString());
            request2Body.FormPostParameters.Add("MSOTlPn_View", this.Context["$HIDDEN1.MSOTlPn_View"].ToString());
            request2Body.FormPostParameters.Add("MSOTlPn_ShowSettings", this.Context["$HIDDEN1.MSOTlPn_ShowSettings"].ToString());
            request2Body.FormPostParameters.Add("MSOGallery_SelectedLibrary", this.Context["$HIDDEN1.MSOGallery_SelectedLibrary"].ToString());
            request2Body.FormPostParameters.Add("MSOGallery_FilterString", this.Context["$HIDDEN1.MSOGallery_FilterString"].ToString());
            request2Body.FormPostParameters.Add("MSOTlPn_Button", this.Context["$HIDDEN1.MSOTlPn_Button"].ToString());
            request2Body.FormPostParameters.Add("__EVENTTARGET", this.Context["$HIDDEN1.__EVENTTARGET"].ToString());
            request2Body.FormPostParameters.Add("__EVENTARGUMENT", this.Context["$HIDDEN1.__EVENTARGUMENT"].ToString());
            request2Body.FormPostParameters.Add("__REQUESTDIGEST", this.Context["$HIDDEN1.__REQUESTDIGEST"].ToString());
            //request2Body.FormPostParameters.Add("MSOAuthoringConsole_FormContext", this.Context["$HIDDEN1.MSOAuthoringConsole_FormContext"].ToString());
            //request2Body.FormPostParameters.Add("MSOAC_EditDuringWorkflow", this.Context["$HIDDEN1.MSOAC_EditDuringWorkflow"].ToString());
            request2Body.FormPostParameters.Add("MSOSPWebPartManager_DisplayModeName", this.Context["$HIDDEN1.MSOSPWebPartManager_DisplayModeName"].ToString());
            request2Body.FormPostParameters.Add("MSOWebPartPage_Shared", this.Context["$HIDDEN1.MSOWebPartPage_Shared"].ToString());
            request2Body.FormPostParameters.Add("MSOLayout_LayoutChanges", this.Context["$HIDDEN1.MSOLayout_LayoutChanges"].ToString());
            request2Body.FormPostParameters.Add("MSOLayout_InDesignMode", this.Context["$HIDDEN1.MSOLayout_InDesignMode"].ToString());
            request2Body.FormPostParameters.Add("MSOSPWebPartManager_OldDisplayModeName", this.Context["$HIDDEN1.MSOSPWebPartManager_OldDisplayModeName"].ToString());
            request2Body.FormPostParameters.Add("MSOSPWebPartManager_StartWebPartEditingName", this.Context["$HIDDEN1.MSOSPWebPartManager_StartWebPartEditingName"].ToString());
            request2Body.FormPostParameters.Add("BDC_ActionsMenuProxyPageWebUrl", this.Context["$HIDDEN1.BDC_ActionsMenuProxyPageWebUrl"].ToString());
            request2Body.FormPostParameters.Add("__VIEWSTATE", this.Context["$HIDDEN1.__VIEWSTATE"].ToString());
            request2Body.FormPostParameters.Add("__spDummyText1", "");
            request2Body.FormPostParameters.Add("__spDummyText2", "");
            request2Body.FormPostParameters.Add("__CALLBACKID", "ctl00$m$g_" + CategoryDetailWebPartGuid.Replace("-", "_").ToString());
            request2Body.FormPostParameters.Add("__CALLBACKPARAM", "GetLongRunningUI");
            request2Body.FormPostParameters.Add("__EVENTVALIDATION", this.Context["$HIDDEN1.__EVENTVALIDATION"].ToString());
            request2.Body = request2Body;

            //Check for CategoryId
            ValidationRuleFindText validationRule21 = new ValidationRuleFindText();

            validationRule21.FindText             = @"<nobr>CategoryId:</nobr></td><td class=""ms-descriptiontext ms-alignleft"" width=""100%"">0</td>";
            validationRule21.IgnoreCase           = true;
            validationRule21.UseRegularExpression = false;
            validationRule21.PassIfTextFound      = true;
            request2.ValidateResponse            += new EventHandler <ValidationEventArgs>(validationRule21.Validate);

            //Check for CategoryName
            ValidationRuleFindText validationRule22 = new ValidationRuleFindText();

            validationRule22.FindText             = @"<nobr>Name:</nobr></td><td class=""ms-descriptiontext ms-alignleft"" width=""100%"">Root Category</td>";
            validationRule22.IgnoreCase           = true;
            validationRule22.UseRegularExpression = false;
            validationRule22.PassIfTextFound      = true;
            request2.ValidateResponse            += new EventHandler <ValidationEventArgs>(validationRule22.Validate);
            yield return(request2);

            request2 = null;

            WebTestRequest request3 = new WebTestRequest(hostURL + "/sites/productcatalog/category.aspx");

            request3.Method = "POST";
            request3.QueryStringParameters.Add("categoryid", "0", false, false);
            FormPostHttpBody request3Body = new FormPostHttpBody();

            request3Body.FormPostParameters.Add("MSO_PageHashCode", this.Context["$HIDDEN2.MSO_PageHashCode"].ToString());
            //request3Body.FormPostParameters.Add("__SPSCEditMenu", this.Context["$HIDDEN2.__SPSCEditMenu"].ToString());
            //request3Body.FormPostParameters.Add("MSOWebPartPage_PostbackSource", this.Context["$HIDDEN2.MSOWebPartPage_PostbackSource"].ToString());
            request3Body.FormPostParameters.Add("MSOTlPn_SelectedWpId", this.Context["$HIDDEN2.MSOTlPn_SelectedWpId"].ToString());
            request3Body.FormPostParameters.Add("MSOTlPn_View", this.Context["$HIDDEN2.MSOTlPn_View"].ToString());
            request3Body.FormPostParameters.Add("MSOTlPn_ShowSettings", this.Context["$HIDDEN2.MSOTlPn_ShowSettings"].ToString());
            request3Body.FormPostParameters.Add("MSOGallery_SelectedLibrary", this.Context["$HIDDEN2.MSOGallery_SelectedLibrary"].ToString());
            request3Body.FormPostParameters.Add("MSOGallery_FilterString", this.Context["$HIDDEN2.MSOGallery_FilterString"].ToString());
            request3Body.FormPostParameters.Add("MSOTlPn_Button", this.Context["$HIDDEN2.MSOTlPn_Button"].ToString());
            request3Body.FormPostParameters.Add("__EVENTTARGET", this.Context["$HIDDEN2.__EVENTTARGET"].ToString());
            request3Body.FormPostParameters.Add("__EVENTARGUMENT", this.Context["$HIDDEN2.__EVENTARGUMENT"].ToString());
            request3Body.FormPostParameters.Add("__REQUESTDIGEST", this.Context["$HIDDEN2.__REQUESTDIGEST"].ToString());
            //request3Body.FormPostParameters.Add("MSOAuthoringConsole_FormContext", this.Context["$HIDDEN2.MSOAuthoringConsole_FormContext"].ToString());
            //request3Body.FormPostParameters.Add("MSOAC_EditDuringWorkflow", this.Context["$HIDDEN2.MSOAC_EditDuringWorkflow"].ToString());
            request3Body.FormPostParameters.Add("MSOSPWebPartManager_DisplayModeName", this.Context["$HIDDEN2.MSOSPWebPartManager_DisplayModeName"].ToString());
            request3Body.FormPostParameters.Add("MSOWebPartPage_Shared", this.Context["$HIDDEN2.MSOWebPartPage_Shared"].ToString());
            request3Body.FormPostParameters.Add("MSOLayout_LayoutChanges", this.Context["$HIDDEN2.MSOLayout_LayoutChanges"].ToString());
            request3Body.FormPostParameters.Add("MSOLayout_InDesignMode", this.Context["$HIDDEN2.MSOLayout_InDesignMode"].ToString());
            request3Body.FormPostParameters.Add("MSOSPWebPartManager_OldDisplayModeName", this.Context["$HIDDEN2.MSOSPWebPartManager_OldDisplayModeName"].ToString());
            request3Body.FormPostParameters.Add("MSOSPWebPartManager_StartWebPartEditingName", this.Context["$HIDDEN2.MSOSPWebPartManager_StartWebPartEditingName"].ToString());
            request3Body.FormPostParameters.Add("BDC_ActionsMenuProxyPageWebUrl", this.Context["$HIDDEN2.BDC_ActionsMenuProxyPageWebUrl"].ToString());
            request3Body.FormPostParameters.Add("__VIEWSTATE", this.Context["$HIDDEN2.__VIEWSTATE"].ToString());
            request3Body.FormPostParameters.Add("__spDummyText1", "");
            request3Body.FormPostParameters.Add("__spDummyText2", "");
            request3Body.FormPostParameters.Add("__CALLBACKID", "ctl00$m$g_" + CategoryListWebPartGuid.Replace("-", "_").ToString());
            request3Body.FormPostParameters.Add("__CALLBACKPARAM", "GetLongRunningUI");
            request3Body.FormPostParameters.Add("__EVENTVALIDATION", this.Context["$HIDDEN2.__EVENTVALIDATION"].ToString());

            request3.Body = request3Body;
            ValidationRuleFindText validationRule31 = new ValidationRuleFindText();

            validationRule31.FindText = @"<a onclick=""event.cancelBubble=true"" href=""" + hostURL + "/sites/productcatalog/_layouts/ProfileRedirect.aspx?Application=ContosoProductCatalogService&amp;Entity=Category&amp;ItemId=__bk40003300\" onkeydown=\"actionMenuOnKeyDown('Loading...','Physician Equipment',false,'ContosoProductCatalogService','Category','__bk40003300');\">Physician Equipment<img src=\"/_layouts/images/blank.gif\" border=\"0\" alt=\"\"></a>";
            //validationRule31.FindText = @"<a onclick=""event.cancelBubble=true"" onkeydown=""actionMenuOnKeyDown('Loading...','Dental Equipment',false,'ContosoProductCatalogService','Category','__bk40001300');"">Dental Equipment<img src=""/_layouts/images/blank.gif"" border=""0"" alt=""""></a>";
            validationRule31.IgnoreCase           = true;
            validationRule31.UseRegularExpression = false;
            validationRule31.PassIfTextFound      = true;
            request3.ValidateResponse            += new EventHandler <ValidationEventArgs>(validationRule31.Validate);

            yield return(request3);

            request3 = null;

            WebTestRequest request4 = new WebTestRequest(hostURL + "/sites/productcatalog/category.aspx");

            request4.Method = "POST";
            request4.QueryStringParameters.Add("categoryid", "0", false, false);
            FormPostHttpBody request4Body = new FormPostHttpBody();

            request4Body.FormPostParameters.Add("MSO_PageHashCode", this.Context["$HIDDEN3.MSO_PageHashCode"].ToString());
            //request4Body.FormPostParameters.Add("__SPSCEditMenu", this.Context["$HIDDEN3.__SPSCEditMenu"].ToString());
            //request4Body.FormPostParameters.Add("MSOWebPartPage_PostbackSource", this.Context["$HIDDEN3.MSOWebPartPage_PostbackSource"].ToString());
            request4Body.FormPostParameters.Add("MSOTlPn_SelectedWpId", this.Context["$HIDDEN3.MSOTlPn_SelectedWpId"].ToString());
            request4Body.FormPostParameters.Add("MSOTlPn_View", this.Context["$HIDDEN3.MSOTlPn_View"].ToString());
            request4Body.FormPostParameters.Add("MSOTlPn_ShowSettings", this.Context["$HIDDEN3.MSOTlPn_ShowSettings"].ToString());
            request4Body.FormPostParameters.Add("MSOGallery_SelectedLibrary", this.Context["$HIDDEN3.MSOGallery_SelectedLibrary"].ToString());
            request4Body.FormPostParameters.Add("MSOGallery_FilterString", this.Context["$HIDDEN3.MSOGallery_FilterString"].ToString());
            request4Body.FormPostParameters.Add("MSOTlPn_Button", this.Context["$HIDDEN3.MSOTlPn_Button"].ToString());
            request4Body.FormPostParameters.Add("__EVENTTARGET", this.Context["$HIDDEN3.__EVENTTARGET"].ToString());
            request4Body.FormPostParameters.Add("__EVENTARGUMENT", this.Context["$HIDDEN3.__EVENTARGUMENT"].ToString());
            request4Body.FormPostParameters.Add("__REQUESTDIGEST", this.Context["$HIDDEN3.__REQUESTDIGEST"].ToString());
            //request4Body.FormPostParameters.Add("MSOAuthoringConsole_FormContext", this.Context["$HIDDEN3.MSOAuthoringConsole_FormContext"].ToString());
            //request4Body.FormPostParameters.Add("MSOAC_EditDuringWorkflow", this.Context["$HIDDEN3.MSOAC_EditDuringWorkflow"].ToString());
            request4Body.FormPostParameters.Add("MSOSPWebPartManager_DisplayModeName", this.Context["$HIDDEN3.MSOSPWebPartManager_DisplayModeName"].ToString());
            request4Body.FormPostParameters.Add("MSOWebPartPage_Shared", this.Context["$HIDDEN3.MSOWebPartPage_Shared"].ToString());
            request4Body.FormPostParameters.Add("MSOLayout_LayoutChanges", this.Context["$HIDDEN3.MSOLayout_LayoutChanges"].ToString());
            request4Body.FormPostParameters.Add("MSOLayout_InDesignMode", this.Context["$HIDDEN3.MSOLayout_InDesignMode"].ToString());
            request4Body.FormPostParameters.Add("MSOSPWebPartManager_OldDisplayModeName", this.Context["$HIDDEN3.MSOSPWebPartManager_OldDisplayModeName"].ToString());
            request4Body.FormPostParameters.Add("MSOSPWebPartManager_StartWebPartEditingName", this.Context["$HIDDEN3.MSOSPWebPartManager_StartWebPartEditingName"].ToString());
            request4Body.FormPostParameters.Add("BDC_ActionsMenuProxyPageWebUrl", this.Context["$HIDDEN3.BDC_ActionsMenuProxyPageWebUrl"].ToString());
            request4Body.FormPostParameters.Add("__VIEWSTATE", this.Context["$HIDDEN3.__VIEWSTATE"].ToString());
            request4Body.FormPostParameters.Add("__spDummyText1", "");
            request4Body.FormPostParameters.Add("__spDummyText2", "");
            request4Body.FormPostParameters.Add("__CALLBACKID", "ctl00$m$g_" + ProductListWebPartGuid.Replace("-", "_").ToString());
            request4Body.FormPostParameters.Add("__CALLBACKPARAM", "GetLongRunningUI");
            request4Body.FormPostParameters.Add("__EVENTVALIDATION", this.Context["$HIDDEN3.__EVENTVALIDATION"].ToString());
            request4.Body = request4Body;

            //check for There are no items to show.
            ValidationRuleFindText validationRule41 = new ValidationRuleFindText();

            validationRule41.FindText             = "There are no items to show.";
            validationRule41.IgnoreCase           = true;
            validationRule41.UseRegularExpression = false;
            validationRule41.PassIfTextFound      = true;
            request4.ValidateResponse            += new EventHandler <ValidationEventArgs>(validationRule41.Validate);

            yield return(request4);

            request4 = null;
        }
        public override IEnumerator<WebTestRequest> GetRequestEnumerator()
        {
            // Инициализация правил проверки, применяемых ко всем запросам в веб-тесте
            if ((this.Context.ValidationLevel >= Microsoft.VisualStudio.TestTools.WebTesting.ValidationLevel.Low))
            {
                ValidateResponseUrl validationRule1 = new ValidateResponseUrl();
                this.ValidateResponse += new EventHandler<ValidationEventArgs>(validationRule1.Validate);
            }
            if ((this.Context.ValidationLevel >= Microsoft.VisualStudio.TestTools.WebTesting.ValidationLevel.Low))
            {
                ValidationRuleResponseTimeGoal validationRule2 = new ValidationRuleResponseTimeGoal();
                validationRule2.Tolerance = 0D;
                this.ValidateResponseOnPageComplete += new EventHandler<ValidationEventArgs>(validationRule2.Validate);
            }

            WebTestRequest request1 = new WebTestRequest("http://localhost:2489/");
            request1.ThinkTime = 13;
            yield return request1;
            request1 = null;

            WebTestRequest request2 = new WebTestRequest("http://localhost:2489/Account/Login");
            request2.ThinkTime = 11;
            ExtractHiddenFields extractionRule1 = new ExtractHiddenFields();
            extractionRule1.Required = true;
            extractionRule1.HtmlDecode = true;
            extractionRule1.ContextParameterName = "1";
            request2.ExtractValues += new EventHandler<ExtractionEventArgs>(extractionRule1.Extract);
            yield return request2;
            request2 = null;

            WebTestRequest request3 = new WebTestRequest("http://localhost:2489/Account/Login");
            request3.Method = "POST";
            request3.ExpectedResponseUrl = "http://localhost:2489/";
            FormPostHttpBody request3Body = new FormPostHttpBody();
            request3Body.FormPostParameters.Add("__RequestVerificationToken", this.Context["$HIDDEN1.__RequestVerificationToken"].ToString());
            request3Body.FormPostParameters.Add("Email", this.Context["ShoppingCartTestData.ShoppingCartTestData#csv.Login"].ToString());
            request3Body.FormPostParameters.Add("Password", this.Context["ShoppingCartTestData.ShoppingCartTestData#csv.Password"].ToString());
            request3Body.FormPostParameters.Add("RememberMe", this.Context["$HIDDEN1.RememberMe"].ToString());
            request3.Body = request3Body;
            yield return request3;
            request3 = null;

            WebTestRequest request4 = new WebTestRequest("http://localhost:2489/Category/Show");
            request4.ThinkTime = 2;
            request4.QueryStringParameters.Add("categoryId", "1", false, false);
            ExtractHiddenFields extractionRule2 = new ExtractHiddenFields();
            extractionRule2.Required = true;
            extractionRule2.HtmlDecode = true;
            extractionRule2.ContextParameterName = "1";
            request4.ExtractValues += new EventHandler<ExtractionEventArgs>(extractionRule2.Extract);
            yield return request4;
            request4 = null;

            WebTestRequest request5 = new WebTestRequest("http://localhost:2489/ShoppingCart/AddProduct");
            request5.ThinkTime = 2;
            request5.QueryStringParameters.Add("count", "1", false, false);
            request5.QueryStringParameters.Add("productId", this.Context["ShoppingCartTestData.ShoppingCartTestData#csv.AddProductId1"].ToString(), false, false);
            request5.QueryStringParameters.Add("X-Requested-With", "XMLHttpRequest", false, false);
            yield return request5;
            request5 = null;

            WebTestRequest request6 = new WebTestRequest("http://localhost:2489/ShoppingCart/AddProduct");
            request6.ThinkTime = 6;
            request6.QueryStringParameters.Add("count", "1", false, false);
            request6.QueryStringParameters.Add("productId", this.Context["ShoppingCartTestData.ShoppingCartTestData#csv.AddProductId2"].ToString(), false, false);
            request6.QueryStringParameters.Add("X-Requested-With", "XMLHttpRequest", false, false);
            yield return request6;
            request6 = null;

            WebTestRequest request7 = new WebTestRequest("http://localhost:2489/ShoppingCart");
            request7.ThinkTime = 30;
            if ((this.Context.ValidationLevel >= Microsoft.VisualStudio.TestTools.WebTesting.ValidationLevel.High))
            {
                ValidationRuleFindText validationRule3 = new ValidationRuleFindText();
                validationRule3.FindText = "<label for=\"amount\">"+
                    this.Context["ShoppingCartTestData.ShoppingCartTestData#csv.TotalAmount1"];
                validationRule3.IgnoreCase = false;
                validationRule3.UseRegularExpression = false;
                validationRule3.PassIfTextFound = true;
                request7.ValidateResponse += new EventHandler<ValidationEventArgs>(validationRule3.Validate);
            }
            ExtractHiddenFields extractionRule3 = new ExtractHiddenFields();
            extractionRule3.Required = true;
            extractionRule3.HtmlDecode = true;
            extractionRule3.ContextParameterName = "1";
            request7.ExtractValues += new EventHandler<ExtractionEventArgs>(extractionRule3.Extract);
            yield return request7;
            request7 = null;

            WebTestRequest request8 = new WebTestRequest("http://localhost:2489/ShoppingCart/SetCount");
            request8.ThinkTime = 11;
            request8.Method = "POST";
            FormPostHttpBody request8Body = new FormPostHttpBody();
            request8Body.FormPostParameters.Add("count", this.Context["ShoppingCartTestData.ShoppingCartTestData#csv.SetCount"].ToString());
            request8Body.FormPostParameters.Add("productId", this.Context["ShoppingCartTestData.ShoppingCartTestData#csv.SetProductId"].ToString());
            request8Body.FormPostParameters.Add("X-Requested-With", "XMLHttpRequest");
            request8.Body = request8Body;
            if ((this.Context.ValidationLevel >= Microsoft.VisualStudio.TestTools.WebTesting.ValidationLevel.High))
            {
                ValidationRuleFindText validationRule4 = new ValidationRuleFindText();
                validationRule4.FindText = "<label for=\"amount\">"+
                    this.Context["ShoppingCartTestData.ShoppingCartTestData#csv.TotalAmount2"];
                validationRule4.IgnoreCase = true;
                validationRule4.UseRegularExpression = false;
                validationRule4.PassIfTextFound = true;
                request8.ValidateResponse += new EventHandler<ValidationEventArgs>(validationRule4.Validate);
            }
            yield return request8;
            request8 = null;
        }
        public override IEnumerator<WebTestRequest> GetRequestEnumerator()
        {
            // Initialize validation rules that apply to all requests in the WebTest
            if ((this.Context.ValidationLevel >= Microsoft.VisualStudio.TestTools.WebTesting.ValidationLevel.Low))
            {
                ValidateResponseUrl validationRule1 = new ValidateResponseUrl();
                this.ValidateResponse += new EventHandler<ValidationEventArgs>(validationRule1.Validate);
            }
            if ((this.Context.ValidationLevel >= Microsoft.VisualStudio.TestTools.WebTesting.ValidationLevel.Low))
            {
                ValidationRuleResponseTimeGoal validationRule2 = new ValidationRuleResponseTimeGoal();
                validationRule2.Tolerance = 0D;
                this.ValidateResponseOnPageComplete += new EventHandler<ValidationEventArgs>(validationRule2.Validate);
            }

            WebTestRequest request1 = new WebTestRequest((this.Context["StageEnv"].ToString() + "/"));
            yield return request1;
            request1 = null;

            WebTestRequest request2 = new WebTestRequest((this.Context["StageEnv"].ToString() + "/Users/Auth/Login"));
            request2.ThinkTime = 1;
            request2.Headers.Add(new WebTestRequestHeader("Referer", (this.Context["StageEnv"].ToString() + "/")));
            yield return request2;
            request2 = null;

            WebTestRequest request3 = new WebTestRequest((this.Context["StageEnv"].ToString() + "/Users/Auth/Login"));
            request3.Method = "POST";
            request3.ExpectedResponseUrl = (this.Context["StageEnv"].ToString() + "/");
            request3.Headers.Add(new WebTestRequestHeader("Referer", (this.Context["StageEnv"].ToString() + "/Users/Auth/Login")));
            FormPostHttpBody request3Body = new FormPostHttpBody();
            request3Body.FormPostParameters.Add("UsernameOrEmail", this.Context["DataSource1.PTData#csv.User"].ToString());
            request3Body.FormPostParameters.Add("Password", "123456");
            request3.Body = request3Body;
            yield return request3;
            request3 = null;

            WebTestRequest request4 = new WebTestRequest(this.Context["DataSource1.PTData#csv.FirstCourse"].ToString());
            request4.ThinkTime = 1;
            request4.Headers.Add(new WebTestRequestHeader("Referer", (this.Context["StageEnv"].ToString() + "/")));
            WebTestRequest request4Dependent1 = new WebTestRequest(this.Context["DataSource1.PTData#csv.FirstCourse"].ToString());
            request4Dependent1.ThinkTime = 3;
            request4Dependent1.ParseDependentRequests = false;
            request4Dependent1.Headers.Add(new WebTestRequestHeader("Accept", "*/*"));
            request4Dependent1.Headers.Add(new WebTestRequestHeader("X-Requested-With", "XMLHttpRequest"));
            request4Dependent1.Headers.Add(new WebTestRequestHeader("Referer", this.Context["DataSource1.PTData#csv.FirstCourse"].ToString()));
            request4.DependentRequests.Add(request4Dependent1);
            yield return request4;
            request4 = null;

            WebTestRequest request5 = new WebTestRequest(this.Context["DataSource1.PTData#csv.SecondCourse"].ToString());
            request5.ParseDependentRequests = false;
            request5.Headers.Add(new WebTestRequestHeader("Referer", (this.Context["StageEnv"].ToString() + "/Courses/Courses/Details/250")));
            WebTestRequest request5Dependent1 = new WebTestRequest(this.Context["DataSource1.PTData#csv.SecondCourse"].ToString());
            request5Dependent1.ThinkTime = 3;
            request5Dependent1.Headers.Add(new WebTestRequestHeader("Accept", "*/*"));
            request5Dependent1.Headers.Add(new WebTestRequestHeader("X-Requested-With", "XMLHttpRequest"));
            request5Dependent1.Headers.Add(new WebTestRequestHeader("Referer", this.Context["DataSource1.PTData#csv.SecondCourse"].ToString()));
            request5.DependentRequests.Add(request5Dependent1);
            yield return request5;
            request5 = null;

            WebTestRequest request6 = new WebTestRequest(this.Context["DataSource1.PTData#csv.ThirdCourse"].ToString());
            request6.Headers.Add(new WebTestRequestHeader("Referer", (this.Context["StageEnv"].ToString() + "/Courses/Courses/Details/270")));
            WebTestRequest request6Dependent1 = new WebTestRequest(this.Context["DataSource1.PTData#csv.ThirdCourse"].ToString());
            request6Dependent1.ThinkTime = 3;
            request6Dependent1.Headers.Add(new WebTestRequestHeader("Accept", "*/*"));
            request6Dependent1.Headers.Add(new WebTestRequestHeader("X-Requested-With", "XMLHttpRequest"));
            request6Dependent1.Headers.Add(new WebTestRequestHeader("Referer", this.Context["DataSource1.PTData#csv.ThirdCourse"].ToString()));
            request6.DependentRequests.Add(request6Dependent1);
            yield return request6;
            request6 = null;

            WebTestRequest request7 = new WebTestRequest((this.Context["StageEnv"].ToString() + "/Users/Auth/LogOut"));
            request7.ThinkTime = 1;
            request7.ExpectedResponseUrl = (this.Context["StageEnv"].ToString() + "/");
            request7.Headers.Add(new WebTestRequestHeader("Referer", (this.Context["StageEnv"].ToString() + "/Courses/Courses/Details/276")));
            yield return request7;
            request7 = null;
        }