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); }
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; }
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; } }
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; } }
/// <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); }
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; }
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); }
/// <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); }
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; }
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; }
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); }
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"); }
/// <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); } }
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; }
/// <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); }
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; }
/// <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); }
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; }
/// <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; }
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; }
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; }
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; }
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&Entity=Category&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; }