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; }
/// <summary> /// Returns a WebRequest for the given Url. /// </summary> /// <param name="url"></param> /// <returns></returns> public static WebTestRequest GetHttpRequestForUrl(string url) { var getRequest = new WebTestRequest(url); var extractionRule = GetDefaultExtractHiddenFields(); getRequest.ExtractValues += extractionRule.Extract; return getRequest; }
public override IEnumerator<WebTestRequest> GetRequestEnumerator() { //send a request to home page and check for security headers. WebTestRequest homePageRequest = new WebTestRequest(UrlHelper.BaseUrl); homePageRequest.ParseDependentRequests = false; ValidationRuleFindHeaderText homePageTextValidationRule = new ValidationRuleFindHeaderText( @"X-Frame-Options: deny X-XSS-Protection: 1; mode=block X-Content-Type-Options: nosniff Strict-Transport-Security: max-age=31536000"); homePageRequest.ValidateResponse += new EventHandler<ValidationEventArgs>(homePageTextValidationRule.Validate); yield return homePageRequest; homePageRequest = null; //send a request to Packages page and check for security headers. WebTestRequest packagesPageRequest = new WebTestRequest(UrlHelper.PackagesPageUrl); packagesPageRequest.ParseDependentRequests = false; ValidationRuleFindHeaderText packagesPageTextValidationRule = new ValidationRuleFindHeaderText( @"X-Frame-Options: deny X-XSS-Protection: 1; mode=block X-Content-Type-Options: nosniff Strict-Transport-Security: max-age=31536000"); packagesPageRequest.ValidateResponse += new EventHandler<ValidationEventArgs>(packagesPageTextValidationRule.Validate); yield return packagesPageRequest; packagesPageRequest = null; }
public override IEnumerator<WebTestRequest> GetRequestEnumerator() { // Инициализация правил проверки, применяемых ко всем запросам в веб-тесте if ((this.Context.ValidationLevel >= Microsoft.VisualStudio.TestTools.WebTesting.ValidationLevel.High)) { ValidationRuleRequiredTag validationRule1 = new ValidationRuleRequiredTag(); validationRule1.RequiredTagName = "User"; validationRule1.MinOccurrences = 1; this.ValidateResponse += new EventHandler<ValidationEventArgs>(validationRule1.Validate); } if ((this.Context.ValidationLevel >= Microsoft.VisualStudio.TestTools.WebTesting.ValidationLevel.High)) { ValidationRuleRequestTime validationRule2 = new ValidationRuleRequestTime(); validationRule2.MaxRequestTime = 1000; this.ValidateResponse += new EventHandler<ValidationEventArgs>(validationRule2.Validate); } WebTestRequest request1 = new WebTestRequest("http://193.226.64.163/SANDBOXWebServiceDev/Service1.asmx"); request1.Timeout = 3; request1.Method = "POST"; request1.Encoding = System.Text.Encoding.GetEncoding("utf-8"); request1.Headers.Add(new WebTestRequestHeader("SOAPAction", "http://tempuri.org/GetAllUsers")); StringHttpBody request1Body = new StringHttpBody(); request1Body.ContentType = "text/xml"; request1Body.InsertByteOrderMark = false; request1Body.BodyString = @"<?xml version=""1.0"" encoding=""utf-8""?> <soap:Envelope xmlns:xsi=""http://www.w3.org/2001/XMLSchema-instance"" xmlns:xsd=""http://www.w3.org/2001/XMLSchema"" xmlns:soap=""http://schemas.xmlsoap.org/soap/envelope/""> <soap:Body> <GetAllUsers xmlns=""http://tempuri.org/"" /> </soap:Body> </soap:Envelope>"; request1.Body = request1Body; yield return request1; request1 = 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)) { 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 = 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; }
/// <summary> /// Returns a WebRequest for the given Url. /// </summary> /// <param name="url"></param> /// <returns></returns> public static WebTestRequest GetHttpRequestForUrl(string url) { WebTestRequest getRequest = new WebTestRequest(url); ExtractHiddenFields extractionRule1 = AssertAndValidationHelper.GetDefaultExtractHiddenFields(); getRequest.ExtractValues += new EventHandler<ExtractionEventArgs>(extractionRule1.Extract); return getRequest; }
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() { 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 = PackageCreationHelper.CreatePackage(packageId); WebTestRequest uploadPostRequest = AssertAndValidationHelper.GetUploadPostRequestForPackage(this, packageFullPath); 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 = AssertAndValidationHelper.GetVerifyPackagePostRequestForPackage(this, packageId, "1.0.0"); yield return verifyUploadPostRequest; verifyUploadPostRequest = 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(Common.userDomain + "GetUserProfile"); request1.Encoding = System.Text.Encoding.GetEncoding("utf-8"); request1.QueryStringParameters.Add("userId", "aaf9a5a7-1f18-4a2d-b108-3ba3a978bdf6", false, false); request1.ValidateResponse += new EventHandler<ValidationEventArgs>(request1_ValidateResponse); yield return request1; request1 = null; WebTestRequest request2 = new WebTestRequest(Common.userDomain + "GetFriendList"); request2.Encoding = System.Text.Encoding.GetEncoding("utf-8"); request2.QueryStringParameters.Add("userId", "aaf9a5a7-1f18-4a2d-b108-3ba3a978bdf6", false, false); request2.ValidateResponse += new EventHandler<ValidationEventArgs>(request2_ValidateResponse); yield return request2; request2 = null; WebTestRequest request3 = new WebTestRequest(Common.userDomain + "IsLegalUserName"); request3.Encoding = System.Text.Encoding.GetEncoding("utf-8"); request3.QueryStringParameters.Add("userName", "testtest", false, false); request3.ValidateResponse += new EventHandler<ValidationEventArgs>(request3_ValidateResponse); yield return request3; request3 = null; WebTestRequest request4 = new WebTestRequest(Common.userDomain + "IsLegalUserName"); request4.Encoding = System.Text.Encoding.GetEncoding("utf-8"); request4.QueryStringParameters.Add("userName", "userwhichnotexist", false, false); request4.ValidateResponse += new EventHandler<ValidationEventArgs>(request4_ValidateResponse); yield return request4; request4 = null; }
public override IEnumerator<WebTestRequest> GetRequestEnumerator() { ExtractHiddenFields defaultExtractionRule = AssertAndValidationHelper.GetDefaultExtractHiddenFields(); //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 edit. 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; if (this.LastResponse.ResponseUri.ToString().Contains("verify-upload")) { WebTestRequest cancelGet = AssertAndValidationHelper.GetCancelGetRequest(); yield return cancelGet; cancelGet = null; 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 packageFullPath = PackageCreationHelper.CreatePackage(packageId); WebTestRequest uploadPostRequest = AssertAndValidationHelper.GetUploadPostRequestForPackage(this, packageFullPath); yield return uploadPostRequest; uploadPostRequest = null; WebTestRequest verifyUploadRequest = new WebTestRequest(UrlHelper.VerifyUploadPageUrl); yield return verifyUploadRequest; verifyUploadRequest = null; WebTestRequest verifyUploadPostRequest = AssertAndValidationHelper.GetVerifyPackagePostRequestForPackage(this, packageId, "1.0.0"); yield return verifyUploadPostRequest; verifyUploadPostRequest = null; WebTestRequest verifyEditRequest = AssertAndValidationHelper.GetEditGetRequestForPackage(packageId, "1.0.0"); verifyEditRequest.ExtractValues += new EventHandler<ExtractionEventArgs>(defaultExtractionRule.Extract); yield return verifyEditRequest; verifyEditRequest = null; // TO DO: Post isn't weorking and I need to investigate why. I'll investigate more later, but the current verification is still // useful in the meantime. [clayco 11/13/2013] WebTestRequest verifyEditPostRequest = AssertAndValidationHelper.GetEditPackagePostRequest(this, packageId, "1.0.0", description: "This is a new description."); ValidationRuleFindText newDescriptionValidationRule = AssertAndValidationHelper.GetValidationRuleForFindText(@"This is a new description."); //ValidationRuleFindText pendingEditValidationRule = AssertAndValidationHelper.GetValidationRuleForFindText(@"An edit is pending for this package version. You are seeing the <em>edited</em> package description now."); verifyEditPostRequest.ValidateResponse += new EventHandler<ValidationEventArgs>(newDescriptionValidationRule.Validate); //verifyEditPostRequest.ValidateResponse += new EventHandler<ValidationEventArgs>(pendingEditValidationRule.Validate); yield return verifyEditPostRequest; verifyEditPostRequest = null; }
public override IEnumerator<WebTestRequest> GetRequestEnumerator() { // Send a request to home page and check for default home page text. var homePageRequest = new WebTestRequest(UrlHelper.BaseUrl); var homePageTextValidationRule = AssertAndValidationHelper.GetValidationRuleForFindText(Constants.HomePageText); homePageRequest.ValidateResponse += homePageTextValidationRule.Validate; yield return homePageRequest; }
public override IEnumerator<WebTestRequest> GetRequestEnumerator() { //send a request to home page and check for default home page text. WebTestRequest homePageRequest = new WebTestRequest(UrlHelper.BaseUrl); ValidationRuleFindText homePageTextValidationRule = AssertAndValidationHelper.GetValidationRuleForFindText(Constants.HomePageText); homePageRequest.ValidateResponse += new EventHandler<ValidationEventArgs>(homePageTextValidationRule.Validate); yield return homePageRequest; homePageRequest = null; }
public override IEnumerator<WebTestRequest> GetRequestEnumerator() { WebTestRequest uploadPackageRequest = new WebTestRequest(UrlHelper.UploadPageUrl); uploadPackageRequest.ExpectedResponseUrl = UrlHelper.LogonPageUrlOnPackageUpload; ValidateHtmlTagInnerText logOnFormValidationRule = AssertAndValidationHelper.GetValidationRuleForHtmlTagInnerText(HtmlTextWriterTag.Label.ToString(), HtmlTextWriterAttribute.For.ToString(), "SignIn_UserNameOrEmail", "Username or Email"); uploadPackageRequest.ValidateResponse += new EventHandler<ValidationEventArgs>(logOnFormValidationRule.Validate); yield return uploadPackageRequest; uploadPackageRequest = 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; if (this.LastResponse.ResponseUri.ToString().Contains("verify-upload")) { WebTestRequest cancelGet = AssertAndValidationHelper.GetCancelGetRequest(); yield return cancelGet; cancelGet = null; uploadRequest = AssertAndValidationHelper.GetHttpRequestForUrl(UrlHelper.UploadPageUrl); yield return uploadRequest; } uploadRequest = null; string packageId = DateTime.Now.Ticks.ToString(); string packageFullPath = PackageCreationHelper.CreatePackage(packageId); WebTestRequest uploadPostRequest = AssertAndValidationHelper.GetUploadPostRequestForPackage(this, packageFullPath); yield return uploadPostRequest; uploadPostRequest = null; WebTestRequest verifyUploadPostRequest = AssertAndValidationHelper.GetVerifyPackagePostRequestForPackage(this, packageId, "1.0.0"); yield return verifyUploadPostRequest; verifyUploadPostRequest = null; System.Threading.Thread.Sleep(60000); WebTestRequest packageRequest = new WebTestRequest(UrlHelper.GetPackagePageUrl(packageId)); ValidationRuleFindText findTextRule = AssertAndValidationHelper.GetValidationRuleForFindText("Contact Us"); packageRequest.ValidateResponse += new EventHandler<ValidationEventArgs>(findTextRule.Validate); yield return packageRequest; packageRequest = null; // Log off WebTestRequest logOffGet = AssertAndValidationHelper.GetLogOffGetRequest(); yield return logOffGet; logOffGet = null; packageRequest = new WebTestRequest(UrlHelper.GetPackagePageUrl(packageId)); //Rule to check manage my packages contains a html link to the newly uploaded package. ValidationRuleFindText reportAbuseValidationRule = AssertAndValidationHelper.GetValidationRuleForFindText("Report Abuse"); packageRequest.ValidateResponse += new EventHandler<ValidationEventArgs>(reportAbuseValidationRule.Validate); yield return packageRequest; packageRequest = 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/"); 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() { WebTestRequest request1 = new WebTestRequest("http://simple-service.cloudapp.net//Service/Service.svc/simpleService/sayHello"); string user = "******"; request1.Timeout = 5; request1.ExpectedHttpStatusCode = 200; request1.QueryStringParameters.Add("name", user, false, false); yield return request1; request1 = null; }
public PingWebTestConfiguration(string url, int? expectedHttpStatusCode = 200) { _webTest = new DeclarativeWebTest { Proxy = "default" }; var webTestRequest = new WebTestRequest(url) { ExpectedHttpStatusCode = expectedHttpStatusCode == null ? 0 : expectedHttpStatusCode.Value, IgnoreHttpStatusCode = expectedHttpStatusCode == null }; _webTest.Items.Add(webTestRequest); }
private WebTestRequest GetWebRequestForAggregateStats() { //send a request to the stats/totals. WebTestRequest statsRequestBeforeDownload = new WebTestRequest(UrlHelper.AggregateStatsPageUrl); //Extract the download count value from the response. ExtractText extractDownLoadCount = GetExtractionRuleForDownloadCount(); statsRequestBeforeDownload.ExtractValues += new EventHandler<ExtractionEventArgs>(extractDownLoadCount.Extract); return statsRequestBeforeDownload; }
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)) { 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; if (this.LastResponse.ResponseUri.ToString().Contains("verify-upload")) { // if there is a upload in progress, try to submit that upload instead of creating a new package (since we are just going to verify that upload doesn't go through). //Extract the package Id of the pending upload. string response = this.LastResponse.BodyString; int referenceIndex = response.IndexOf("<h4>Package ID</h4>"); int startIndex = response.IndexOf("<p>"); int endIndex = response.IndexOf("</p>", startIndex); string packageId = response.Substring(startIndex + 3, endIndex - (startIndex + 3)); this.AddCommentToResult(packageId); //Adding the package ID to result for debugging. WebTestRequest verifyUploadPostRequest = AssertAndValidationHelper.GetVerifyPackagePostRequestForPackage(this, packageId, "1.0.0", UrlHelper.VerifyUploadPageUrl, Constants.ReadOnlyModeError, 503); yield return verifyUploadPostRequest; verifyUploadPostRequest = null; } else { // 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 = PackageCreationHelper.CreatePackage(packageId); WebTestRequest uploadPostRequest = AssertAndValidationHelper.GetUploadPostRequestForPackage(this, packageFullPath); 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 = AssertAndValidationHelper.GetVerifyPackagePostRequestForPackage(this, packageId, "1.0.0", UrlHelper.VerifyUploadPageUrl, Constants.ReadOnlyModeError, 503); yield return verifyUploadPostRequest; verifyUploadPostRequest = null; } } }
public override IEnumerator<WebTestRequest> GetRequestEnumerator() { // Temporary workaround for the SSL issue, which keeps the upload test from working with cloudapp.net sites if (UrlHelper.BaseUrl.Contains("nugettest.org") || UrlHelper.BaseUrl.Contains("nuget.org")) { 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; if (this.LastResponse.ResponseUri.ToString().Contains("verify-upload")) { // if there is a upload in progress, try to submit that upload instead of creating a new package (since we are just going to verify that upload goes through UI). //Extract the package Id of the pending upload. string response = this.LastResponse.BodyString; int referenceIndex = response.IndexOf("<h4>Package ID</h4>"); int startIndex = response.IndexOf("<p>"); int endIndex = response.IndexOf("</p>", startIndex); string packageId = response.Substring(startIndex + 3, endIndex - (startIndex + 3)); this.AddCommentToResult(packageId); //Adding the package ID to result for debugging. WebTestRequest verifyUploadPostRequest = AssertAndValidationHelper.GetVerifyPackagePostRequestForPackage(this, packageId, "1.0.0", UrlHelper.VerifyUploadPageUrl, Constants.ReadOnlyModeError, 503); yield return verifyUploadPostRequest; verifyUploadPostRequest = null; } else { 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 = PackageCreationHelper.CreatePackage(packageId); WebTestRequest uploadPostRequest = AssertAndValidationHelper.GetUploadPostRequestForPackage(this, packageFullPath); 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 = AssertAndValidationHelper.GetVerifyPackagePostRequestForPackage(this, packageId, "1.0.0", UrlHelper.GetPackagePageUrl(packageId, "1.0.0"), packageId); yield return verifyUploadPostRequest; verifyUploadPostRequest = null; } } }
public void TestExtractHiddenFields() { WebTestRequest request = new WebTestRequest("http://www.vehix.com/"); ExtractHiddenFields extractionRule1 = new ExtractHiddenFields(); request.ExtractValues += new WebTestRequest.ExtractionEventHandler(extractionRule1.Extract); request.Execute(); Assert.IsNotNull(request.Context["sclient"]); }
public override IEnumerator<WebTestRequest> GetRequestEnumerator() { WebTestRequest uploadPackageRequest = new WebTestRequest(Utilities.BaseUrl + Constants.UploadPageUrlSuffix); uploadPackageRequest.ExpectedResponseUrl = Utilities.BaseUrl + "Users/Account/LogOn?ReturnUrl=%2fpackages%2fupload"; if ((this.Context.ValidationLevel >= Microsoft.VisualStudio.TestTools.WebTesting.ValidationLevel.High)) { ValidateHtmlTagInnerText logOnFormValidationRule = ValidationRuleHelper.GetValidationRuleForHtmlTagInnerText(HtmlTextWriterTag.Label.ToString(), HtmlTextWriterAttribute.For.ToString(), Constants.UserNameOrEmailFormField, "Username or Email"); uploadPackageRequest.ValidateResponse += new EventHandler<ValidationEventArgs>(logOnFormValidationRule.Validate); } yield return uploadPackageRequest; uploadPackageRequest = null; }
private WebTestRequest CreateRequest(string url, string id, string method, int expectedStatus, IHttpBody body = null) { var table = url.Contains("v1") ? "v1crud" : "crud"; var request = new WebTestRequest(url + "tables/" + table + "/" + id) { Timeout = 5, Method = method, Encoding = Encoding.GetEncoding("utf-8"), ExpectedHttpStatusCode = expectedStatus, Body = body }; request.Headers.Add("x-zumo-application", "EHRkCHqMqEhibaRxeSCyzXcmEUVThd11"); return request; }
public override IEnumerator<WebTestRequest> GetRequestEnumerator() { //send a request to home page and check for default home page text. WebTestRequest homePageRequest = new WebTestRequest(Utilities.BaseUrl); WebTestRequest request1Dependent1 = new WebTestRequest(Utilities.BaseUrl + Constants.StatsPageUrlSuffix); homePageRequest.DependentRequests.Add(request1Dependent1); if ((this.Context.ValidationLevel >= Microsoft.VisualStudio.TestTools.WebTesting.ValidationLevel.High)) { ValidationRuleFindText homePageTextValidationRule = ValidationRuleHelper.GetValidationRuleForFindText(Constants.HomePageText); homePageRequest.ValidateResponse += new EventHandler<ValidationEventArgs>(homePageTextValidationRule.Validate); } yield return homePageRequest; homePageRequest = null; }
public override IEnumerator<WebTestRequest> GetRequestEnumerator() { //send a request to home page and check for default home page text. WebTestRequest pageRequest = new WebTestRequest(UrlHelper.BaseUrl); ValidationRuleFindText homePageTextValidationRuleLogo = AssertAndValidationHelper.GetValidationRuleForFindText(@"<a href=""http://outercurve.org""><img src=""/Content/Logos/outercurve.png"" alt=""Outercurve Foundation"" /></a>"); ValidationRuleFindText homePageTextValidationRuleCopyright = AssertAndValidationHelper.GetValidationRuleForFindText(@"© 2014 Outercurve Foundation"); ValidationRuleFindText homePageTextValidationRuleTOU = AssertAndValidationHelper.GetValidationRuleForFindText(@"<a href=""/policies/Terms"">Terms of Use</a>"); ValidationRuleFindText homePageTextValidationRulePrivacy = AssertAndValidationHelper.GetValidationRuleForFindText(@"<a href=""/policies/Privacy"">Privacy Policy</a>"); pageRequest.ValidateResponse += new EventHandler<ValidationEventArgs>(homePageTextValidationRuleLogo.Validate); pageRequest.ValidateResponse += new EventHandler<ValidationEventArgs>(homePageTextValidationRuleCopyright.Validate); pageRequest.ValidateResponse += new EventHandler<ValidationEventArgs>(homePageTextValidationRuleTOU.Validate); pageRequest.ValidateResponse += new EventHandler<ValidationEventArgs>(homePageTextValidationRulePrivacy.Validate); yield return pageRequest; pageRequest = null; }
public override IEnumerator<WebTestRequest> GetRequestEnumerator() { var statsPageRequest = new WebTestRequest(UrlHelper.StatsPageUrl); // Checks for the presence of a link to jquery package. It is harded to Jquery for now as there is no API exposed for stats // and also Jquery is going to be one of the top 10 for now. var jQueryPackageValidationRule = AssertAndValidationHelper.GetValidationRuleForHtmlTagInnerText(HtmlTextWriterTag.A.ToString(), HtmlTextWriterAttribute.Href.ToString(), "/packages/EntityFramework/", "EntityFramework"); statsPageRequest.ValidateResponse += jQueryPackageValidationRule.Validate; // Validation rule to check for the default text in stats page. var statsPageDefaultTextValidationRule = AssertAndValidationHelper.GetValidationRuleForFindText(Constants.StatsPageDefaultText); statsPageRequest.ValidateResponse += statsPageDefaultTextValidationRule.Validate; yield return statsPageRequest; }
public override IEnumerator<WebTestRequest> GetRequestEnumerator() { //send a request to home page and check for default home page text. var pageRequest = new WebTestRequest(UrlHelper.BaseUrl); var homePageTextValidationRuleLogo = AssertAndValidationHelper.GetValidationRuleForFindText(@"<a title="".NET Foundation"" href=""http://www.dotnetfoundation.org""><img src=""/Content/Logos/dnf.png"" alt="".NET Foundation"" /></a>"); var homePageTextValidationRuleCopyright = AssertAndValidationHelper.GetValidationRuleForFindText(@"© " + DateTime.UtcNow.Year + " .NET Foundation"); var homePageTextValidationRuleTOU = AssertAndValidationHelper.GetValidationRuleForFindText(@"<a href=""/policies/Terms"">Terms of Use</a>"); var homePageTextValidationRulePrivacy = AssertAndValidationHelper.GetValidationRuleForFindText(@"<a href=""/policies/Privacy"">Privacy Policy</a>"); pageRequest.ValidateResponse += homePageTextValidationRuleLogo.Validate; pageRequest.ValidateResponse += homePageTextValidationRuleCopyright.Validate; pageRequest.ValidateResponse += homePageTextValidationRuleTOU.Validate; pageRequest.ValidateResponse += homePageTextValidationRulePrivacy.Validate; yield return pageRequest; }
public override IEnumerator<WebTestRequest> GetRequestEnumerator() { WebTestRequest statsPageRequest = new WebTestRequest(UrlHelper.StatsPageUrl); //Checks for the prescene of a link to jqeury package. It is harded to Jquery for now as there is no API exposed for stats //and also Jquery is going to be one of the top 10 for now. ValidateHtmlTagInnerText jQueryPackageValidationRule = AssertAndValidationHelper.GetValidationRuleForHtmlTagInnerText(HtmlTextWriterTag.A.ToString(), HtmlTextWriterAttribute.Href.ToString(), "/packages/jQuery/", "jQuery"); statsPageRequest.ValidateResponse += new EventHandler<ValidationEventArgs>(jQueryPackageValidationRule.Validate); //validation rule to check for the default text in stats page. ValidationRuleFindText StatsPageDefaultTextValidationRule = AssertAndValidationHelper.GetValidationRuleForFindText(Constants.StatsPageDefaultText); statsPageRequest.ValidateResponse += new EventHandler<ValidationEventArgs>(StatsPageDefaultTextValidationRule.Validate); yield return statsPageRequest; statsPageRequest = 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); } WebTestRequest request1 = new WebTestRequest("http://google.com/"); request1.ExpectedResponseUrl = "https://www.google.co.in/?gfe_rd=cr&dcr=0&ei=U2auWcSrOYbj8wfahrugCg&gws_rd=ssl"; ExtractHiddenFields extractionRule1 = new ExtractHiddenFields(); extractionRule1.Required = true; extractionRule1.HtmlDecode = true; extractionRule1.ContextParameterName = "1"; request1.ExtractValues += new EventHandler <ExtractionEventArgs>(extractionRule1.Extract); ExtractText extractionRule2 = new ExtractText(); extractionRule2.StartsWith = "&atyp="; extractionRule2.EndsWith = "&"; extractionRule2.Index = 0; extractionRule2.IgnoreCase = false; extractionRule2.UseRegularExpression = false; extractionRule2.HtmlDecode = true; extractionRule2.Required = false; extractionRule2.ContextParameterName = "QueryStringParam2414.atyp"; request1.ExtractValues += new EventHandler <ExtractionEventArgs>(extractionRule2.Extract); ExtractText extractionRule3 = new ExtractText(); extractionRule3.StartsWith = "?hl="; extractionRule3.EndsWith = "\""; extractionRule3.Index = 3; extractionRule3.IgnoreCase = false; extractionRule3.UseRegularExpression = false; extractionRule3.HtmlDecode = true; extractionRule3.Required = false; extractionRule3.ContextParameterName = "QueryStringParam2536.hl"; request1.ExtractValues += new EventHandler <ExtractionEventArgs>(extractionRule3.Extract); ExtractText extractionRule4 = new ExtractText(); extractionRule4.StartsWith = "?hl="; extractionRule4.EndsWith = "\""; extractionRule4.Index = 3; extractionRule4.IgnoreCase = false; extractionRule4.UseRegularExpression = false; extractionRule4.HtmlDecode = true; extractionRule4.Required = false; extractionRule4.ContextParameterName = "QueryStringParam2621.hl"; request1.ExtractValues += new EventHandler <ExtractionEventArgs>(extractionRule4.Extract); ExtractText extractionRule5 = new ExtractText(); extractionRule5.StartsWith = "?hl="; extractionRule5.EndsWith = "\""; extractionRule5.Index = 3; extractionRule5.IgnoreCase = false; extractionRule5.UseRegularExpression = false; extractionRule5.HtmlDecode = true; extractionRule5.Required = false; extractionRule5.ContextParameterName = "QueryStringParam2706.hl"; request1.ExtractValues += new EventHandler <ExtractionEventArgs>(extractionRule5.Extract); yield return(request1); request1 = null; }
public override IEnumerator <WebTestRequest> GetRequestEnumerator() { MyMethod(); WebTestRequest request1 = new WebTestRequest("http://autotests.pmf2-gos.pmpractice.ru/asyst/page/ktchart"); 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/ktchart")); FormPostHttpBody request1Dependent1Body = new FormPostHttpBody(); request1Dependent1Body.FormPostParameters.Add("", "{\"page\":\"http://autotests.pmf2-gos.pmpractice.ru/asyst/page/ktchart\",\"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/ktChart/LEFTMENU_da" + "ta"); 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/ktchart")); 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/api/admin/getZimbarList"); 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/ktchart")); 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/file/getFilesInfo/"); 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/ktchart")); FormPostHttpBody request1Dependent4Body = new FormPostHttpBody(); request1Dependent4Body.FormPostParameters.Add("", "{\"classname\":\"User\",\"id\":100060}"); request1Dependent4.Body = request1Dependent4Body; request1.DependentRequests.Add(request1Dependent4); WebTestRequest request1Dependent5 = new WebTestRequest("http://autotests.pmf2-gos.pmpractice.ru/asyst/api/dataset/foresightTour"); 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/ktchart")); FormPostHttpBody request1Dependent5Body = new FormPostHttpBody(); request1Dependent5Body.FormPostParameters.Add("", "{\"UserLang\":\"RU\"}"); request1Dependent5.Body = request1Dependent5Body; request1.DependentRequests.Add(request1Dependent5); WebTestRequest request1Dependent6 = new WebTestRequest("http://autotests.pmf2-gos.pmpractice.ru/asyst/api/board"); 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/ktchart")); request1Dependent6.QueryStringParameters.Add("", "{+%22action%22+:+%22checkUnread%22}", false, false); request1Dependent6.QueryStringParameters.Add("_", "1551364348173", false, false); request1.DependentRequests.Add(request1Dependent6); WebTestRequest request1Dependent7 = new WebTestRequest("http://autotests.pmf2-gos.pmpractice.ru/asyst/api/dataset/ktChartData"); request1Dependent7.Method = "POST"; 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/ktchart")); FormPostHttpBody request1Dependent7Body = new FormPostHttpBody(); request1Dependent7Body.FormPostParameters.Add("", "{\"UserLang\":\"RU\"}"); request1Dependent7.Body = request1Dependent7Body; request1.DependentRequests.Add(request1Dependent7); yield return(request1); request1 = null; }
public IEnumerator <WebTestRequest> GetRequestEnumerator(TwinfieldDBTenant DBTenant, string userDictionaryKey, WebTestRequestPlugin objPlugin) { var WebBTPrefix = TwinfieldScenarioPrefix.DM_ + 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.DocumentManagement); 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_DocumentManagement_UserData(Convert.ToInt32(virtualuserId), threadData, DBTenant); Logger.WriteGeneralLogUser(TwinfieldScenarioName.DocumentManagement + " : " + DBTenant + " : LoggedIn : " + virtualuserId); } catch (Exception ex) { Logger.WriteGeneralLog("Input Data not fetched for:" + TwinfieldScenarioName.DocumentManagement); throw new Exception("Error in reading data for " + TwinfieldScenarioName.DocumentManagement + " : " + 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_DocumentManagement_UserData(Convert.ToInt32(virtualuserId), threadData, DBTenant); //Logger.WriteGeneralLog("Create Invoice : Vuser - " + Convert.ToInt32(virtualuserId).ToString() + " Logged In"); } else { try { threadData = CustomDS.Instance.Get_DocumentManagement_UserData(Convert.ToInt32(virtualuserId), DBTenant); Logger.WriteGeneralLogUser(TwinfieldScenarioName.DocumentManagement + " : " + DBTenant + " : NotLoggedIn : " + virtualuserId); } catch (Exception ex) { Logger.WriteGeneralLog("Input Data not saved for :" + TwinfieldScenarioName.DocumentManagement); throw new Exception("Error in getting data for " + TwinfieldScenarioName.DocumentManagement + " : " + ex.Message); } } #endregion DoLogin OfficeManagementID = threadData._textContext["OfficeMgtID"].ToString(); WebBTPrefix = threadData.ScenarioPrefix; string WebRequestPrefix = ""; Thread.Sleep(2000); #region DM_GoToVAT webTest.BeginTransaction(WebBTPrefix + "GoToVAT"); WebRequestPrefix = "GTV_"; webTest.BeginTransaction(WebRequestPrefix + "UI"); WebTestRequest request181 = new WebTestRequest((webTest.Context["AccountingURL"].ToString() + "/UI/")); request181.ExpectedResponseUrl = (webTest.Context["AccountingURL"].ToString() + "/UI/#/Tax"); yield return(request181); request181 = null; webTest.EndTransaction(WebRequestPrefix + "UI"); webTest.BeginTransaction(WebRequestPrefix + "en-GB_tax_tax.html"); WebTestRequest request182 = new WebTestRequest((webTest.Context["TwfcndURL"].ToString() + "/" + threadData.BuildVersion + "/en-GB/tax/tax.html")); request182.Headers.Add(new WebTestRequestHeader("Accept", "application/json, text/plain, */*;version=latest")); request182.Headers.Add(new WebTestRequestHeader("Referer", (webTest.Context["AccountingURL"].ToString() + "/UI/"))); yield return(request182); request182 = null; webTest.EndTransaction(WebRequestPrefix + "en-GB_tax_tax.html"); webTest.BeginTransaction(WebRequestPrefix + "framework_desktop_view_cr-basic-group-tile.html"); WebTestRequest request183 = new WebTestRequest((webTest.Context["TwfcndURL"].ToString() + "/" + threadData.BuildVersion + "/en-GB/_components/framework/desktop/view/cr-basic-group-tile.html")); request183.Headers.Add(new WebTestRequestHeader("Accept", "application/json, text/plain, */*;version=latest")); request183.Headers.Add(new WebTestRequestHeader("Referer", (webTest.Context["AccountingURL"].ToString() + "/UI/"))); yield return(request183); request183 = null; webTest.EndTransaction(WebRequestPrefix + "framework_desktop_view_cr-basic-group-tile.html"); webTest.BeginTransaction(WebRequestPrefix + "desktop_view_cr-dashboard-sub-section-tile.htm"); WebTestRequest request184 = new WebTestRequest((webTest.Context["TwfcndURL"].ToString() + "/" + threadData.BuildVersion + "/en-GB/_components/framework/desktop/view/cr-dashboard-sub-section-tile.htm" + "l")); request184.Headers.Add(new WebTestRequestHeader("Accept", "application/json, text/plain, */*;version=latest")); request184.Headers.Add(new WebTestRequestHeader("Referer", (webTest.Context["AccountingURL"].ToString() + "/UI/"))); yield return(request184); request184 = null; webTest.EndTransaction(WebRequestPrefix + "desktop_view_cr-dashboard-sub-section-tile.htm"); webTest.BeginTransaction(WebRequestPrefix + "framework_desktop_view_cr-links-tile.html"); WebTestRequest request185 = new WebTestRequest((webTest.Context["TwfcndURL"].ToString() + "/" + threadData.BuildVersion + "/en-GB/_components/framework/desktop/view/cr-links-tile.html")); request185.Headers.Add(new WebTestRequestHeader("Accept", "application/json, text/plain, */*;version=latest")); request185.Headers.Add(new WebTestRequestHeader("Referer", (webTest.Context["AccountingURL"].ToString() + "/UI/"))); yield return(request185); request185 = null; webTest.EndTransaction(WebRequestPrefix + "framework_desktop_view_cr-links-tile.html"); webTest.BeginTransaction(WebRequestPrefix + "api_tasks_1"); WebTestRequest request186 = new WebTestRequest((webTest.Context["AccountingURL"].ToString() + "/api/tasks")); request186.Headers.Add(new WebTestRequestHeader("Accept", "application/vnd.twinfield+json;version=latest")); request186.Headers.Add(new WebTestRequestHeader("Referer", (webTest.Context["AccountingURL"].ToString() + "/UI/"))); yield return(request186); request186 = null; webTest.EndTransaction(WebRequestPrefix + "api_tasks_1"); webTest.EndTransaction(WebBTPrefix + "GoToVAT"); #endregion Thread.Sleep(2000); #region DM_GoToDocumentManagement webTest.BeginTransaction(WebBTPrefix + "GoToDocumentManagement"); WebRequestPrefix = "GTDM_"; webTest.BeginTransaction(WebRequestPrefix + "en-GB_home_classic_classic.html"); WebTestRequest request188 = new WebTestRequest((webTest.Context["TwfcndURL"].ToString() + "/" + threadData.BuildVersion + "/en-GB/home/classic/classic.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 + "en-GB_home_classic_classic.html"); webTest.BeginTransaction(WebRequestPrefix + "documentmanagement_default.aspx"); WebTestRequest request189 = new WebTestRequest((webTest.Context["AccountingURL"].ToString() + "/documentmanagement/default.aspx")); request189.Headers.Add(new WebTestRequestHeader("Referer", (webTest.Context["AccountingURL"].ToString() + "/UI/"))); ExtractHiddenFields extractionRule3 = new ExtractHiddenFields(); extractionRule3.Required = true; extractionRule3.HtmlDecode = true; extractionRule3.ContextParameterName = "1"; request189.ExtractValues += new EventHandler <ExtractionEventArgs>(extractionRule3.Extract); ExtractText extraction29 = new ExtractText(); extraction29.StartsWith = "<INPUT TYPE=\"hidden\" NAME=\"hdnfilters\" ID=\"hdnfilters\" VALUE=\""; extraction29.EndsWith = "\">"; extraction29.IgnoreCase = false; extraction29.UseRegularExpression = false; extraction29.Required = true; extraction29.ExtractRandomMatch = false; extraction29.Index = 0; extraction29.HtmlDecode = true; extraction29.SearchInHeaders = false; extraction29.ContextParameterName = "cor_hdnfilters"; request189.ExtractValues += new EventHandler <ExtractionEventArgs>(extraction29.Extract); ExtractText extraction30 = new ExtractText(); extraction30.StartsWith = "<INPUT TYPE=\"hidden\" NAME=\"hdnfilters\" ID=\"hdnfilters\" VALUE=\""; extraction30.EndsWith = "\">"; extraction30.IgnoreCase = false; extraction30.UseRegularExpression = false; extraction30.Required = true; extraction30.ExtractRandomMatch = false; extraction30.Index = 0; extraction30.HtmlDecode = true; extraction30.SearchInHeaders = false; extraction30.ContextParameterName = "cor_hdnDocument"; request189.ExtractValues += new EventHandler <ExtractionEventArgs>(extraction30.Extract); ExtractText extraction31 = new ExtractText(); extraction31.StartsWith = "<INPUT TYPE=\"hidden\" NAME=\"hdnfilters\" ID=\"hdnfilters\" VALUE=\""; extraction31.EndsWith = "\">"; extraction31.IgnoreCase = false; extraction31.UseRegularExpression = false; extraction31.Required = true; extraction31.ExtractRandomMatch = false; extraction31.Index = 0; extraction31.HtmlDecode = true; extraction31.SearchInHeaders = false; extraction31.ContextParameterName = "cor_hdnDocuments"; request189.ExtractValues += new EventHandler <ExtractionEventArgs>(extraction31.Extract); ExtractText extraction32 = new ExtractText(); extraction32.StartsWith = "<INPUT TYPE=\"hidden\" NAME=\"hdnfilters\" ID=\"hdnfilters\" VALUE=\""; extraction32.EndsWith = "\">"; extraction32.IgnoreCase = false; extraction32.UseRegularExpression = false; extraction32.Required = true; extraction32.ExtractRandomMatch = false; extraction32.Index = 0; extraction32.HtmlDecode = true; extraction32.SearchInHeaders = false; extraction32.ContextParameterName = "cor_hdnUpdatedTransitions"; request189.ExtractValues += new EventHandler <ExtractionEventArgs>(extraction32.Extract); yield return(request189); request189 = null; webTest.EndTransaction(WebRequestPrefix + "documentmanagement_default.aspx"); webTest.BeginTransaction(WebRequestPrefix + "api_tasks_2"); WebTestRequest request190 = new WebTestRequest((webTest.Context["AccountingURL"].ToString() + "/api/tasks")); request190.Headers.Add(new WebTestRequestHeader("Accept", "application/vnd.twinfield+json;version=latest")); request190.Headers.Add(new WebTestRequestHeader("Referer", (webTest.Context["AccountingURL"].ToString() + "/UI/"))); yield return(request190); request190 = null; webTest.EndTransaction(WebRequestPrefix + "api_tasks_2"); webTest.EndTransaction(WebBTPrefix + "GoToDocumentManagement"); #endregion Thread.Sleep(2000); #region DM_ClickResetFilters webTest.BeginTransaction(WebBTPrefix + "ClickResetFilters"); WebRequestPrefix = "CRF_"; webTest.BeginTransaction(WebRequestPrefix + "documentmanagement_default.aspx_1"); WebTestRequest request192 = new WebTestRequest((webTest.Context["AccountingURL"].ToString() + "/documentmanagement/default.aspx")); request192.Method = "POST"; FormPostHttpBody request192Body = new FormPostHttpBody(); request192Body.FormPostParameters.Add("hdnSelectedDocuments", "[]"); request192Body.FormPostParameters.Add("hdnfilters", webTest.Context["cor_hdnfilters"].ToString()); request192Body.FormPostParameters.Add("hdnDocument", webTest.Context["cor_hdnDocument"].ToString()); request192Body.FormPostParameters.Add("hdnDocuments", webTest.Context["cor_hdnDocuments"].ToString()); request192Body.FormPostParameters.Add("hdnUpdatedTransitions", webTest.Context["cor_hdnUpdatedTransitions"].ToString()); request192.Body = request192Body; //WebTestRequest request192Dependent1 = new WebTestRequest((webTest.Context["AccountingURL"].ToString() + "/documentmanagement/default.aspx")); //request192Dependent1.Method = "POST"; //request192Dependent1.Headers.Add(new WebTestRequestHeader("Referer", (webTest.Context["AccountingURL"].ToString() + "/documentmanagement/default.aspx"))); //FormPostHttpBody request192Dependent1Body = new FormPostHttpBody(); //request192Dependent1Body.FormPostParameters.Add("hdnSelectedDocuments", "[]"); //request192Dependent1Body.FormPostParameters.Add("hdnfilters", webTest.Context["$HIDDEN1.hdnfilters"].ToString()); //request192Dependent1Body.FormPostParameters.Add("hdnDocument", webTest.Context["$HIDDEN1.hdnDocument"].ToString()); //request192Dependent1Body.FormPostParameters.Add("hdnDocuments", webTest.Context["$HIDDEN1.hdnDocuments"].ToString()); //request192Dependent1Body.FormPostParameters.Add("hdnUpdatedTransitions", webTest.Context["$HIDDEN1.hdnUpdatedTransitions"].ToString()); //request192Dependent1.Body = request192Dependent1Body; //request192.DependentRequests.Add(request192Dependent1); ExtractText extraction2 = new ExtractText(); extraction2.StartsWith = "{\"sSearch\":\""; extraction2.EndsWith = "\"},\"oLanguage\""; extraction2.IgnoreCase = false; extraction2.UseRegularExpression = false; extraction2.Required = true; extraction2.ExtractRandomMatch = false; extraction2.Index = 0; extraction2.HtmlDecode = true; extraction2.SearchInHeaders = false; extraction2.ContextParameterName = "cor_sSearch"; request192.ExtractValues += new EventHandler <ExtractionEventArgs>(extraction2.Extract); ExtractText extraction23 = new ExtractText(); extraction23.StartsWith = "'; availableTransitions = "; extraction23.EndsWith = ";"; extraction23.IgnoreCase = false; extraction23.UseRegularExpression = false; extraction23.Required = true; extraction23.ExtractRandomMatch = false; extraction23.Index = 0; extraction23.HtmlDecode = true; extraction23.SearchInHeaders = false; extraction23.ContextParameterName = "cor_AVLTransitions"; request192.ExtractValues += new EventHandler <ExtractionEventArgs>(extraction23.Extract); yield return(request192); request192 = null; webTest.EndTransaction(WebRequestPrefix + "documentmanagement_default.aspx_1"); webTest.EndTransaction(WebBTPrefix + "ClickResetFilters"); #endregion Thread.Sleep(2000); #region DM_ClickCheckStatus01 webTest.BeginTransaction(WebBTPrefix + "ClickCheckStatus01"); WebRequestPrefix = "CCS1_"; webTest.BeginTransaction(WebRequestPrefix + "documentmanagement_documentsdata.aspx"); WebTestRequest request194 = new WebTestRequest((webTest.Context["AccountingURL"].ToString() + "/documentmanagement/documentsdata.aspx")); request194.Method = "POST"; request194.Headers.Add(new WebTestRequestHeader("Referer", (webTest.Context["AccountingURL"].ToString() + "/documentmanagement/default.aspx"))); FormPostHttpBody request194Body = new FormPostHttpBody(); request194Body.FormPostParameters.Add("requestType", "checkStatus"); request194.Body = request194Body; yield return(request194); request194 = null; webTest.EndTransaction(WebRequestPrefix + "documentmanagement_documentsdata.aspx"); webTest.EndTransaction(WebBTPrefix + "ClickCheckStatus01"); #endregion Thread.Sleep(2000); string str = webTest.Context["cor_sSearch"].ToString().Replace("\\\"", "\""); List <Class1> ssearchobject = JsonConvert.DeserializeObject <List <Class1> >(str); ssearchobject.Where(w => w.name == "year").Select(w => w.options.Random()._checked = true).ToList(); string sSearchBodyString = JsonConvert.SerializeObject(ssearchobject); sSearchBodyString = sSearchBodyString.Replace("_checked", "checked"); #region DM_AddFilter webTest.BeginTransaction(WebBTPrefix + "AddFilter"); WebRequestPrefix = "AF_"; webTest.BeginTransaction(WebRequestPrefix + "documentmanagement_documentsdata.aspx_1"); WebTestRequest request196 = new WebTestRequest((webTest.Context["AccountingURL"].ToString() + "/documentmanagement/documentsdata.aspx")); request196.Method = "POST"; request196.Headers.Add(new WebTestRequestHeader("Accept", "application/json, text/javascript, */*; q=0.01")); request196.Headers.Add(new WebTestRequestHeader("X-Requested-With", "XMLHttpRequest")); request196.Headers.Add(new WebTestRequestHeader("Referer", (webTest.Context["AccountingURL"].ToString() + "/documentmanagement/default.aspx"))); FormPostHttpBody request196Body = new FormPostHttpBody(); request196Body.FormPostParameters.Add("sEcho", "2"); request196Body.FormPostParameters.Add("iColumns", "14"); request196Body.FormPostParameters.Add("sColumns", "checkbox,delete,name,type,office,period,status,assignee,actions,id,workflowId,transitions,extrainfo,exclamation"); request196Body.FormPostParameters.Add("iDisplayStart", "0"); request196Body.FormPostParameters.Add("iDisplayLength", "100"); request196Body.FormPostParameters.Add("mDataProp_0", "0"); request196Body.FormPostParameters.Add("mDataProp_1", "1"); request196Body.FormPostParameters.Add("mDataProp_2", "2"); request196Body.FormPostParameters.Add("mDataProp_3", "3"); request196Body.FormPostParameters.Add("mDataProp_4", "4"); request196Body.FormPostParameters.Add("mDataProp_5", "5"); request196Body.FormPostParameters.Add("mDataProp_6", "6"); request196Body.FormPostParameters.Add("mDataProp_7", "7"); request196Body.FormPostParameters.Add("mDataProp_8", "8"); request196Body.FormPostParameters.Add("mDataProp_9", "9"); request196Body.FormPostParameters.Add("mDataProp_10", "10"); request196Body.FormPostParameters.Add("mDataProp_11", "11"); request196Body.FormPostParameters.Add("mDataProp_12", "12"); request196Body.FormPostParameters.Add("mDataProp_13", "13"); request196Body.FormPostParameters.Add("sSearch", sSearchBodyString, true);// webTest.Context["cor_sSearch"].ToString(),true); request196Body.FormPostParameters.Add("bRegex", "false"); request196Body.FormPostParameters.Add("sSearch_0", ""); request196Body.FormPostParameters.Add("bRegex_0", "false"); request196Body.FormPostParameters.Add("bSearchable_0", "true"); request196Body.FormPostParameters.Add("sSearch_1", ""); request196Body.FormPostParameters.Add("bRegex_1", "false"); request196Body.FormPostParameters.Add("bSearchable_1", "true"); request196Body.FormPostParameters.Add("sSearch_2", ""); request196Body.FormPostParameters.Add("bRegex_2", "false"); request196Body.FormPostParameters.Add("bSearchable_2", "true"); request196Body.FormPostParameters.Add("sSearch_3", ""); request196Body.FormPostParameters.Add("bRegex_3", "false"); request196Body.FormPostParameters.Add("bSearchable_3", "true"); request196Body.FormPostParameters.Add("sSearch_4", ""); request196Body.FormPostParameters.Add("bRegex_4", "false"); request196Body.FormPostParameters.Add("bSearchable_4", "true"); request196Body.FormPostParameters.Add("sSearch_5", ""); request196Body.FormPostParameters.Add("bRegex_5", "false"); request196Body.FormPostParameters.Add("bSearchable_5", "true"); request196Body.FormPostParameters.Add("sSearch_6", ""); request196Body.FormPostParameters.Add("bRegex_6", "false"); request196Body.FormPostParameters.Add("bSearchable_6", "true"); request196Body.FormPostParameters.Add("sSearch_7", ""); request196Body.FormPostParameters.Add("bRegex_7", "false"); request196Body.FormPostParameters.Add("bSearchable_7", "true"); request196Body.FormPostParameters.Add("sSearch_8", ""); request196Body.FormPostParameters.Add("bRegex_8", "false"); request196Body.FormPostParameters.Add("bSearchable_8", "true"); request196Body.FormPostParameters.Add("sSearch_9", ""); request196Body.FormPostParameters.Add("bRegex_9", "false"); request196Body.FormPostParameters.Add("bSearchable_9", "true"); request196Body.FormPostParameters.Add("sSearch_10", ""); request196Body.FormPostParameters.Add("bRegex_10", "false"); request196Body.FormPostParameters.Add("bSearchable_10", "true"); request196Body.FormPostParameters.Add("sSearch_11", ""); request196Body.FormPostParameters.Add("bRegex_11", "false"); request196Body.FormPostParameters.Add("bSearchable_11", "true"); request196Body.FormPostParameters.Add("sSearch_12", ""); request196Body.FormPostParameters.Add("bRegex_12", "false"); request196Body.FormPostParameters.Add("bSearchable_12", "true"); request196Body.FormPostParameters.Add("sSearch_13", ""); request196Body.FormPostParameters.Add("bRegex_13", "false"); request196Body.FormPostParameters.Add("bSearchable_13", "true"); request196Body.FormPostParameters.Add("iSortingCols", "0"); request196Body.FormPostParameters.Add("bSortable_0", "false"); request196Body.FormPostParameters.Add("bSortable_1", "false"); request196Body.FormPostParameters.Add("bSortable_2", "false"); request196Body.FormPostParameters.Add("bSortable_3", "true"); request196Body.FormPostParameters.Add("bSortable_4", "true"); request196Body.FormPostParameters.Add("bSortable_5", "true"); request196Body.FormPostParameters.Add("bSortable_6", "true"); request196Body.FormPostParameters.Add("bSortable_7", "true"); request196Body.FormPostParameters.Add("bSortable_8", "false"); request196Body.FormPostParameters.Add("bSortable_9", "false"); request196Body.FormPostParameters.Add("bSortable_10", "false"); request196Body.FormPostParameters.Add("bSortable_11", "false"); request196Body.FormPostParameters.Add("bSortable_12", "false"); request196Body.FormPostParameters.Add("bSortable_13", "false"); request196Body.FormPostParameters.Add("filterChanged", "year"); request196Body.FormPostParameters.Add("pageCulture", "en-GB"); request196Body.FormPostParameters.Add("selectedDocumentIds", "[]"); request196Body.FormPostParameters.Add("availableTransitions", webTest.Context["cor_AVLTransitions"].ToString()); request196.Body = request196Body; yield return(request196); request196 = null; webTest.EndTransaction(WebRequestPrefix + "documentmanagement_documentsdata.aspx_1"); webTest.EndTransaction(WebBTPrefix + "AddFilter"); #endregion Thread.Sleep(2000); #region DM_ClickCheckStatus02 webTest.BeginTransaction(WebBTPrefix + "ClickCheckStatus02"); WebRequestPrefix = "CCS2_"; webTest.BeginTransaction(WebRequestPrefix + "documentmanagement_documentsdata.aspx_2"); WebTestRequest request197 = new WebTestRequest((webTest.Context["AccountingURL"].ToString() + "/documentmanagement/documentsdata.aspx")); request197.Method = "POST"; request197.Headers.Add(new WebTestRequestHeader("Referer", (webTest.Context["AccountingURL"].ToString() + "/documentmanagement/default.aspx"))); FormPostHttpBody request197Body = new FormPostHttpBody(); request197Body.FormPostParameters.Add("requestType", "checkStatus"); request197.Body = request197Body; yield return(request197); request197 = null; webTest.EndTransaction(WebRequestPrefix + "documentmanagement_documentsdata.aspx_2"); webTest.EndTransaction(WebBTPrefix + "ClickCheckStatus02"); #endregion Thread.Sleep(2000); 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); } }
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); } WebTestRequest request1 = new WebTestRequest("http://localhost:13164/Photo/PhotoAlbumManager.aspx"); request1.ThinkTime = 5; request1.ExpectedResponseUrl = "http://localhost:13164/Login.aspx?ReturnUrl=%2fPhoto%2fPhotoAlbumManager.aspx"; 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("http://localhost:13164/Login.aspx"); request2.ThinkTime = 2; request2.Method = "POST"; request2.ExpectedResponseUrl = "http://localhost:13164/Photo/PhotoAlbumManager.aspx"; request2.QueryStringParameters.Add("ReturnUrl", "%2fPhoto%2fPhotoAlbumManager.aspx", false, false); FormPostHttpBody request2Body = new FormPostHttpBody(); request2Body.FormPostParameters.Add("__EVENTTARGET", this.Context["$HIDDEN1.__EVENTTARGET"].ToString()); request2Body.FormPostParameters.Add("__EVENTARGUMENT", this.Context["$HIDDEN1.__EVENTARGUMENT"].ToString()); request2Body.FormPostParameters.Add("__VIEWSTATE", this.Context["$HIDDEN1.__VIEWSTATE"].ToString()); request2Body.FormPostParameters.Add("__EVENTVALIDATION", this.Context["$HIDDEN1.__EVENTVALIDATION"].ToString()); request2Body.FormPostParameters.Add("Login1$UserName", "alkampfer"); request2Body.FormPostParameters.Add("Login1$Password", "12345"); request2Body.FormPostParameters.Add("Login1$LoginButton", "Log In"); request2.Body = request2Body; ExtractHiddenFields extractionRule2 = new ExtractHiddenFields(); extractionRule2.Required = true; extractionRule2.HtmlDecode = true; extractionRule2.ContextParameterName = "1"; request2.ExtractValues += new EventHandler <ExtractionEventArgs>(extractionRule2.Extract); ExtractAttributeValue extractionRule3 = new ExtractAttributeValue(); extractionRule3.TagName = "a"; extractionRule3.AttributeName = "href"; extractionRule3.MatchAttributeName = ""; extractionRule3.MatchAttributeValue = ""; extractionRule3.HtmlDecode = true; extractionRule3.Required = true; extractionRule3.Index = 0; extractionRule3.ContextParameterName = ""; extractionRule3.ContextParameterName = "Ext"; request2.ExtractValues += new EventHandler <ExtractionEventArgs>(extractionRule3.Extract); yield return(request2); //now we have finished request2 so we can access the context Assert.IsNotNull(this.Context["Ext"]); request2 = null; WebTestRequest request3 = new WebTestRequest("http://localhost:13164/Photo/PhotoAlbumManager.aspx"); request3.Method = "POST"; FormPostHttpBody request3Body = new FormPostHttpBody(); request3Body.FormPostParameters.Add("__EVENTTARGET", this.Context["$HIDDEN1.__EVENTTARGET"].ToString()); request3Body.FormPostParameters.Add("__EVENTARGUMENT", this.Context["$HIDDEN1.__EVENTARGUMENT"].ToString()); request3Body.FormPostParameters.Add("__VIEWSTATE", this.Context["$HIDDEN1.__VIEWSTATE"].ToString()); request3Body.FormPostParameters.Add("__VIEWSTATEENCRYPTED", this.Context["$HIDDEN1.__VIEWSTATEENCRYPTED"].ToString()); request3Body.FormPostParameters.Add("__EVENTVALIDATION", this.Context["$HIDDEN1.__EVENTVALIDATION"].ToString()); request3Body.FormPostParameters.Add("ctl00$ContentPlaceHolder1$PhotoAlbumManager1$grdPhotoAlbum$ctl04$Button1", "Select"); request3Body.FormPostParameters.Add("ctl00$ContentPlaceHolder1$PhotoAlbumManager1$txtNameForNewElement", ""); request3Body.FormPostParameters.Add("ctl00$ContentPlaceHolder1$PhotoAlbumManager1$txtdescriptionForNewElement", ""); request3.Body = request3Body; if ((this.Context.ValidationLevel >= Microsoft.VisualStudio.TestTools.WebTesting.ValidationLevel.High)) { ValidationRuleFindText validationRule2 = new ValidationRuleFindText(); validationRule2.FindText = "Gli occhietti si chiudono..!!!"; validationRule2.IgnoreCase = true; validationRule2.UseRegularExpression = false; validationRule2.PassIfTextFound = true; request3.ValidateResponse += new EventHandler <ValidationEventArgs>(validationRule2.Validate); } yield return(request3); request3 = null; }
public override IEnumerator <WebTestRequest> GetRequestEnumerator() { //Login with admin to create new course //this.UserName = Config.adminUser; //this.Password = Config.adminPass; WebTestRequest request1 = new WebTestRequest(this.siteURL + this.webURL + "/default.aspx"); yield return(request1); request1 = null; WebTestRequest request99 = new WebTestRequest(this.siteURL + this.webURL + "/Lists/TrainingCourses/NewForm.aspx"); ExtractHiddenFields extractionRule1 = new ExtractHiddenFields(); extractionRule1.Required = true; extractionRule1.HtmlDecode = true; extractionRule1.ContextParameterName = "1"; request99.ExtractValues += new EventHandler <ExtractionEventArgs>(extractionRule1.Extract); ExtractText extractionRule99 = new ExtractText(); extractionRule99.StartsWith = "ctl00_m_g_"; extractionRule99.EndsWith = "_ctl"; extractionRule99.IgnoreCase = false; extractionRule99.UseRegularExpression = true; extractionRule99.Required = true; extractionRule99.ExtractRandomMatch = false; extractionRule99.Index = 0; extractionRule99.HtmlDecode = true; extractionRule99.ContextParameterName = "guid"; request99.ExtractValues += new EventHandler <ExtractionEventArgs>(extractionRule99.Extract); yield return(request99); string guidPrefix = "ctl00$m$g_"; string guid = Context["guid"].ToString(); request99 = null; WebTestRequest request2 = new WebTestRequest(this.siteURL + this.webURL + "/Lists/TrainingCourses/NewForm.aspx"); request2.Method = "POST"; FormPostHttpBody request2Body = new FormPostHttpBody(); request2Body.FormPostParameters.Add("MSO_PageHashCode", this.Context["$HIDDEN1.MSO_PageHashCode"].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("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("__LASTFOCUS", this.Context["$HIDDEN1.__LASTFOCUS"].ToString()); request2Body.FormPostParameters.Add("__VIEWSTATE", this.Context["$HIDDEN1.__VIEWSTATE"].ToString()); request2Body.FormPostParameters.Add("__EVENTVALIDATION", this.Context["$HIDDEN1.__EVENTVALIDATION"].ToString()); request2Body.FormPostParameters.Add("InputKeywords", ""); request2Body.FormPostParameters.Add(guidPrefix + guid + "$ctl00$ctl04$ctl00$ctl00$ctl00$ctl0" + "4$ctl00$ctl00$TextField", ""); request2Body.FormPostParameters.Add(guidPrefix + guid + "$ctl00$ctl04$ctl01$ctl00$ctl00$ctl0" + "4$ctl00$ctl00$TextField", ""); request2Body.FormPostParameters.Add(guidPrefix + guid + "$ctl00$ctl04$ctl02$ctl00$ctl00$ctl0" + "4$ctl00$ctl00$TextField", "<div></div>"); request2Body.FormPostParameters.Add(guidPrefix + guid + "$ctl00$ctl04$ctl02$ctl00$ctl00$ctl0" + "4$ctl00$ctl00$TextField_spSave", "<DIV></DIV>"); request2Body.FormPostParameters.Add(guidPrefix + guid + "$ctl00$ctl04$ctl03$ctl00$ctl00$ctl0" + "4$ctl00$ctl00$DateTimeField$DateTimeFieldDate", ""); request2Body.FormPostParameters.Add(guidPrefix + guid + "$ctl00$ctl04$ctl04$ctl00$ctl00$ctl0" + "4$ctl00$ctl00$DateTimeField$DateTimeFieldDate", ""); request2Body.FormPostParameters.Add(guidPrefix + guid + "$ctl00$ctl04$ctl05$ctl00$ctl00$ctl0" + "4$ctl00$ctl00$DateTimeField$DateTimeFieldDate", ""); request2Body.FormPostParameters.Add(guidPrefix + guid + "$ctl00$ctl04$ctl06$ctl00$ctl00$ctl0" + "4$ctl00$ctl00$TextField", ""); request2Body.FormPostParameters.Add(guidPrefix + guid + "$ctl00$ctl07$ctl00$owshiddenversion" + "", this.Context["$HIDDEN1." + guidPrefix + guid + "$ctl00$ctl07$ctl00$owshidd" + "enversion"].ToString()); request2Body.FormPostParameters.Add("attachmentsToBeRemovedFromServer", this.Context["$HIDDEN1.attachmentsToBeRemovedFromServer"].ToString()); request2Body.FormPostParameters.Add("RectGifUrl", this.Context["$HIDDEN1.RectGifUrl"].ToString()); request2Body.FormPostParameters.Add("fileupload0", ""); request2Body.FormPostParameters.Add("__spDummyText1", ""); request2Body.FormPostParameters.Add("__spDummyText2", ""); request2Body.FormPostParameters.Add(guidPrefix + guid + "$ctl00$ctl04$ctl07$ctl00$ctl00$ctl0" + "4$ctl00$ctl03.x", "5"); request2Body.FormPostParameters.Add(guidPrefix + guid + "$ctl00$ctl04$ctl07$ctl00$ctl00$ctl0" + "4$ctl00$ctl03.y", "8"); request2.Body = request2Body; ExtractHiddenFields extractionRule2 = new ExtractHiddenFields(); extractionRule2.Required = true; extractionRule2.HtmlDecode = true; extractionRule2.ContextParameterName = "1"; request2.ExtractValues += new EventHandler <ExtractionEventArgs>(extractionRule2.Extract); yield return(request2); request2 = null; WebTestRequest request6 = new WebTestRequest(this.siteURL + this.webURL + "/Lists/TrainingCourses/NewForm.aspx"); request6.Method = "POST"; request6.ExpectedResponseUrl = this.siteURL + this.webURL + "/Lists/TrainingCourses/AllItems.aspx"; FormPostHttpBody request6Body = new FormPostHttpBody(); request6Body.FormPostParameters.Add("MSO_PageHashCode", this.Context["$HIDDEN1.MSO_PageHashCode"].ToString()); request6Body.FormPostParameters.Add("MSOWebPartPage_PostbackSource", this.Context["$HIDDEN1.MSOWebPartPage_PostbackSource"].ToString()); request6Body.FormPostParameters.Add("MSOTlPn_SelectedWpId", this.Context["$HIDDEN1.MSOTlPn_SelectedWpId"].ToString()); request6Body.FormPostParameters.Add("MSOTlPn_View", this.Context["$HIDDEN1.MSOTlPn_View"].ToString()); request6Body.FormPostParameters.Add("MSOTlPn_ShowSettings", this.Context["$HIDDEN1.MSOTlPn_ShowSettings"].ToString()); request6Body.FormPostParameters.Add("MSOGallery_SelectedLibrary", this.Context["$HIDDEN1.MSOGallery_SelectedLibrary"].ToString()); request6Body.FormPostParameters.Add("MSOGallery_FilterString", this.Context["$HIDDEN1.MSOGallery_FilterString"].ToString()); request6Body.FormPostParameters.Add("MSOTlPn_Button", this.Context["$HIDDEN1.MSOTlPn_Button"].ToString()); request6Body.FormPostParameters.Add("__EVENTTARGET", guidPrefix + guid + "$ctl00$toolBarTbl$RightRptControls$" + "ctl00$ctl00$diidIOSaveItem"); request6Body.FormPostParameters.Add("__EVENTARGUMENT", this.Context["$HIDDEN1.__EVENTARGUMENT"].ToString()); request6Body.FormPostParameters.Add("__REQUESTDIGEST", this.Context["$HIDDEN1.__REQUESTDIGEST"].ToString()); request6Body.FormPostParameters.Add("MSOSPWebPartManager_DisplayModeName", this.Context["$HIDDEN1.MSOSPWebPartManager_DisplayModeName"].ToString()); request6Body.FormPostParameters.Add("MSOWebPartPage_Shared", this.Context["$HIDDEN1.MSOWebPartPage_Shared"].ToString()); request6Body.FormPostParameters.Add("MSOLayout_LayoutChanges", this.Context["$HIDDEN1.MSOLayout_LayoutChanges"].ToString()); request6Body.FormPostParameters.Add("MSOLayout_InDesignMode", this.Context["$HIDDEN1.MSOLayout_InDesignMode"].ToString()); request6Body.FormPostParameters.Add("MSOSPWebPartManager_OldDisplayModeName", this.Context["$HIDDEN1.MSOSPWebPartManager_OldDisplayModeName"].ToString()); request6Body.FormPostParameters.Add("MSOSPWebPartManager_StartWebPartEditingName", this.Context["$HIDDEN1.MSOSPWebPartManager_StartWebPartEditingName"].ToString()); request6Body.FormPostParameters.Add("__VIEWSTATE", this.Context["$HIDDEN1.__VIEWSTATE"].ToString()); request6Body.FormPostParameters.Add("__EVENTVALIDATION", this.Context["$HIDDEN1.__EVENTVALIDATION"].ToString()); request6Body.FormPostParameters.Add("InputKeywords", ""); request6Body.FormPostParameters.Add(guidPrefix + guid + "$ctl00$ctl04$ctl00$ctl00$ctl00$ctl0" + "4$ctl00$ctl00$TextField", this.myCourseCode); request6Body.FormPostParameters.Add(guidPrefix + guid + "$ctl00$ctl04$ctl01$ctl00$ctl00$ctl0" + "4$ctl00$ctl00$TextField", this.myCourseCode); request6Body.FormPostParameters.Add(guidPrefix + guid + "$ctl00$ctl04$ctl02$ctl00$ctl00$ctl0" + "4$ctl00$ctl00$TextField", "<div></div>"); request6Body.FormPostParameters.Add(guidPrefix + guid + "$ctl00$ctl04$ctl02$ctl00$ctl00$ctl0" + "4$ctl00$ctl00$TextField_spSave", this.myCourseCode + "\r\n<DIV></DIV>"); request6Body.FormPostParameters.Add(guidPrefix + guid + "$ctl00$ctl04$ctl03$ctl00$ctl00$ctl0" + "4$ctl00$ctl00$DateTimeField$DateTimeFieldDate", DateTime.Now.ToShortDateString()); request6Body.FormPostParameters.Add(guidPrefix + guid + "$ctl00$ctl04$ctl04$ctl00$ctl00$ctl0" + "4$ctl00$ctl00$DateTimeField$DateTimeFieldDate", DateTime.Now.ToShortDateString()); request6Body.FormPostParameters.Add(guidPrefix + guid + "$ctl00$ctl04$ctl05$ctl00$ctl00$ctl0" + "4$ctl00$ctl00$DateTimeField$DateTimeFieldDate", DateTime.Now.ToShortDateString()); request6Body.FormPostParameters.Add(guidPrefix + guid + "$ctl00$ctl04$ctl06$ctl00$ctl00$ctl0" + "4$ctl00$ctl00$TextField", "100"); request6Body.FormPostParameters.Add(guidPrefix + guid + "$ctl00$ctl07$ctl00$owshiddenversion" + "", this.Context["$HIDDEN1." + guidPrefix + guid + "$ctl00$ctl07$ctl00$owshidd" + "enversion"].ToString()); request6Body.FormPostParameters.Add("attachmentsToBeRemovedFromServer", this.Context["$HIDDEN1.attachmentsToBeRemovedFromServer"].ToString()); request6Body.FormPostParameters.Add("RectGifUrl", this.Context["$HIDDEN1.RectGifUrl"].ToString()); request6Body.FormPostParameters.Add("fileupload0", ""); request6Body.FormPostParameters.Add("__spDummyText1", ""); request6Body.FormPostParameters.Add("__spDummyText2", ""); request6.Body = request6Body; yield return(request6); request6 = null; // end of create course //ID for recently created course this.myCourseId = SharePointCalls.GetCourseID(this.myCourseCode, siteURL, webURL); //register for course //login with employee this.UserName = Config.spgEmpUser; this.Password = Config.spgEmpPass; WebTestRequest request18 = new WebTestRequest(this.siteURL + this.webURL + "/CourseRegistration.aspx"); request18.ThinkTime = 2; request18.QueryStringParameters.Add("ID", this.myCourseId.ToString(), false, false); ExtractHiddenFields extractionRule6 = new ExtractHiddenFields(); extractionRule6.Required = true; extractionRule6.HtmlDecode = true; extractionRule6.ContextParameterName = "1"; request18.ExtractValues += new EventHandler <ExtractionEventArgs>(extractionRule6.Extract); yield return(request18); request18 = null; WebTestRequest request19 = new WebTestRequest(this.siteURL + this.webURL + "/CourseRegistration.aspx"); request19.ThinkTime = 2; request19.Method = "POST"; request19.QueryStringParameters.Add("ID", this.myCourseId.ToString(), false, false); FormPostHttpBody request19Body = new FormPostHttpBody(); request19Body.FormPostParameters.Add("MSO_PageHashCode", this.Context["$HIDDEN1.MSO_PageHashCode"].ToString()); request19Body.FormPostParameters.Add("MSOWebPartPage_PostbackSource", this.Context["$HIDDEN1.MSOWebPartPage_PostbackSource"].ToString()); request19Body.FormPostParameters.Add("MSOTlPn_SelectedWpId", this.Context["$HIDDEN1.MSOTlPn_SelectedWpId"].ToString()); request19Body.FormPostParameters.Add("MSOTlPn_View", this.Context["$HIDDEN1.MSOTlPn_View"].ToString()); request19Body.FormPostParameters.Add("MSOTlPn_ShowSettings", this.Context["$HIDDEN1.MSOTlPn_ShowSettings"].ToString()); request19Body.FormPostParameters.Add("MSOGallery_SelectedLibrary", this.Context["$HIDDEN1.MSOGallery_SelectedLibrary"].ToString()); request19Body.FormPostParameters.Add("MSOGallery_FilterString", this.Context["$HIDDEN1.MSOGallery_FilterString"].ToString()); request19Body.FormPostParameters.Add("MSOTlPn_Button", this.Context["$HIDDEN1.MSOTlPn_Button"].ToString()); request19Body.FormPostParameters.Add("MSOSPWebPartManager_DisplayModeName", this.Context["$HIDDEN1.MSOSPWebPartManager_DisplayModeName"].ToString()); request19Body.FormPostParameters.Add("__EVENTTARGET", this.Context["$HIDDEN1.__EVENTTARGET"].ToString()); request19Body.FormPostParameters.Add("__EVENTARGUMENT", this.Context["$HIDDEN1.__EVENTARGUMENT"].ToString()); request19Body.FormPostParameters.Add("MSOWebPartPage_Shared", this.Context["$HIDDEN1.MSOWebPartPage_Shared"].ToString()); request19Body.FormPostParameters.Add("MSOLayout_LayoutChanges", this.Context["$HIDDEN1.MSOLayout_LayoutChanges"].ToString()); request19Body.FormPostParameters.Add("MSOLayout_InDesignMode", this.Context["$HIDDEN1.MSOLayout_InDesignMode"].ToString()); request19Body.FormPostParameters.Add("MSOSPWebPartManager_OldDisplayModeName", this.Context["$HIDDEN1.MSOSPWebPartManager_OldDisplayModeName"].ToString()); request19Body.FormPostParameters.Add("MSOSPWebPartManager_StartWebPartEditingName", this.Context["$HIDDEN1.MSOSPWebPartManager_StartWebPartEditingName"].ToString()); request19Body.FormPostParameters.Add("__REQUESTDIGEST", this.Context["$HIDDEN1.__REQUESTDIGEST"].ToString()); request19Body.FormPostParameters.Add("__VIEWSTATE", this.Context["$HIDDEN1.__VIEWSTATE"].ToString()); request19Body.FormPostParameters.Add("__EVENTVALIDATION", this.Context["$HIDDEN1.__EVENTVALIDATION"].ToString()); request19Body.FormPostParameters.Add("InputKeywords", ""); request19Body.FormPostParameters.Add("ctl00$PlaceHolderMain$Submit", "Register for Course"); request19Body.FormPostParameters.Add("__spDummyText1", ""); request19Body.FormPostParameters.Add("__spDummyText2", ""); request19.Body = request19Body; yield return(request19); //verify Registration for this course for spgemployee if (SharePointCalls.GetRegistration(this.myCourseCode, this.UserName, siteURL, webURL) == null) { Outcome = Outcome.Fail; } request19 = null; }
public override IEnumerator <WebTestRequest> GetRequestEnumerator() { this.UserName = System.Environment.MachineName + "\\ContosoPartner2User9"; this.Password = winUserPassword; WebTestRequest request1 = new WebTestRequest(hostURL + "/sites/Partner2/Pages/default.aspx"); if ((this.Context.ValidationLevel >= Microsoft.VisualStudio.TestTools.WebTesting.ValidationLevel.High)) { ValidationRuleFindText validationRule2 = new ValidationRuleFindText(); validationRule2.FindText = "Partner Home"; validationRule2.IgnoreCase = true; validationRule2.UseRegularExpression = false; validationRule2.PassIfTextFound = true; request1.ValidateResponse += new EventHandler <ValidationEventArgs>(validationRule2.Validate); } if ((this.Context.ValidationLevel >= Microsoft.VisualStudio.TestTools.WebTesting.ValidationLevel.High)) { ValidationRuleFindText validationRule3 = new ValidationRuleFindText(); validationRule3.FindText = "Manage Incidents"; validationRule3.IgnoreCase = true; validationRule3.UseRegularExpression = false; validationRule3.PassIfTextFound = true; request1.ValidateResponse += new EventHandler <ValidationEventArgs>(validationRule3.Validate); } if ((this.Context.ValidationLevel >= Microsoft.VisualStudio.TestTools.WebTesting.ValidationLevel.High)) { ValidationRuleFindText validationRule4 = new ValidationRuleFindText(); validationRule4.FindText = "Manage Order Exceptions"; validationRule4.IgnoreCase = true; validationRule4.UseRegularExpression = false; validationRule4.PassIfTextFound = true; request1.ValidateResponse += new EventHandler <ValidationEventArgs>(validationRule4.Validate); } if ((this.Context.ValidationLevel >= Microsoft.VisualStudio.TestTools.WebTesting.ValidationLevel.High)) { ValidationRuleFindText validationRule5 = new ValidationRuleFindText(); validationRule5.FindText = "Product Catalog"; validationRule5.IgnoreCase = true; validationRule5.UseRegularExpression = false; validationRule5.PassIfTextFound = true; request1.ValidateResponse += new EventHandler <ValidationEventArgs>(validationRule5.Validate); } if ((this.Context.ValidationLevel >= Microsoft.VisualStudio.TestTools.WebTesting.ValidationLevel.High)) { ValidationRuleFindText validationRule6 = new ValidationRuleFindText(); validationRule6.FindText = "Promotions"; validationRule6.IgnoreCase = true; validationRule6.UseRegularExpression = false; validationRule6.PassIfTextFound = true; request1.ValidateResponse += new EventHandler <ValidationEventArgs>(validationRule6.Validate); } if ((this.Context.ValidationLevel >= Microsoft.VisualStudio.TestTools.WebTesting.ValidationLevel.High)) { ValidationRuleFindText validationRule7 = new ValidationRuleFindText(); validationRule7.FindText = "default"; validationRule7.IgnoreCase = true; validationRule7.UseRegularExpression = false; validationRule7.PassIfTextFound = true; request1.ValidateResponse += new EventHandler <ValidationEventArgs>(validationRule7.Validate); } yield return(request1); request1 = null; }
public override IEnumerator <WebTestRequest> GetRequestEnumerator() { //this.UserName = Config.adminUser; //this.Password = Config.adminPass; WebTestRequest request99 = new WebTestRequest(this.siteURL + this.webURL + "/Lists/TrainingCourses/NewForm.aspx"); ExtractHiddenFields extractionRule1 = new ExtractHiddenFields(); extractionRule1.Required = true; extractionRule1.HtmlDecode = true; extractionRule1.ContextParameterName = "1"; request99.ExtractValues += new EventHandler <ExtractionEventArgs>(extractionRule1.Extract); ExtractText extractionRule99 = new ExtractText(); extractionRule99.StartsWith = "ctl00_m_g_"; extractionRule99.EndsWith = "_ctl"; extractionRule99.IgnoreCase = false; extractionRule99.UseRegularExpression = true; extractionRule99.Required = true; extractionRule99.ExtractRandomMatch = false; extractionRule99.Index = 0; extractionRule99.HtmlDecode = true; extractionRule99.ContextParameterName = "guid"; request99.ExtractValues += new EventHandler <ExtractionEventArgs>(extractionRule99.Extract); yield return(request99); string guidPrefix = "ctl00$m$g_"; string guid = Context["guid"].ToString(); request99 = null; this.BeginTransaction("createCourse"); WebTestRequest request2 = new WebTestRequest(this.siteURL + this.webURL + "/Lists/TrainingCourses/NewForm.aspx"); request2.Method = "POST"; FormPostHttpBody request2Body = new FormPostHttpBody(); request2Body.FormPostParameters.Add("MSO_PageHashCode", this.Context["$HIDDEN1.MSO_PageHashCode"].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("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("__LASTFOCUS", this.Context["$HIDDEN1.__LASTFOCUS"].ToString()); request2Body.FormPostParameters.Add("__VIEWSTATE", this.Context["$HIDDEN1.__VIEWSTATE"].ToString()); request2Body.FormPostParameters.Add("__EVENTVALIDATION", this.Context["$HIDDEN1.__EVENTVALIDATION"].ToString()); request2Body.FormPostParameters.Add("InputKeywords", ""); request2Body.FormPostParameters.Add(guidPrefix + guid + "$ctl00$ctl04$ctl00$ctl00$ctl00$ctl0" + "4$ctl00$ctl00$TextField", ""); request2Body.FormPostParameters.Add(guidPrefix + guid + "$ctl00$ctl04$ctl01$ctl00$ctl00$ctl0" + "4$ctl00$ctl00$TextField", ""); request2Body.FormPostParameters.Add(guidPrefix + guid + "$ctl00$ctl04$ctl02$ctl00$ctl00$ctl0" + "4$ctl00$ctl00$TextField", "<div></div>"); request2Body.FormPostParameters.Add(guidPrefix + guid + "$ctl00$ctl04$ctl02$ctl00$ctl00$ctl0" + "4$ctl00$ctl00$TextField_spSave", "<DIV></DIV>"); request2Body.FormPostParameters.Add(guidPrefix + guid + "$ctl00$ctl04$ctl03$ctl00$ctl00$ctl0" + "4$ctl00$ctl00$DateTimeField$DateTimeFieldDate", ""); request2Body.FormPostParameters.Add(guidPrefix + guid + "$ctl00$ctl04$ctl04$ctl00$ctl00$ctl0" + "4$ctl00$ctl00$DateTimeField$DateTimeFieldDate", ""); request2Body.FormPostParameters.Add(guidPrefix + guid + "$ctl00$ctl04$ctl05$ctl00$ctl00$ctl0" + "4$ctl00$ctl00$DateTimeField$DateTimeFieldDate", ""); request2Body.FormPostParameters.Add(guidPrefix + guid + "$ctl00$ctl04$ctl06$ctl00$ctl00$ctl0" + "4$ctl00$ctl00$TextField", ""); request2Body.FormPostParameters.Add(guidPrefix + guid + "$ctl00$ctl07$ctl00$owshiddenversion" + "", this.Context["$HIDDEN1." + guidPrefix + guid + "$ctl00$ctl07$ctl00$owshidd" + "enversion"].ToString()); request2Body.FormPostParameters.Add("attachmentsToBeRemovedFromServer", this.Context["$HIDDEN1.attachmentsToBeRemovedFromServer"].ToString()); request2Body.FormPostParameters.Add("RectGifUrl", this.Context["$HIDDEN1.RectGifUrl"].ToString()); request2Body.FormPostParameters.Add("fileupload0", ""); request2Body.FormPostParameters.Add("__spDummyText1", ""); request2Body.FormPostParameters.Add("__spDummyText2", ""); request2Body.FormPostParameters.Add(guidPrefix + guid + "$ctl00$ctl04$ctl07$ctl00$ctl00$ctl0" + "4$ctl00$ctl03.x", "5"); request2Body.FormPostParameters.Add(guidPrefix + guid + "$ctl00$ctl04$ctl07$ctl00$ctl00$ctl0" + "4$ctl00$ctl03.y", "8"); request2.Body = request2Body; ExtractHiddenFields extractionRule2 = new ExtractHiddenFields(); extractionRule2.Required = true; extractionRule2.HtmlDecode = true; extractionRule2.ContextParameterName = "1"; request2.ExtractValues += new EventHandler <ExtractionEventArgs>(extractionRule2.Extract); yield return(request2); request2 = null; WebTestRequest request6 = new WebTestRequest(this.siteURL + this.webURL + "/Lists/TrainingCourses/NewForm.aspx"); request6.Method = "POST"; request6.ExpectedResponseUrl = this.siteURL + this.webURL + "/Lists/TrainingCourses/AllItems.aspx"; FormPostHttpBody request6Body = new FormPostHttpBody(); request6Body.FormPostParameters.Add("MSO_PageHashCode", this.Context["$HIDDEN1.MSO_PageHashCode"].ToString()); request6Body.FormPostParameters.Add("MSOWebPartPage_PostbackSource", this.Context["$HIDDEN1.MSOWebPartPage_PostbackSource"].ToString()); request6Body.FormPostParameters.Add("MSOTlPn_SelectedWpId", this.Context["$HIDDEN1.MSOTlPn_SelectedWpId"].ToString()); request6Body.FormPostParameters.Add("MSOTlPn_View", this.Context["$HIDDEN1.MSOTlPn_View"].ToString()); request6Body.FormPostParameters.Add("MSOTlPn_ShowSettings", this.Context["$HIDDEN1.MSOTlPn_ShowSettings"].ToString()); request6Body.FormPostParameters.Add("MSOGallery_SelectedLibrary", this.Context["$HIDDEN1.MSOGallery_SelectedLibrary"].ToString()); request6Body.FormPostParameters.Add("MSOGallery_FilterString", this.Context["$HIDDEN1.MSOGallery_FilterString"].ToString()); request6Body.FormPostParameters.Add("MSOTlPn_Button", this.Context["$HIDDEN1.MSOTlPn_Button"].ToString()); request6Body.FormPostParameters.Add("__EVENTTARGET", guidPrefix + guid + "$ctl00$toolBarTbl$RightRptControls$" + "ctl00$ctl00$diidIOSaveItem"); request6Body.FormPostParameters.Add("__EVENTARGUMENT", this.Context["$HIDDEN1.__EVENTARGUMENT"].ToString()); request6Body.FormPostParameters.Add("__REQUESTDIGEST", this.Context["$HIDDEN1.__REQUESTDIGEST"].ToString()); request6Body.FormPostParameters.Add("MSOSPWebPartManager_DisplayModeName", this.Context["$HIDDEN1.MSOSPWebPartManager_DisplayModeName"].ToString()); request6Body.FormPostParameters.Add("MSOWebPartPage_Shared", this.Context["$HIDDEN1.MSOWebPartPage_Shared"].ToString()); request6Body.FormPostParameters.Add("MSOLayout_LayoutChanges", this.Context["$HIDDEN1.MSOLayout_LayoutChanges"].ToString()); request6Body.FormPostParameters.Add("MSOLayout_InDesignMode", this.Context["$HIDDEN1.MSOLayout_InDesignMode"].ToString()); request6Body.FormPostParameters.Add("MSOSPWebPartManager_OldDisplayModeName", this.Context["$HIDDEN1.MSOSPWebPartManager_OldDisplayModeName"].ToString()); request6Body.FormPostParameters.Add("MSOSPWebPartManager_StartWebPartEditingName", this.Context["$HIDDEN1.MSOSPWebPartManager_StartWebPartEditingName"].ToString()); request6Body.FormPostParameters.Add("__VIEWSTATE", this.Context["$HIDDEN1.__VIEWSTATE"].ToString()); request6Body.FormPostParameters.Add("__EVENTVALIDATION", this.Context["$HIDDEN1.__EVENTVALIDATION"].ToString()); request6Body.FormPostParameters.Add("InputKeywords", ""); request6Body.FormPostParameters.Add(guidPrefix + guid + "$ctl00$ctl04$ctl00$ctl00$ctl00$ctl0" + "4$ctl00$ctl00$TextField", this.myCourseCode); request6Body.FormPostParameters.Add(guidPrefix + guid + "$ctl00$ctl04$ctl01$ctl00$ctl00$ctl0" + "4$ctl00$ctl00$TextField", this.myCourseCode); request6Body.FormPostParameters.Add(guidPrefix + guid + "$ctl00$ctl04$ctl02$ctl00$ctl00$ctl0" + "4$ctl00$ctl00$TextField", "<div></div>"); request6Body.FormPostParameters.Add(guidPrefix + guid + "$ctl00$ctl04$ctl02$ctl00$ctl00$ctl0" + "4$ctl00$ctl00$TextField_spSave", this.myCourseCode + "\r\n<DIV></DIV>"); request6Body.FormPostParameters.Add(guidPrefix + guid + "$ctl00$ctl04$ctl03$ctl00$ctl00$ctl0" + "4$ctl00$ctl00$DateTimeField$DateTimeFieldDate", DateTime.Now.AddDays(1).ToShortDateString()); request6Body.FormPostParameters.Add(guidPrefix + guid + "$ctl00$ctl04$ctl04$ctl00$ctl00$ctl0" + "4$ctl00$ctl00$DateTimeField$DateTimeFieldDate", DateTime.Now.AddDays(1).ToShortDateString()); request6Body.FormPostParameters.Add(guidPrefix + guid + "$ctl00$ctl04$ctl05$ctl00$ctl00$ctl0" + "4$ctl00$ctl00$DateTimeField$DateTimeFieldDate", DateTime.Now.ToShortDateString()); request6Body.FormPostParameters.Add(guidPrefix + guid + "$ctl00$ctl04$ctl06$ctl00$ctl00$ctl0" + "4$ctl00$ctl00$TextField", "100"); request6Body.FormPostParameters.Add(guidPrefix + guid + "$ctl00$ctl07$ctl00$owshiddenversion" + "", this.Context["$HIDDEN1." + guidPrefix + guid + "$ctl00$ctl07$ctl00$owshidd" + "enversion"].ToString()); request6Body.FormPostParameters.Add("attachmentsToBeRemovedFromServer", this.Context["$HIDDEN1.attachmentsToBeRemovedFromServer"].ToString()); request6Body.FormPostParameters.Add("RectGifUrl", this.Context["$HIDDEN1.RectGifUrl"].ToString()); request6Body.FormPostParameters.Add("fileupload0", ""); request6Body.FormPostParameters.Add("__spDummyText1", ""); request6Body.FormPostParameters.Add("__spDummyText2", ""); request6.Body = request6Body; //validate error message //The End Date can not be before the Start Date. ValidationRuleFindText validationRule2 = new ValidationRuleFindText(); validationRule2.FindText = "The End Date can not be before the Start Date."; validationRule2.IgnoreCase = false; validationRule2.UseRegularExpression = false; validationRule2.PassIfTextFound = true; request6.ValidateResponse += new EventHandler <ValidationEventArgs>(validationRule2.Validate); yield return(request6); request6 = null; this.EndTransaction("createCourse"); }
public override IEnumerator <WebTestRequest> GetRequestEnumerator() { // this.Context.Add("URL", "https://mc-mcdele4eznqtkydvq5s.azurewebsites.net"); // this.Context.Add("URL", "https://localhost:44365"); // this.Context.Add("auth", "a34bojp73bq3k"); var baseURL = (string)this.Context["URL"]; var auth = (string)this.Context["auth"]; var contextOptions = new[] { "Young", "Old" }; var rnd = new Random(); var expectedAction = rnd.Next(0, 2); var age = contextOptions[expectedAction]; expectedAction++; // actions are 1-based //while (true) { WebTestRequest request1 = new WebTestRequest($"{baseURL}/API/Policy"); request1.Method = "POST"; request1.Headers.Add(new WebTestRequestHeader("Accept", "application/json, text/javascript, */*; q=0.01")); request1.Headers.Add(new WebTestRequestHeader("X-Requested-With", "XMLHttpRequest")); request1.Headers.Add(new WebTestRequestHeader("auth", auth)); StringHttpBody request1Body = new StringHttpBody(); request1Body.ContentType = "application/json; charset=utf-8"; request1Body.InsertByteOrderMark = false; request1Body.BodyString = JsonConvert.SerializeObject(new { Features = Enumerable.Range(1, 1000).Select(_ => rnd.NextDouble()).ToArray() }); request1.Body = request1Body; request1.ExtractValues += Request1_ExtractValues; yield return(request1); request1 = null; var conditionalRule1 = new ProbabilisticConditional { SuccessProbability = 0.01f }; // = new ResponseConditional //{ // ExpectedAction = expectedAction, // InconsistencyProbability = 0.2f //}; this.BeginCondition(conditionalRule1); if (this.ExecuteConditionalRule(conditionalRule1)) { WebTestRequest request2 = new WebTestRequest($"{baseURL}/API/Reward/"); request2.Method = "POST"; request2.Headers.Add(new WebTestRequestHeader("Accept", "*/*")); request2.Headers.Add(new WebTestRequestHeader("X-Requested-With", "XMLHttpRequest")); request2.Headers.Add(new WebTestRequestHeader("auth", auth)); request2.QueryStringParameters.Add("eventId", "{{EventId}}", false, false); StringHttpBody request2Body = new StringHttpBody(); request2Body.ContentType = "application/json; charset=utf-8"; request2Body.InsertByteOrderMark = false; request2Body.BodyString = "1"; // reward request2.Body = request2Body; yield return(request2); request2 = null; } this.EndCondition(conditionalRule1); } }
/// <summary> /// Creates the request. Use RequestIndex property to determine which request to return /// </summary> /// <param name="index"></param> /// <returns></returns> public override WebTestRequest CreateRequest(int index) { WebTestRequest request = new WebTestRequest(CommerceManagerUrl + "/Apps/Shell/Pages/ContentFrame.aspx"); switch (index) { case 0: request.QueryStringParameters.Add("_a", "Catalog", false, false); request.QueryStringParameters.Add("_v", "Catalog-List", false, false); break; case 1: request.QueryStringParameters.Add("_a", "Catalog", false, false); request.QueryStringParameters.Add("_v", "Edit", false, false); request.QueryStringParameters.Add("catalogid", "1", false, false); break; case 2: request.QueryStringParameters.Add("_a", "Catalog", false, false); request.QueryStringParameters.Add("_v", "Catalog-List", false, false); break; case 3: request.QueryStringParameters.Add("_a", "Catalog", false, false); request.QueryStringParameters.Add("_v", "Node-List", false, false); request.QueryStringParameters.Add("catalogid", "1", false, false); request.QueryStringParameters.Add("catalognodeid", "", false, false); break; case 4: request.QueryStringParameters.Add("_a", "Catalog", false, false); request.QueryStringParameters.Add("_v", "Node-Edit", false, false); request.QueryStringParameters.Add("catalogid", "1", false, false); request.QueryStringParameters.Add("catalognodeid", "", false, false); request.QueryStringParameters.Add("nodeid", "8", false, false); break; case 5: request.QueryStringParameters.Add("_a", "Catalog", false, false); request.QueryStringParameters.Add("_v", "Node-List", false, false); request.QueryStringParameters.Add("catalogid", "1", false, false); request.QueryStringParameters.Add("catalognodeid", "", false, false); break; case 6: request.QueryStringParameters.Add("_a", "Catalog", false, false); request.QueryStringParameters.Add("_v", "Node-List", false, false); request.QueryStringParameters.Add("catalogid", "1", false, false); request.QueryStringParameters.Add("catalognodeid", "8", false, false); request.QueryStringParameters.Add("grandparentid", "0", false, false); break; case 7: request.QueryStringParameters.Add("_a", "Catalog", false, false); request.QueryStringParameters.Add("_v", "Variation-Edit", false, false); request.QueryStringParameters.Add("catalogid", "1", false, false); request.QueryStringParameters.Add("catalognodeid", "8", false, false); request.QueryStringParameters.Add("catalogentryid", "79", false, false); break; case 8: request.QueryStringParameters.Add("_a", "Catalog", false, false); request.QueryStringParameters.Add("_v", "Node-List", false, false); request.QueryStringParameters.Add("catalogid", "1", false, false); request.QueryStringParameters.Add("catalognodeid", "8", false, false); break; default: return(null); } return(request); }
/// <summary> /// Creates the request. Use RequestIndex property to determine which request to return /// </summary> /// <param name="index"></param> /// <returns></returns> public override WebTestRequest CreateRequest(int index) { WebTestRequest request = new WebTestRequest(CommerceManagerUrl + "/Apps/Shell/Pages/Contentframe.aspx"); FormPostHttpBody requestBody; ExtractHiddenFields extractionRule; int catalogId; switch (index) { case 0: request.QueryStringParameters.Add("_a", "Catalog", false, false); request.QueryStringParameters.Add("_v", "Catalog-List", false, false); break; case 1: request.QueryStringParameters.Add("_a", "Catalog", false, false); request.QueryStringParameters.Add("_v", "Edit", false, false); extractionRule = new ExtractHiddenFields(); extractionRule.Required = true; extractionRule.HtmlDecode = true; extractionRule.ContextParameterName = "1"; request.ExtractValues += new EventHandler <ExtractionEventArgs>(extractionRule.Extract); break; case 2: request.Method = "POST"; request.QueryStringParameters.Add("_a", "Catalog", false, false); request.QueryStringParameters.Add("_v", "Edit", false, false); requestBody = new FormPostHttpBody(); requestBody.FormPostParameters.Add("ctl21_ViewControl_DefaultTabContainer_ClientState", "{\"ActiveTabIndex\":0,\"TabState\":[true]}"); 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("_action", this.Context["$HIDDEN1._action"].ToString()); requestBody.FormPostParameters.Add("_params", this.Context["$HIDDEN1._params"].ToString()); requestBody.FormPostParameters.Add("ctl21$ViewControl$DefaultTabContainer$ctl00$ctl00$CatalogName", "WebTestCatalog"); requestBody.FormPostParameters.Add("ctl21$ViewControl$DefaultTabContainer$ctl00$ctl00$CatalogNameRequiredE_ClientStat" + "e", this.Context["$HIDDEN1.ctl21$ViewControl$DefaultTabContainer$ctl00$ctl00$CatalogNameRequiredE_C" + "lientState"].ToString()); requestBody.FormPostParameters.Add("ctl21$ViewControl$DefaultTabContainer$ctl00$ctl00$AvailableFrom$Date", "3/9/2009"); requestBody.FormPostParameters.Add("ctl21$ViewControl$DefaultTabContainer$ctl00$ctl00$AvailableFrom$vceDate1_ClientSt" + "ate", this.Context["$HIDDEN1.ctl21$ViewControl$DefaultTabContainer$ctl00$ctl00$AvailableFrom$vceDate1" + "_ClientState"].ToString()); requestBody.FormPostParameters.Add("ctl21$ViewControl$DefaultTabContainer$ctl00$ctl00$AvailableFrom$cveDate2_ClientSt" + "ate", this.Context["$HIDDEN1.ctl21$ViewControl$DefaultTabContainer$ctl00$ctl00$AvailableFrom$cveDate2" + "_ClientState"].ToString()); requestBody.FormPostParameters.Add("ctl21$ViewControl$DefaultTabContainer$ctl00$ctl00$AvailableFrom$cveDate3_ClientSt" + "ate", this.Context["$HIDDEN1.ctl21$ViewControl$DefaultTabContainer$ctl00$ctl00$AvailableFrom$cveDate3" + "_ClientState"].ToString()); requestBody.FormPostParameters.Add("ctl21$ViewControl$DefaultTabContainer$ctl00$ctl00$ExpiresOn$Date", "3/9/2010"); requestBody.FormPostParameters.Add("ctl21$ViewControl$DefaultTabContainer$ctl00$ctl00$ExpiresOn$vceDate1_ClientState", this.Context["$HIDDEN1.ctl21$ViewControl$DefaultTabContainer$ctl00$ctl00$ExpiresOn$vceDate1_Cli" + "entState"].ToString()); requestBody.FormPostParameters.Add("ctl21$ViewControl$DefaultTabContainer$ctl00$ctl00$ExpiresOn$cveDate2_ClientState", this.Context["$HIDDEN1.ctl21$ViewControl$DefaultTabContainer$ctl00$ctl00$ExpiresOn$cveDate2_Cli" + "entState"].ToString()); requestBody.FormPostParameters.Add("ctl21$ViewControl$DefaultTabContainer$ctl00$ctl00$ExpiresOn$cveDate3_ClientState", this.Context["$HIDDEN1.ctl21$ViewControl$DefaultTabContainer$ctl00$ctl00$ExpiresOn$cveDate3_Cli" + "entState"].ToString()); requestBody.FormPostParameters.Add("ctl21$ViewControl$DefaultTabContainer$ctl00$ctl00$DefaultCurrency", "usd"); requestBody.FormPostParameters.Add("ctl21$ViewControl$DefaultTabContainer$ctl00$ctl00$DefaultLanguage", "en-us"); requestBody.FormPostParameters.Add("ctl21$ViewControl$DefaultTabContainer$ctl00$ctl00$DefaultLanguageRequiredE_Client" + "State", this.Context["$HIDDEN1.ctl21$ViewControl$DefaultTabContainer$ctl00$ctl00$DefaultLanguageRequire" + "dE_ClientState"].ToString()); requestBody.FormPostParameters.Add("ctl21$ViewControl$DefaultTabContainer$ctl00$ctl00$BaseWeight", "lbs"); requestBody.FormPostParameters.Add("ctl21$ViewControl$DefaultTabContainer$ctl00$ctl00$SortOrder", "0"); requestBody.FormPostParameters.Add("ctl21$ViewControl$DefaultTabContainer$ctl00$ctl00$IsCatalogActive$MySelectList", "False"); requestBody.FormPostParameters.Add("ctl21$EditSaveControl$SaveChangesButton", "OK"); request.Body = requestBody; break; case 3: request.QueryStringParameters.Add("_a", "Catalog", false, false); request.QueryStringParameters.Add("_v", "Catalog-List", false, false); break; case 4: request.QueryStringParameters.Add("_a", "Catalog", false, false); request.QueryStringParameters.Add("_v", "Edit", false, false); catalogId = findCatalogId("WebTestCatalog"); request.QueryStringParameters.Add("catalogid", catalogId.ToString(), false, false); extractionRule = new ExtractHiddenFields(); extractionRule.Required = true; extractionRule.HtmlDecode = true; extractionRule.ContextParameterName = "1"; request.ExtractValues += new EventHandler <ExtractionEventArgs>(extractionRule.Extract); break; case 5: request.Method = "POST"; request.QueryStringParameters.Add("_a", "Catalog", false, false); request.QueryStringParameters.Add("_v", "Edit", false, false); catalogId = findCatalogId("WebTestCatalog"); request.QueryStringParameters.Add("catalogid", catalogId.ToString(), false, false); requestBody = new FormPostHttpBody(); requestBody.FormPostParameters.Add("ctl21_ViewControl_DefaultTabContainer_ClientState", "{\"ActiveTabIndex\":0,\"TabState\":[true]}"); 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("_action", this.Context["$HIDDEN1._action"].ToString()); requestBody.FormPostParameters.Add("_params", this.Context["$HIDDEN1._params"].ToString()); requestBody.FormPostParameters.Add("ctl21$ViewControl$DefaultTabContainer$ctl00$ctl00$CatalogName", "WebTest"); requestBody.FormPostParameters.Add("ctl21$ViewControl$DefaultTabContainer$ctl00$ctl00$CatalogNameRequiredE_ClientStat" + "e", this.Context["$HIDDEN1.ctl21$ViewControl$DefaultTabContainer$ctl00$ctl00$CatalogNameRequiredE_C" + "lientState"].ToString()); requestBody.FormPostParameters.Add("ctl21$ViewControl$DefaultTabContainer$ctl00$ctl00$AvailableFrom$Date", "3/9/2009"); requestBody.FormPostParameters.Add("ctl21$ViewControl$DefaultTabContainer$ctl00$ctl00$AvailableFrom$vceDate1_ClientSt" + "ate", this.Context["$HIDDEN1.ctl21$ViewControl$DefaultTabContainer$ctl00$ctl00$AvailableFrom$vceDate1" + "_ClientState"].ToString()); requestBody.FormPostParameters.Add("ctl21$ViewControl$DefaultTabContainer$ctl00$ctl00$AvailableFrom$cveDate2_ClientSt" + "ate", this.Context["$HIDDEN1.ctl21$ViewControl$DefaultTabContainer$ctl00$ctl00$AvailableFrom$cveDate2" + "_ClientState"].ToString()); requestBody.FormPostParameters.Add("ctl21$ViewControl$DefaultTabContainer$ctl00$ctl00$AvailableFrom$cveDate3_ClientSt" + "ate", this.Context["$HIDDEN1.ctl21$ViewControl$DefaultTabContainer$ctl00$ctl00$AvailableFrom$cveDate3" + "_ClientState"].ToString()); requestBody.FormPostParameters.Add("ctl21$ViewControl$DefaultTabContainer$ctl00$ctl00$ExpiresOn$Date", "3/12/2010"); requestBody.FormPostParameters.Add("ctl21$ViewControl$DefaultTabContainer$ctl00$ctl00$ExpiresOn$vceDate1_ClientState", this.Context["$HIDDEN1.ctl21$ViewControl$DefaultTabContainer$ctl00$ctl00$ExpiresOn$vceDate1_Cli" + "entState"].ToString()); requestBody.FormPostParameters.Add("ctl21$ViewControl$DefaultTabContainer$ctl00$ctl00$ExpiresOn$cveDate2_ClientState", this.Context["$HIDDEN1.ctl21$ViewControl$DefaultTabContainer$ctl00$ctl00$ExpiresOn$cveDate2_Cli" + "entState"].ToString()); requestBody.FormPostParameters.Add("ctl21$ViewControl$DefaultTabContainer$ctl00$ctl00$ExpiresOn$cveDate3_ClientState", this.Context["$HIDDEN1.ctl21$ViewControl$DefaultTabContainer$ctl00$ctl00$ExpiresOn$cveDate3_Cli" + "entState"].ToString()); requestBody.FormPostParameters.Add("ctl21$ViewControl$DefaultTabContainer$ctl00$ctl00$DefaultCurrency", "usd"); requestBody.FormPostParameters.Add("ctl21$ViewControl$DefaultTabContainer$ctl00$ctl00$DefaultLanguage", "en-us"); requestBody.FormPostParameters.Add("ctl21$ViewControl$DefaultTabContainer$ctl00$ctl00$DefaultLanguageRequiredE_Client" + "State", this.Context["$HIDDEN1.ctl21$ViewControl$DefaultTabContainer$ctl00$ctl00$DefaultLanguageRequire" + "dE_ClientState"].ToString()); requestBody.FormPostParameters.Add("ctl21$ViewControl$DefaultTabContainer$ctl00$ctl00$BaseWeight", "lbs"); requestBody.FormPostParameters.Add("ctl21$ViewControl$DefaultTabContainer$ctl00$ctl00$OtherLanguagesList", ""); requestBody.FormPostParameters.Add("ctl21$ViewControl$DefaultTabContainer$ctl00$ctl00$SortOrder", "0"); requestBody.FormPostParameters.Add("ctl21$ViewControl$DefaultTabContainer$ctl00$ctl00$IsCatalogActive$MySelectList", "False"); requestBody.FormPostParameters.Add("ctl21$EditSaveControl$SaveChangesButton", "OK"); request.Body = requestBody; break; case 6: request.QueryStringParameters.Add("_a", "Catalog", false, false); request.QueryStringParameters.Add("_v", "Catalog-List", false, false); extractionRule = new ExtractHiddenFields(); extractionRule.Required = true; extractionRule.HtmlDecode = true; extractionRule.ContextParameterName = "1"; request.ExtractValues += new EventHandler <ExtractionEventArgs>(extractionRule.Extract); break; case 7: request.Method = "POST"; request.Headers.Add(new WebTestRequestHeader("x-microsoftajax", "Delta=true")); request.QueryStringParameters.Add("_a", "Catalog", false, false); request.QueryStringParameters.Add("_v", "Catalog-List", false, false); requestBody = new FormPostHttpBody(); requestBody.FormPostParameters.Add("ScriptManager1", "cmPanel|cmContent"); requestBody.FormPostParameters.Add("__EVENTTARGET", "cmContent"); requestBody.FormPostParameters.Add("__EVENTARGUMENT", "{\"CommandName\":\"cmdCatalogDeleteCatalog\",\"CommandArguments\":{\"GridId\":\"MainListVi" + "ew\",\"GridClientId\":\"ctl21_MyListView_MainListView_lvTable\",\"permissions\":\"catalo" + "g:ctlg:mng:delete\"}}"); requestBody.FormPostParameters.Add("__LASTFOCUS", this.Context["$HIDDEN1.__LASTFOCUS"].ToString()); requestBody.FormPostParameters.Add("__VIEWSTATE", this.Context["$HIDDEN1.__VIEWSTATE"].ToString()); requestBody.FormPostParameters.Add("_action", this.Context["$HIDDEN1._action"].ToString()); requestBody.FormPostParameters.Add("_params", this.Context["$HIDDEN1._params"].ToString()); requestBody.FormPostParameters.Add("ctl21$MyListView$MainListView$ddPaging", "20"); requestBody.FormPostParameters.Add("ctl21$MyListView$MainListView$ctrl3$3_cb", "on"); requestBody.FormPostParameters.Add("__ASYNCPOST", "true"); request.Body = requestBody; break; case 8: request.QueryStringParameters.Add("_a", "Catalog", false, false); request.QueryStringParameters.Add("_v", "Catalog-List", false, false); break; default: return(null); } return(request); }
public override IEnumerator <WebTestRequest> GetRequestEnumerator() { this.UserName = winUserName; this.Password = winUserPassword; //Thread wait to complete workflow System.Threading.Thread.Sleep(20000); // 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/partner1/Pages/default.aspx"); request1.ThinkTime = 10; yield return(request1); request1 = null; WebTestRequest request2 = new WebTestRequest(hostURL + "/sites/partner1/_layouts/viewlsts.aspx"); request2.ThinkTime = 3; request2.QueryStringParameters.Add("ShowSites", "1", false, false); yield return(request2); request2 = null; WebTestRequest request3 = new WebTestRequest(hostURL + "/sites/partner1/orderexceptions/"); request3.ThinkTime = 7; request3.ExpectedResponseUrl = hostURL + "/sites/partner1/orderexceptions/default.aspx"; yield return(request3); request3 = null; WebTestRequest request4 = new WebTestRequest(hostURL + "/sites/partner1/orderexceptions/_layouts/viewlsts.aspx"); request4.ThinkTime = 22; request4.QueryStringParameters.Add("ShowSites", "1", false, false); // Get GUID of orderException Site ExtractText extractionRule1 = new ExtractText(); extractionRule1.StartsWith = "<A ID=\"webIcon\" HREF=\"" + hostURL + "/sites/partner1/OrderExceptions/"; extractionRule1.EndsWith = "/\">OrderException: cvbn23</A>"; extractionRule1.IgnoreCase = true; extractionRule1.UseRegularExpression = true; extractionRule1.Required = true; extractionRule1.Index = 0; extractionRule1.HtmlDecode = true; extractionRule1.ContextParameterName = "GuidOrderExceptionPartner1"; request4.ExtractValues += new EventHandler <ExtractionEventArgs>(extractionRule1.Extract); yield return(request4); //store value in local variable string GuidOrderExceptionPartner1 = this.Context["GuidOrderExceptionPartner1"].ToString(); if (GuidOrderExceptionPartner1.IndexOf("/") > 0) { GuidOrderExceptionPartner1 = GuidOrderExceptionPartner1.Substring(GuidOrderExceptionPartner1.LastIndexOf("/") + 1); } request4 = null; WebTestRequest request5 = new WebTestRequest(hostURL + "/sites/partner1/orderexceptions/" + GuidOrderExceptionPartner1 + "/"); request5.ThinkTime = 19; request5.ExpectedResponseUrl = hostURL + "/sites/partner1/orderexceptions/" + GuidOrderExceptionPartner1 + "/default.aspx"; if ((this.Context.ValidationLevel >= Microsoft.VisualStudio.TestTools.WebTesting.ValidationLevel.High)) { ValidationRuleFindText validationRule2 = new ValidationRuleFindText(); validationRule2.FindText = "OrderException: cvbn23"; validationRule2.IgnoreCase = true; validationRule2.UseRegularExpression = false; validationRule2.PassIfTextFound = true; request5.ValidateResponse += new EventHandler <ValidationEventArgs>(validationRule2.Validate); } if ((this.Context.ValidationLevel >= Microsoft.VisualStudio.TestTools.WebTesting.ValidationLevel.High)) { ValidationRuleFindText validationRule3 = new ValidationRuleFindText(); validationRule3.FindText = "Discussion instance"; validationRule3.IgnoreCase = true; validationRule3.UseRegularExpression = false; validationRule3.PassIfTextFound = true; request5.ValidateResponse += new EventHandler <ValidationEventArgs>(validationRule3.Validate); } if ((this.Context.ValidationLevel >= Microsoft.VisualStudio.TestTools.WebTesting.ValidationLevel.High)) { ValidationRuleFindText validationRule4 = new ValidationRuleFindText(); validationRule4.FindText = "Tasks instance"; validationRule4.IgnoreCase = true; validationRule4.UseRegularExpression = false; validationRule4.PassIfTextFound = true; request5.ValidateResponse += new EventHandler <ValidationEventArgs>(validationRule4.Validate); } if ((this.Context.ValidationLevel >= Microsoft.VisualStudio.TestTools.WebTesting.ValidationLevel.High)) { ValidationRuleFindText validationRule5 = new ValidationRuleFindText(); validationRule5.FindText = "Documents instance"; validationRule5.IgnoreCase = true; validationRule5.UseRegularExpression = false; validationRule5.PassIfTextFound = true; request5.ValidateResponse += new EventHandler <ValidationEventArgs>(validationRule5.Validate); } if ((this.Context.ValidationLevel >= Microsoft.VisualStudio.TestTools.WebTesting.ValidationLevel.High)) { ValidationRuleFindText validationRule6 = new ValidationRuleFindText(); validationRule6.FindText = "Order Exception Info Web Part"; validationRule6.IgnoreCase = true; validationRule6.UseRegularExpression = false; validationRule6.PassIfTextFound = true; request5.ValidateResponse += new EventHandler <ValidationEventArgs>(validationRule6.Validate); } yield return(request5); request5 = null; }
public override IEnumerator <WebTestRequest> GetRequestEnumerator() { //Thread wait to complete workflow System.Threading.Thread.Sleep(60000); // 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(fbaURL + "/_layouts/login.aspx"); request1.ThinkTime = 17; request1.QueryStringParameters.Add("ReturnUrl", "%2f", false, false); 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(fbaURL + "/_layouts/login.aspx"); request2.ThinkTime = 6; request2.Method = "POST"; request2.ExpectedResponseUrl = fbaURL + "/sites/partner1/Pages/default.aspx"; request2.QueryStringParameters.Add("ReturnUrl", "%2f", false, false); FormPostHttpBody request2Body = new FormPostHttpBody(); request2Body.FormPostParameters.Add("__LASTFOCUS", this.Context["$HIDDEN1.__LASTFOCUS"].ToString()); request2Body.FormPostParameters.Add("__VIEWSTATE", this.Context["$HIDDEN1.__VIEWSTATE"].ToString()); request2Body.FormPostParameters.Add("__EVENTTARGET", this.Context["$HIDDEN1.__EVENTTARGET"].ToString()); request2Body.FormPostParameters.Add("__EVENTARGUMENT", this.Context["$HIDDEN1.__EVENTARGUMENT"].ToString()); request2Body.FormPostParameters.Add("__EVENTVALIDATION", this.Context["$HIDDEN1.__EVENTVALIDATION"].ToString()); request2Body.FormPostParameters.Add("ctl00$PlaceHolderMain$login$UserName", fbaUserName); request2Body.FormPostParameters.Add("ctl00$PlaceHolderMain$login$password", fbaUserPassword); request2Body.FormPostParameters.Add("ctl00$PlaceHolderMain$login$login", "Sign In"); request2Body.FormPostParameters.Add("__spDummyText1", ""); request2Body.FormPostParameters.Add("__spDummyText2", ""); request2.Body = request2Body; yield return(request2); request2 = null; WebTestRequest request3 = new WebTestRequest(fbaURL + "/sites/partner1/_layouts/viewlsts.aspx"); request3.ThinkTime = 3; request3.QueryStringParameters.Add("ShowSites", "1", false, false); yield return(request3); request3 = null; WebTestRequest request4 = new WebTestRequest(fbaURL + "/sites/partner1/orderexceptions/"); request4.ThinkTime = 3; request4.ExpectedResponseUrl = fbaURL + "/sites/partner1/orderexceptions/default.aspx"; yield return(request4); request4 = null; WebTestRequest request5 = new WebTestRequest(fbaURL + "/sites/partner1/orderexceptions/_layouts/viewlsts.aspx"); request5.ThinkTime = 5; // Get GUID of orderException Site request5.QueryStringParameters.Add("ShowSites", "1", false, false); ExtractText extractionRule2 = new ExtractText(); extractionRule2.StartsWith = "<A ID=\"webIcon\" HREF=\"" + fbaURL + "/sites/partner1/OrderExceptions/"; extractionRule2.EndsWith = "/\">OrderException: cvbn23</A>"; extractionRule2.IgnoreCase = true; extractionRule2.UseRegularExpression = true; extractionRule2.Required = true; extractionRule2.Index = 0; extractionRule2.HtmlDecode = true; extractionRule2.ContextParameterName = "GuidOrderExceptionPartner1"; request5.ExtractValues += new EventHandler <ExtractionEventArgs>(extractionRule2.Extract); yield return(request5); //store value in local variable string GuidOrderExceptionPartner1 = this.Context["GuidOrderExceptionPartner1"].ToString(); if (GuidOrderExceptionPartner1.IndexOf("/") > 0) { GuidOrderExceptionPartner1 = GuidOrderExceptionPartner1.Substring(GuidOrderExceptionPartner1.LastIndexOf("/") + 1); } request5 = null; WebTestRequest request6 = new WebTestRequest(fbaURL + "/sites/partner1/orderexceptions/" + GuidOrderExceptionPartner1 + "/"); request6.ExpectedResponseUrl = fbaURL + "/sites/partner1/orderexceptions/" + GuidOrderExceptionPartner1 + "/default.aspx"; if ((this.Context.ValidationLevel >= Microsoft.VisualStudio.TestTools.WebTesting.ValidationLevel.High)) { ValidationRuleFindText validationRule2 = new ValidationRuleFindText(); validationRule2.FindText = "OrderException: cvbn23"; validationRule2.IgnoreCase = true; validationRule2.UseRegularExpression = false; validationRule2.PassIfTextFound = true; request6.ValidateResponse += new EventHandler <ValidationEventArgs>(validationRule2.Validate); } if ((this.Context.ValidationLevel >= Microsoft.VisualStudio.TestTools.WebTesting.ValidationLevel.High)) { ValidationRuleFindText validationRule3 = new ValidationRuleFindText(); validationRule3.FindText = "Discussion instance"; validationRule3.IgnoreCase = true; validationRule3.UseRegularExpression = false; validationRule3.PassIfTextFound = true; request6.ValidateResponse += new EventHandler <ValidationEventArgs>(validationRule3.Validate); } if ((this.Context.ValidationLevel >= Microsoft.VisualStudio.TestTools.WebTesting.ValidationLevel.High)) { ValidationRuleFindText validationRule4 = new ValidationRuleFindText(); validationRule4.FindText = "Tasks instance"; validationRule4.IgnoreCase = true; validationRule4.UseRegularExpression = false; validationRule4.PassIfTextFound = true; request6.ValidateResponse += new EventHandler <ValidationEventArgs>(validationRule4.Validate); } if ((this.Context.ValidationLevel >= Microsoft.VisualStudio.TestTools.WebTesting.ValidationLevel.High)) { ValidationRuleFindText validationRule5 = new ValidationRuleFindText(); validationRule5.FindText = "Documents instance"; validationRule5.IgnoreCase = true; validationRule5.UseRegularExpression = false; validationRule5.PassIfTextFound = true; request6.ValidateResponse += new EventHandler <ValidationEventArgs>(validationRule5.Validate); } if ((this.Context.ValidationLevel >= Microsoft.VisualStudio.TestTools.WebTesting.ValidationLevel.High)) { ValidationRuleFindText validationRule6 = new ValidationRuleFindText(); validationRule6.FindText = "Order Exception Info Web Part"; validationRule6.IgnoreCase = true; validationRule6.UseRegularExpression = false; validationRule6.PassIfTextFound = true; request6.ValidateResponse += new EventHandler <ValidationEventArgs>(validationRule6.Validate); } yield return(request6); request6 = null; }
public override IEnumerator <WebTestRequest> GetRequestEnumerator() { //Thread wait to complete workflow System.Threading.Thread.Sleep(20000); WebTestRequest request8 = new WebTestRequest(hostURL + "/sites/partner2/Pages/default.aspx"); request8.ThinkTime = 3; yield return(request8); request8 = null; WebTestRequest request9 = new WebTestRequest(hostURL + "/sites/partner2/_layouts/viewlsts.aspx"); request9.ThinkTime = 2; request9.QueryStringParameters.Add("ShowSites", "1", false, false); yield return(request9); request9 = null; WebTestRequest request10 = new WebTestRequest(hostURL + "/sites/Partner2/incidents/"); request10.ThinkTime = 2; request10.ExpectedResponseUrl = hostURL + "/sites/Partner2/incidents/default.aspx"; yield return(request10); request10 = null; WebTestRequest request11 = new WebTestRequest(hostURL + "/sites/partner2/incidents/_layouts/viewlsts.aspx"); request11.ThinkTime = 24; request11.QueryStringParameters.Add("ShowSites", "1", false, false); //Get guid for incident 3 subsite ExtractText extractionRule3 = new ExtractText(); extractionRule3.StartsWith = "<A ID=\"webUrl\" HREF=\"" + hostURL + "/sites/partner2/incidents/"; extractionRule3.EndsWith = "/\">Incident: 3</A>"; extractionRule3.IgnoreCase = true; extractionRule3.UseRegularExpression = true; extractionRule3.Required = true; extractionRule3.Index = 0; extractionRule3.HtmlDecode = true; extractionRule3.ContextParameterName = "GuidIncident3"; request11.ExtractValues += new EventHandler <ExtractionEventArgs>(extractionRule3.Extract); yield return(request11); //store value in local variable string GuidIncident3 = this.Context["GuidIncident3"].ToString(); //extract guid if context param has other info if (GuidIncident3.IndexOf("/") > 0) { GuidIncident3 = GuidIncident3.Substring(GuidIncident3.LastIndexOf("/") + 1); } request11 = null; WebTestRequest request12 = new WebTestRequest(hostURL + "/sites/partner2/incidents/" + GuidIncident3 + "/"); request12.ThinkTime = 9; request12.ExpectedResponseUrl = hostURL + "/sites/partner2/incidents/" + GuidIncident3 + "/default.aspx"; if ((this.Context.ValidationLevel >= Microsoft.VisualStudio.TestTools.WebTesting.ValidationLevel.High)) { ValidationRuleFindText validationRule12 = new ValidationRuleFindText(); validationRule12.FindText = "Incident: 3"; validationRule12.IgnoreCase = true; validationRule12.UseRegularExpression = false; validationRule12.PassIfTextFound = true; request12.ValidateResponse += new EventHandler <ValidationEventArgs>(validationRule12.Validate); } if ((this.Context.ValidationLevel >= Microsoft.VisualStudio.TestTools.WebTesting.ValidationLevel.High)) { ValidationRuleFindText validationRule13 = new ValidationRuleFindText(); validationRule13.FindText = "Incident Tasks"; validationRule13.IgnoreCase = true; validationRule13.UseRegularExpression = false; validationRule13.PassIfTextFound = true; request12.ValidateResponse += new EventHandler <ValidationEventArgs>(validationRule13.Validate); } if ((this.Context.ValidationLevel >= Microsoft.VisualStudio.TestTools.WebTesting.ValidationLevel.High)) { ValidationRuleFindText validationRule14 = new ValidationRuleFindText(); validationRule14.FindText = "Incident Documents"; validationRule14.IgnoreCase = true; validationRule14.UseRegularExpression = false; validationRule14.PassIfTextFound = true; request12.ValidateResponse += new EventHandler <ValidationEventArgs>(validationRule14.Validate); } if ((this.Context.ValidationLevel >= Microsoft.VisualStudio.TestTools.WebTesting.ValidationLevel.High)) { ValidationRuleFindText validationRule15 = new ValidationRuleFindText(); validationRule15.FindText = "Discussion Board"; validationRule15.IgnoreCase = true; validationRule15.UseRegularExpression = false; validationRule15.PassIfTextFound = true; request12.ValidateResponse += new EventHandler <ValidationEventArgs>(validationRule15.Validate); } if ((this.Context.ValidationLevel >= Microsoft.VisualStudio.TestTools.WebTesting.ValidationLevel.High)) { ValidationRuleFindText validationRule16 = new ValidationRuleFindText(); validationRule16.FindText = "IncidentInfo Web Part"; validationRule16.IgnoreCase = true; validationRule16.UseRegularExpression = false; validationRule16.PassIfTextFound = true; request12.ValidateResponse += new EventHandler <ValidationEventArgs>(validationRule16.Validate); } yield return(request12); request12 = null; WebTestRequest request13 = new WebTestRequest(hostURL + "/sites/partner2/incidents/_layouts/viewlsts.aspx"); request13.ThinkTime = 6; request13.QueryStringParameters.Add("ShowSites", "1", false, false); //Get guid for incident 4 subsite ExtractText extractionRule4 = new ExtractText(); extractionRule4.StartsWith = "<A ID=\"webUrl\" HREF=\"" + hostURL + "/sites/partner2/incidents/"; extractionRule4.EndsWith = "/\">Incident: 4</A>"; extractionRule4.IgnoreCase = true; extractionRule4.UseRegularExpression = true; extractionRule4.Required = true; extractionRule4.Index = 0; extractionRule4.HtmlDecode = true; extractionRule4.ContextParameterName = "GuidIncident4"; request13.ExtractValues += new EventHandler <ExtractionEventArgs>(extractionRule4.Extract); yield return(request13); //store value in local variable string GuidIncident4 = this.Context["GuidIncident4"].ToString(); if (GuidIncident4.IndexOf("/") > 0) { GuidIncident4 = GuidIncident4.Substring(GuidIncident4.LastIndexOf("/") + 1); } request13 = null; WebTestRequest request14 = new WebTestRequest(hostURL + "/sites/partner2/incidents/" + GuidIncident4 + "/"); request14.ExpectedResponseUrl = hostURL + "/sites/partner2/incidents/" + GuidIncident4 + "/default.aspx"; //Validating the Incident 4 page if ((this.Context.ValidationLevel >= Microsoft.VisualStudio.TestTools.WebTesting.ValidationLevel.High)) { ValidationRuleFindText validationRule17 = new ValidationRuleFindText(); validationRule17.FindText = "Incident: 4"; validationRule17.IgnoreCase = true; validationRule17.UseRegularExpression = false; validationRule17.PassIfTextFound = true; request14.ValidateResponse += new EventHandler <ValidationEventArgs>(validationRule17.Validate); } if ((this.Context.ValidationLevel >= Microsoft.VisualStudio.TestTools.WebTesting.ValidationLevel.High)) { ValidationRuleFindText validationRule18 = new ValidationRuleFindText(); validationRule18.FindText = "Incident Tasks"; validationRule18.IgnoreCase = true; validationRule18.UseRegularExpression = false; validationRule18.PassIfTextFound = true; request14.ValidateResponse += new EventHandler <ValidationEventArgs>(validationRule18.Validate); } if ((this.Context.ValidationLevel >= Microsoft.VisualStudio.TestTools.WebTesting.ValidationLevel.High)) { ValidationRuleFindText validationRule19 = new ValidationRuleFindText(); validationRule19.FindText = "Incident Documents"; validationRule19.IgnoreCase = true; validationRule19.UseRegularExpression = false; validationRule19.PassIfTextFound = true; request14.ValidateResponse += new EventHandler <ValidationEventArgs>(validationRule19.Validate); } if ((this.Context.ValidationLevel >= Microsoft.VisualStudio.TestTools.WebTesting.ValidationLevel.High)) { ValidationRuleFindText validationRule20 = new ValidationRuleFindText(); validationRule20.FindText = "Discussion Board"; validationRule20.IgnoreCase = true; validationRule20.UseRegularExpression = false; validationRule20.PassIfTextFound = true; request14.ValidateResponse += new EventHandler <ValidationEventArgs>(validationRule20.Validate); } if ((this.Context.ValidationLevel >= Microsoft.VisualStudio.TestTools.WebTesting.ValidationLevel.High)) { ValidationRuleFindText validationRule21 = new ValidationRuleFindText(); validationRule21.FindText = "IncidentInfo Web Part"; validationRule21.IgnoreCase = true; validationRule21.UseRegularExpression = false; validationRule21.PassIfTextFound = true; request14.ValidateResponse += new EventHandler <ValidationEventArgs>(validationRule21.Validate); } yield return(request14); request14 = null; }
public override IEnumerator <WebTestRequest> GetRequestEnumerator() { WebTestRequest frequest1 = new WebTestRequest(fbaURL); frequest1.ExpectedResponseUrl = fbaURL + "/_layouts/login.aspx?ReturnUrl=%2f"; ExtractHiddenFields fextractionRule1 = new ExtractHiddenFields(); fextractionRule1.Required = true; fextractionRule1.HtmlDecode = true; fextractionRule1.ContextParameterName = "1"; frequest1.ExtractValues += new EventHandler <ExtractionEventArgs>(fextractionRule1.Extract); yield return(frequest1); frequest1 = null; WebTestRequest frequest3 = new WebTestRequest(fbaURL + "/_layouts/login.aspx"); frequest3.ThinkTime = 4; frequest3.Method = "POST"; frequest3.ExpectedResponseUrl = fbaURL + "/Pages/default.aspx"; frequest3.QueryStringParameters.Add("ReturnUrl", "%2f", false, false); FormPostHttpBody frequest3Body = new FormPostHttpBody(); frequest3Body.FormPostParameters.Add("__LASTFOCUS", this.Context["$HIDDEN1.__LASTFOCUS"].ToString()); frequest3Body.FormPostParameters.Add("__VIEWSTATE", this.Context["$HIDDEN1.__VIEWSTATE"].ToString()); frequest3Body.FormPostParameters.Add("__EVENTTARGET", this.Context["$HIDDEN1.__EVENTTARGET"].ToString()); frequest3Body.FormPostParameters.Add("__EVENTARGUMENT", this.Context["$HIDDEN1.__EVENTARGUMENT"].ToString()); frequest3Body.FormPostParameters.Add("__EVENTVALIDATION", this.Context["$HIDDEN1.__EVENTVALIDATION"].ToString()); frequest3Body.FormPostParameters.Add("ctl00$PlaceHolderMain$login$UserName", fbaUserName); frequest3Body.FormPostParameters.Add("ctl00$PlaceHolderMain$login$password", fbaUserPassword); frequest3Body.FormPostParameters.Add("ctl00$PlaceHolderMain$login$login", "Sign In"); frequest3Body.FormPostParameters.Add("__spDummyText1", ""); frequest3Body.FormPostParameters.Add("__spDummyText2", ""); frequest3.Body = frequest3Body; yield return(frequest3); frequest3 = null; WebTestRequest request1 = new WebTestRequest(fbaURL + "/sites/partner1"); request1.ExpectedResponseUrl = fbaURL + "/sites/partner1/Pages/default.aspx"; ValidationRuleFindText validationRule1 = new ValidationRuleFindText(); validationRule1.FindText = "Partner1"; validationRule1.IgnoreCase = true; validationRule1.UseRegularExpression = true; validationRule1.PassIfTextFound = true; request1.ValidateResponse += new EventHandler <ValidationEventArgs>(validationRule1.Validate); if ((this.Context.ValidationLevel >= Microsoft.VisualStudio.TestTools.WebTesting.ValidationLevel.High)) { ValidationRuleFindText validationRule2 = new ValidationRuleFindText(); validationRule2.FindText = "Partner Home"; validationRule2.IgnoreCase = true; validationRule2.UseRegularExpression = false; validationRule2.PassIfTextFound = true; request1.ValidateResponse += new EventHandler <ValidationEventArgs>(validationRule2.Validate); } if ((this.Context.ValidationLevel >= Microsoft.VisualStudio.TestTools.WebTesting.ValidationLevel.High)) { ValidationRuleFindText validationRule3 = new ValidationRuleFindText(); validationRule3.FindText = "Manage Incidents"; validationRule3.IgnoreCase = true; validationRule3.UseRegularExpression = false; validationRule3.PassIfTextFound = true; request1.ValidateResponse += new EventHandler <ValidationEventArgs>(validationRule3.Validate); } if ((this.Context.ValidationLevel >= Microsoft.VisualStudio.TestTools.WebTesting.ValidationLevel.High)) { ValidationRuleFindText validationRule4 = new ValidationRuleFindText(); validationRule4.FindText = "Manage Order Exceptions"; validationRule4.IgnoreCase = true; validationRule4.UseRegularExpression = false; validationRule4.PassIfTextFound = true; request1.ValidateResponse += new EventHandler <ValidationEventArgs>(validationRule4.Validate); } if ((this.Context.ValidationLevel >= Microsoft.VisualStudio.TestTools.WebTesting.ValidationLevel.High)) { ValidationRuleFindText validationRule5 = new ValidationRuleFindText(); validationRule5.FindText = "Product Catalog"; validationRule5.IgnoreCase = true; validationRule5.UseRegularExpression = false; validationRule5.PassIfTextFound = true; request1.ValidateResponse += new EventHandler <ValidationEventArgs>(validationRule5.Validate); } if ((this.Context.ValidationLevel >= Microsoft.VisualStudio.TestTools.WebTesting.ValidationLevel.High)) { ValidationRuleFindText validationRule6 = new ValidationRuleFindText(); validationRule6.FindText = "Promotions"; validationRule6.IgnoreCase = true; validationRule6.UseRegularExpression = false; validationRule6.PassIfTextFound = true; request1.ValidateResponse += new EventHandler <ValidationEventArgs>(validationRule6.Validate); } if ((this.Context.ValidationLevel >= Microsoft.VisualStudio.TestTools.WebTesting.ValidationLevel.High)) { ValidationRuleFindText validationRule7 = new ValidationRuleFindText(); validationRule7.FindText = "default"; validationRule7.IgnoreCase = true; validationRule7.UseRegularExpression = false; validationRule7.PassIfTextFound = true; request1.ValidateResponse += new EventHandler <ValidationEventArgs>(validationRule7.Validate); } yield return(request1); request1 = null; }
public override IEnumerator <WebTestRequest> GetRequestEnumerator() { MyMethod(); WebTestRequest request1 = new WebTestRequest("http://autotests.pmf2-gos.pmpractice.ru/asyst/page/event"); 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/Event"); 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/event")); request1Dependent1.QueryStringParameters.Add("nojscss", "true", false, false); request1Dependent1.QueryStringParameters.Add("rand", "1242532", 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/event")); FormPostHttpBody request1Dependent2Body = new FormPostHttpBody(); request1Dependent2Body.FormPostParameters.Add("", "{\"page\":\"http://autotests.pmf2-gos.pmpractice.ru/asyst/page/event\",\"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/Event/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/event")); 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/event")); 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/event")); 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/event")); 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/event")); request1Dependent7.QueryStringParameters.Add("", "{+%22action%22+:+%22checkUnread%22}", false, false); request1Dependent7.QueryStringParameters.Add("_", "1551337932316", 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/event")); 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/event")); FormPostHttpBody request3Body = new FormPostHttpBody(); request3Body.FormPostParameters.Add("", "{\"viewName\":\"MyEvent\"}"); 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/event")); FormPostHttpBody request4Body = new FormPostHttpBody(); request4Body.FormPostParameters.Add("", "{\"page\":\"http://autotests.pmf2-gos.pmpractice.ru/asyst/page/event\",\"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/MyEvent"); 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/event")); FormPostHttpBody request5Body = new FormPostHttpBody(); request5Body.FormPostParameters.Add("", "{}"); request5.Body = request5Body; yield return(request5); request5 = 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); } WebTestRequest request1 = new WebTestRequest(hostURL + "/sites/PartnerCentral/default.aspx"); request1.ThinkTime = 24; if ((this.Context.ValidationLevel >= Microsoft.VisualStudio.TestTools.WebTesting.ValidationLevel.High)) { ValidationRuleFindText validationRule2 = new ValidationRuleFindText(); validationRule2.FindText = "Team Site"; validationRule2.IgnoreCase = true; validationRule2.UseRegularExpression = false; validationRule2.PassIfTextFound = true; request1.ValidateResponse += new EventHandler <ValidationEventArgs>(validationRule2.Validate); } if ((this.Context.ValidationLevel >= Microsoft.VisualStudio.TestTools.WebTesting.ValidationLevel.High)) { ValidationRuleFindText validationRule4 = new ValidationRuleFindText(); validationRule4.FindText = "Open Tasks in System"; validationRule4.IgnoreCase = true; validationRule4.UseRegularExpression = false; validationRule4.PassIfTextFound = true; request1.ValidateResponse += new EventHandler <ValidationEventArgs>(validationRule4.Validate); } if ((this.Context.ValidationLevel >= Microsoft.VisualStudio.TestTools.WebTesting.ValidationLevel.High)) { ValidationRuleFindText validationRule5 = new ValidationRuleFindText(); validationRule5.FindText = "ContosoPartner1"; validationRule5.IgnoreCase = true; validationRule5.UseRegularExpression = false; validationRule5.PassIfTextFound = true; request1.ValidateResponse += new EventHandler <ValidationEventArgs>(validationRule5.Validate); } if ((this.Context.ValidationLevel >= Microsoft.VisualStudio.TestTools.WebTesting.ValidationLevel.High)) { ValidationRuleFindText validationRule6 = new ValidationRuleFindText(); validationRule6.FindText = "ContosoPartner2"; validationRule6.IgnoreCase = true; validationRule6.UseRegularExpression = false; validationRule6.PassIfTextFound = true; request1.ValidateResponse += new EventHandler <ValidationEventArgs>(validationRule6.Validate); } if ((this.Context.ValidationLevel >= Microsoft.VisualStudio.TestTools.WebTesting.ValidationLevel.High)) { ValidationRuleFindText validationRule7 = new ValidationRuleFindText(); validationRule7.FindText = "Builtin\\Users"; validationRule7.IgnoreCase = true; validationRule7.UseRegularExpression = false; validationRule7.PassIfTextFound = true; request1.ValidateResponse += new EventHandler <ValidationEventArgs>(validationRule7.Validate); } yield return(request1); request1 = null; WebTestRequest request2 = new WebTestRequest(hostURL + "/sites/PartnerCentral/_layouts/viewlsts.aspx"); request2.QueryStringParameters.Add("ShowSites", "1", false, false); if ((this.Context.ValidationLevel >= Microsoft.VisualStudio.TestTools.WebTesting.ValidationLevel.High)) { ValidationRuleFindText validationRule8 = new ValidationRuleFindText(); validationRule8.FindText = "PartnerDirectory"; validationRule8.IgnoreCase = true; validationRule8.UseRegularExpression = false; validationRule8.PassIfTextFound = true; request2.ValidateResponse += new EventHandler <ValidationEventArgs>(validationRule8.Validate); } if ((this.Context.ValidationLevel >= Microsoft.VisualStudio.TestTools.WebTesting.ValidationLevel.High)) { ValidationRuleFindText validationRule9 = new ValidationRuleFindText(); validationRule9.FindText = "SPGSUBSITE"; validationRule9.IgnoreCase = true; validationRule9.UseRegularExpression = false; validationRule9.PassIfTextFound = true; request2.ValidateResponse += new EventHandler <ValidationEventArgs>(validationRule9.Validate); } yield return(request2); request2 = 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/Product.aspx"); request1.QueryStringParameters.Add("sku", "6000000000", false, false); if ((this.Context.ValidationLevel >= Microsoft.VisualStudio.TestTools.WebTesting.ValidationLevel.High)) { ValidationRuleFindText validationRule2 = new ValidationRuleFindText(); validationRule2.FindText = "X-ray Machine"; validationRule2.IgnoreCase = true; validationRule2.UseRegularExpression = false; validationRule2.PassIfTextFound = true; request1.ValidateResponse += new EventHandler <ValidationEventArgs>(validationRule2.Validate); } if ((this.Context.ValidationLevel >= Microsoft.VisualStudio.TestTools.WebTesting.ValidationLevel.High)) { ValidationRuleFindText validationRule3 = new ValidationRuleFindText(); validationRule3.FindText = "SKU: 6000000000"; validationRule3.IgnoreCase = true; validationRule3.UseRegularExpression = false; validationRule3.PassIfTextFound = true; request1.ValidateResponse += new EventHandler <ValidationEventArgs>(validationRule3.Validate); } if ((this.Context.ValidationLevel >= Microsoft.VisualStudio.TestTools.WebTesting.ValidationLevel.High)) { ValidationRuleFindText validationRule4 = new ValidationRuleFindText(); validationRule4.FindText = "ProductDetailsWebPart Web Part"; validationRule4.IgnoreCase = true; validationRule4.UseRegularExpression = false; validationRule4.PassIfTextFound = true; request1.ValidateResponse += new EventHandler <ValidationEventArgs>(validationRule4.Validate); } if ((this.Context.ValidationLevel >= Microsoft.VisualStudio.TestTools.WebTesting.ValidationLevel.High)) { ValidationRuleFindText validationRule5 = new ValidationRuleFindText(); validationRule5.FindText = "PricingWebPart Web Part"; validationRule5.IgnoreCase = true; validationRule5.UseRegularExpression = false; validationRule5.PassIfTextFound = true; request1.ValidateResponse += new EventHandler <ValidationEventArgs>(validationRule5.Validate); } if ((this.Context.ValidationLevel >= Microsoft.VisualStudio.TestTools.WebTesting.ValidationLevel.High)) { ValidationRuleFindText validationRule6 = new ValidationRuleFindText(); validationRule6.FindText = "Discounts Web Part"; validationRule6.IgnoreCase = true; validationRule6.UseRegularExpression = false; validationRule6.PassIfTextFound = true; request1.ValidateResponse += new EventHandler <ValidationEventArgs>(validationRule6.Validate); } if ((this.Context.ValidationLevel >= Microsoft.VisualStudio.TestTools.WebTesting.ValidationLevel.High)) { ValidationRuleFindText validationRule7 = new ValidationRuleFindText(); validationRule7.FindText = "RelatedPartsWebPart Web Part"; validationRule7.IgnoreCase = true; validationRule7.UseRegularExpression = false; validationRule7.PassIfTextFound = true; request1.ValidateResponse += new EventHandler <ValidationEventArgs>(validationRule7.Validate); } yield return(request1); request1 = null; }
public override IEnumerator <WebTestRequest> GetRequestEnumerator() { // Inicializar reglas de validación aplicables a todas las solicitudes de prueba web 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://*****:*****@"AQAAANCMnd8BFdERjHoAwE%2FCl%2BsBAAAAdWERdXR9qEiTyCY%2FbCDY7QAAAAACAAAAAAAQZgAAAAEAACAAAAAbiAI3b5xajd%2F70XHT2wXZo%2BAO0f3WNiUbp2GeOiXZbQAAAAAOgAAAAAIAACAAAAADrAWHlew0f6cKNBAIxWh%2BLIE5aOyKI%2B%2BU3DsV1a4ZKjAAAADXyduGRc2BWoGrmg6lj69OFEA7PoCbUMjxpMR2F934Ct%2BW%2FQQVlRUCiJN1nRqEhxlAAAAAKPb3IlfAwwioR38hSkZoHpnk0Wh5Rs3hYLtPKU9BfhCvJP0ZySD5U8fuoVOlmjbnnlLmlv0Rdb09uGV6mqlKlw%3D%3D", false, false); request3.QueryStringParameters.Add("requestUrl", "http%3A%2F%2Flocalhost%3A1703%2Fadmin%2FAC-DC%2FLet%2520There%2520Be%2520Rock%2Fe" + "ditar", false, false); request3.QueryStringParameters.Add("browserName", "Internet+Explorer", false, false); request3.QueryStringParameters.Add("userAgent", "Mozilla%2F5.0+(Windows+NT+6.3%3B+WOW64%3B+Trident%2F7.0%3B+.NET4.0E%3B+.NET4.0C%3" + "B+.NET+CLR+3.5.30729%3B+.NET+CLR+2.0.50727%3B+.NET+CLR+3.0.30729%3B+rv%3A11.0)+l" + "ike+Gecko", false, false); request3.QueryStringParameters.Add("tid", "10", false, false); yield return(request3); request3 = null; WebTestRequest request4 = new WebTestRequest("http://*****:*****@"AQAAANCMnd8BFdERjHoAwE%2FCl%2BsBAAAAdWERdXR9qEiTyCY%2FbCDY7QAAAAACAAAAAAAQZgAAAAEAACAAAAAbiAI3b5xajd%2F70XHT2wXZo%2BAO0f3WNiUbp2GeOiXZbQAAAAAOgAAAAAIAACAAAAADrAWHlew0f6cKNBAIxWh%2BLIE5aOyKI%2B%2BU3DsV1a4ZKjAAAADXyduGRc2BWoGrmg6lj69OFEA7PoCbUMjxpMR2F934Ct%2BW%2FQQVlRUCiJN1nRqEhxlAAAAAKPb3IlfAwwioR38hSkZoHpnk0Wh5Rs3hYLtPKU9BfhCvJP0ZySD5U8fuoVOlmjbnnlLmlv0Rdb09uGV6mqlKlw%3D%3D", false, false); request7.QueryStringParameters.Add("requestUrl", "http%3A%2F%2Flocalhost%3A1703%2Fadmin%2FAC-DC%2FLet%2520There%2520Be%2520Rock%2Fe" + "ditar", false, false); request7.QueryStringParameters.Add("browserName", "Internet+Explorer", false, false); request7.QueryStringParameters.Add("userAgent", "Mozilla%2F5.0+(Windows+NT+6.3%3B+WOW64%3B+Trident%2F7.0%3B+.NET4.0E%3B+.NET4.0C%3" + "B+.NET+CLR+3.5.30729%3B+.NET+CLR+2.0.50727%3B+.NET+CLR+3.0.30729%3B+rv%3A11.0)+l" + "ike+Gecko", false, false); FormPostHttpBody request7Body = new FormPostHttpBody(); request7.Body = request7Body; yield return(request7); request7 = null; WebTestRequest request8 = new WebTestRequest("http://localhost:2156/66059c9b0a944136b14e9347b6d25241/browserLinkSignalR/negotia" + "te"); request8.Method = "POST"; request8.Headers.Add(new WebTestRequestHeader("Content-Type", "application/x-www-form-urlencoded; charset=UTF-8")); request8.Headers.Add(new WebTestRequestHeader("Accept", "text/plain, */*; q=0.01")); request8.Headers.Add(new WebTestRequestHeader("Referer", "http://localhost:1703/")); request8.QueryStringParameters.Add("requestUrl", "http%3A%2F%2Flocalhost%3A1703%2F", false, false); request8.QueryStringParameters.Add("browserName", "Internet+Explorer", false, false); request8.QueryStringParameters.Add("userAgent", "Mozilla%2F5.0+(Windows+NT+6.3%3B+WOW64%3B+Trident%2F7.0%3B+.NET4.0E%3B+.NET4.0C%3" + "B+.NET+CLR+3.5.30729%3B+.NET+CLR+2.0.50727%3B+.NET+CLR+3.0.30729%3B+rv%3A11.0)+l" + "ike+Gecko", false, false); request8.QueryStringParameters.Add("clientProtocol", "1.3", false, false); request8.QueryStringParameters.Add("_", "1466284084612", false, false); FormPostHttpBody request8Body = new FormPostHttpBody(); request8.Body = request8Body; yield return(request8); request8 = null; }
public override IEnumerator <WebTestRequest> GetRequestEnumerator() { this.UserName = System.Environment.MachineName + "\\ContosoPartner1User8"; 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() { WebTestRequest request1 = new WebTestRequest("https://www.telerik.com/UpdateCheck.aspx"); request1.ThinkTime = 21; request1.Timeout = 60; request1.Headers.Add(new WebTestRequestHeader("Pragma", "no-cache")); request1.QueryStringParameters.Add("isBeta", "False"); yield return(request1); request1 = null; WebTestRequest request2 = new WebTestRequest("http://api.bing.com/qsml.aspx"); request2.Timeout = 60; request2.Headers.Add(new WebTestRequestHeader("DNT", "1")); request2.QueryStringParameters.Add("query", "y"); request2.QueryStringParameters.Add("maxwidth", "32765"); request2.QueryStringParameters.Add("rowheight", "26"); request2.QueryStringParameters.Add("sectionHeight", "208"); request2.QueryStringParameters.Add("FORM", "IESS02"); request2.QueryStringParameters.Add("market", "en-US"); yield return(request2); request2 = null; WebTestRequest request3 = new WebTestRequest("http://api.bing.com/qsml.aspx"); request3.Timeout = 60; request3.Headers.Add(new WebTestRequestHeader("DNT", "1")); request3.QueryStringParameters.Add("query", "ya"); request3.QueryStringParameters.Add("maxwidth", "32765"); request3.QueryStringParameters.Add("rowheight", "26"); request3.QueryStringParameters.Add("sectionHeight", "208"); request3.QueryStringParameters.Add("FORM", "IESS02"); request3.QueryStringParameters.Add("market", "en-US"); yield return(request3); request3 = null; WebTestRequest request4 = new WebTestRequest("http://api.bing.com/qsml.aspx"); request4.Timeout = 60; request4.Headers.Add(new WebTestRequestHeader("DNT", "1")); request4.QueryStringParameters.Add("query", "yah"); request4.QueryStringParameters.Add("maxwidth", "32765"); request4.QueryStringParameters.Add("rowheight", "26"); request4.QueryStringParameters.Add("sectionHeight", "208"); request4.QueryStringParameters.Add("FORM", "IESS02"); request4.QueryStringParameters.Add("market", "en-US"); yield return(request4); request4 = null; WebTestRequest request5 = new WebTestRequest("http://api.bing.com/qsml.aspx"); request5.Timeout = 60; request5.Headers.Add(new WebTestRequestHeader("DNT", "1")); request5.QueryStringParameters.Add("query", "yaho"); request5.QueryStringParameters.Add("maxwidth", "32765"); request5.QueryStringParameters.Add("rowheight", "26"); request5.QueryStringParameters.Add("sectionHeight", "208"); request5.QueryStringParameters.Add("FORM", "IESS02"); request5.QueryStringParameters.Add("market", "en-US"); yield return(request5); request5 = null; WebTestRequest request6 = new WebTestRequest("http://api.bing.com/qsml.aspx"); request6.Timeout = 60; request6.Headers.Add(new WebTestRequestHeader("DNT", "1")); request6.QueryStringParameters.Add("query", "yahoo"); request6.QueryStringParameters.Add("maxwidth", "32765"); request6.QueryStringParameters.Add("rowheight", "26"); request6.QueryStringParameters.Add("sectionHeight", "208"); request6.QueryStringParameters.Add("FORM", "IESS02"); request6.QueryStringParameters.Add("market", "en-US"); yield return(request6); request6 = null; WebTestRequest request7 = new WebTestRequest("http://yahoomail.com/"); request7.Timeout = 60; request7.Headers.Add(new WebTestRequestHeader("DNT", "1")); yield return(request7); request7 = null; WebTestRequest request8 = new WebTestRequest("http://ss.symcd.com/MFEwTzBNMEswSTAJBgUrDgMCGgUABBTRsWSLjJ8N0Wujis0rUBfV%2Bc%2FAZ" + "AQUX2DPYZBV34RDFIpgKrL1evRDGO8CEAPWCvc6OmnaFsJ7jE5jV8E%3D"); request8.ThinkTime = 2; request8.Timeout = 60; yield return(request8); request8 = null; WebTestRequest request9 = new WebTestRequest("http://ss.symcd.com/MFEwTzBNMEswSTAJBgUrDgMCGgUABBTRsWSLjJ8N0Wujis0rUBfV%2Bc%2FAZ" + "AQUX2DPYZBV34RDFIpgKrL1evRDGO8CEHUSAVHS%2BeKbjmi3VAZfm8k%3D"); request9.ThinkTime = 1; request9.Timeout = 60; yield return(request9); request9 = null; WebTestRequest request10 = new WebTestRequest("http://ss.symcd.com/MFEwTzBNMEswSTAJBgUrDgMCGgUABBTRsWSLjJ8N0Wujis0rUBfV%2Bc%2FAZ" + "AQUX2DPYZBV34RDFIpgKrL1evRDGO8CEGYxEdPOwq9cY7LDZtmpRAE%3D"); request10.Timeout = 60; yield return(request10); request10 = null; WebTestRequest request11 = new WebTestRequest("http://vassg142.ocsp.omniroot.com/MFUwUzBRME8wTTAJBgUrDgMCGgUABBTkLVLomfJQOu5CFIg" + "POR73ljBRHAQU%2BL36r3N3xscb%2BUtNEafRM6%2BvchECFChPirZjzI2lcZqys9X5eeuZaCpA"); request11.Timeout = 60; yield return(request11); request11 = null; WebTestRequest request12 = new WebTestRequest("http://ss.symcd.com/MFEwTzBNMEswSTAJBgUrDgMCGgUABBTRsWSLjJ8N0Wujis0rUBfV%2Bc%2FAZ" + "AQUX2DPYZBV34RDFIpgKrL1evRDGO8CEAH7TOm1bUTQQVzg0Pfgmy4%3D"); request12.Timeout = 60; yield return(request12); request12 = null; WebTestRequest request13 = new WebTestRequest("http://ss.symcd.com/MFEwTzBNMEswSTAJBgUrDgMCGgUABBTRsWSLjJ8N0Wujis0rUBfV%2Bc%2FAZ" + "AQUX2DPYZBV34RDFIpgKrL1evRDGO8CEDnQETkANbILqbe3d43Z2iM%3D"); request13.ThinkTime = 1; request13.Timeout = 60; yield return(request13); request13 = null; WebTestRequest request14 = new WebTestRequest("http://ss.symcd.com/MFEwTzBNMEswSTAJBgUrDgMCGgUABBTRsWSLjJ8N0Wujis0rUBfV%2Bc%2FAZ" + "AQUX2DPYZBV34RDFIpgKrL1evRDGO8CECfzDmWuAKIUMRRQGE0N4sU%3D"); request14.ThinkTime = 11; request14.Timeout = 60; yield return(request14); request14 = null; WebTestRequest request15 = new WebTestRequest("http://ss.symcd.com/MFEwTzBNMEswSTAJBgUrDgMCGgUABBTRsWSLjJ8N0Wujis0rUBfV%2Bc%2FAZ" + "AQUX2DPYZBV34RDFIpgKrL1evRDGO8CEFZ42PCFFBuLCKZNK9CODmE%3D"); request15.ThinkTime = 3; request15.Timeout = 60; yield return(request15); request15 = null; WebTestRequest request16 = new WebTestRequest("http://ocsp.godaddy.com//MEowSDBGMEQwQjAJBgUrDgMCGgUABBS2CA1fbGt26xPkOKX4ZguoUjM0" + "TgQUQMK9J47MNIMwojPX%2B2yz8LQsgM4CCQCzUdtZrbpA8g%3D%3D"); request16.Timeout = 30; yield return(request16); request16 = null; if (DateTime.Today.DayOfWeek == DayOfWeek.Friday) { WebTestRequest customRequest = new WebTestRequest("http://weather.msn.com/"); yield return(customRequest); } else { WebTestRequest customRequest = new WebTestRequest("http://msdn.microsoft.com/"); yield return(customRequest); } MessageBox.Show("XYZ validation"); }
public override IEnumerator <WebTestRequest> GetRequestEnumerator() { if (Context.ValidationLevel >= ValidationLevel.High) { var responseTimeValidationRule = new ValidationRuleRequestTime() { MaxRequestTime = 1000, }; ValidateResponse += new EventHandler <ValidationEventArgs>(responseTimeValidationRule.Validate); var responseTimeThresholdValidationRule = new ValidationRuleResponseTimeGoal() { Tolerance = 15D, }; ValidateResponseOnPageComplete += new EventHandler <ValidationEventArgs>(responseTimeThresholdValidationRule.Validate); } var webTestRequest = new WebTestRequest("http://jwdotnetcore.azurewebsites.net/api/customers") { Method = "POST", }; webTestRequest.PostRequest += WebTestRequest_PostRequest; var orderItem = new Faker <OrderItem>() .RuleFor(oi => oi.SerialNumber, p => p.Finance.Iban()) .RuleFor(oi => oi.Title, p => p.Commerce.Product()) .RuleFor(oi => oi.Description, p => p.Lorem.Sentences(5)) .RuleFor(oi => oi.Cost, p => p.Random.Double(1, 100)) .RuleFor(oi => oi.Quantity, p => p.Random.Int(1, 10)); var order = new Faker <Order>() .RuleFor(oi => oi.OrderDate, p => p.Date.Between(DateTime.Now.AddYears(-1), DateTime.Now)) .RuleFor(oi => oi.OrderItems, (faker) => { return(orderItem.Generate(faker.Random.Int(1, 100))); }); var address = new Faker <Address>() .RuleFor(a => a.AddressLine1, p => p.Address.StreetAddress()) .RuleFor(a => a.AddressLine2, p => p.Address.BuildingNumber()) .RuleFor(a => a.City, p => p.Address.City()) .RuleFor(a => a.State, p => p.Address.StateAbbr()) .RuleFor(a => a.ZipCode, p => p.Address.ZipCode()); var customer = new Faker <Customer>() .RuleFor(c => c.FirstName, p => p.Name.FirstName()) .RuleFor(c => c.LastName, p => p.Name.LastName()) .RuleFor(c => c.BirthDate, p => p.Date.Between(DateTime.Now.AddYears(-80), DateTime.Now.AddYears(-18))) .RuleFor(c => c.Address, (faker) => { return(address.Generate()); }) .RuleFor(c => c.Orders, (faker) => { return(order.Generate(faker.Random.Int(1, 10))); }) .Generate(); var json = JsonConvert.SerializeObject(customer); var body = new StringHttpBody { ContentType = "application/json", InsertByteOrderMark = false, BodyString = json, }; webTestRequest.Body = body; yield return(webTestRequest); webTestRequest = 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); if (this.LastResponse.ResponseUri.ToString().Contains("verify-upload")) { WebTestRequest cancelGet = AssertAndValidationHelper.GetCancelGetRequest(); yield return(cancelGet); cancelGet = null; uploadRequest = AssertAndValidationHelper.GetHttpRequestForUrl(UrlHelper.UploadPageUrl); yield return(uploadRequest); } uploadRequest = null; string packageId = DateTime.Now.Ticks.ToString(); string packageFullPath = PackageCreationHelper.CreatePackage(packageId); WebTestRequest uploadPostRequest = AssertAndValidationHelper.GetUploadPostRequestForPackage(this, packageFullPath); yield return(uploadPostRequest); uploadPostRequest = null; WebTestRequest verifyUploadPostRequest = AssertAndValidationHelper.GetVerifyPackagePostRequestForPackage(this, packageId, "1.0.0"); yield return(verifyUploadPostRequest); verifyUploadPostRequest = null; System.Threading.Thread.Sleep(60000); WebTestRequest packageRequest = new WebTestRequest(UrlHelper.GetPackagePageUrl(packageId)); ValidationRuleFindText findTextRule = AssertAndValidationHelper.GetValidationRuleForFindText("Contact Us"); packageRequest.ValidateResponse += new EventHandler <ValidationEventArgs>(findTextRule.Validate); yield return(packageRequest); packageRequest = null; // Log off WebTestRequest logOffGet = AssertAndValidationHelper.GetLogOffGetRequest(); yield return(logOffGet); logOffGet = null; packageRequest = new WebTestRequest(UrlHelper.GetPackagePageUrl(packageId)); //Rule to check manage my packages contains a html link to the newly uploaded package. ValidationRuleFindText reportAbuseValidationRule = AssertAndValidationHelper.GetValidationRuleForFindText("Report Abuse"); packageRequest.ValidateResponse += new EventHandler <ValidationEventArgs>(reportAbuseValidationRule.Validate); yield return(packageRequest); packageRequest = null; }
public override IEnumerator <WebTestRequest> GetRequestEnumerator() { WebTestRequest request1 = new WebTestRequest(serviceURL + "/CreateOrderExceptionSite.aspx"); request1.ThinkTime = 11; 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 + "/CreateOrderExceptionSite.aspx"); request2.ThinkTime = 13; 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("partnerId", "Contosopartner1"); request2Body.FormPostParameters.Add("orderExceptionId", "cvbn23"); request2Body.FormPostParameters.Add("createSite", "Create Site"); request2.Body = request2Body; yield return(request2); request2 = null; WebTestRequest request3 = new WebTestRequest(hostURL + "/sites/partner1/default.aspx"); request3.ThinkTime = 12; yield return(request3); request3 = null; //Add some time delay until workflow create subsites.. //Thread.Sleep(30000); WebTestRequest request4 = new WebTestRequest(hostURL + "/sites/partner1/_layouts/viewlsts.aspx"); request4.ThinkTime = 4; request4.QueryStringParameters.Add("ShowSites", "1", false, false); yield return(request4); request4 = null; WebTestRequest request5 = new WebTestRequest(hostURL + "/sites/partner1/OrderExceptions/"); request5.ThinkTime = 11; request5.ExpectedResponseUrl = hostURL + "/sites/partner1/OrderExceptions/default.aspx"; yield return(request5); request5 = null; WebTestRequest request6 = new WebTestRequest(hostURL + "/sites/partner1/OrderExceptions/_layouts/viewlsts.aspx"); request6.ThinkTime = 7; request6.QueryStringParameters.Add("ShowSites", "1", false, false); }
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; }
public override IEnumerator <WebTestRequest> GetRequestEnumerator() { this.UserName = System.Environment.MachineName + "\\ContosoPartner1User6"; 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/partner1/Pages/default.aspx"); request1.ThinkTime = 3; yield return(request1); request1 = null; WebTestRequest request2 = new WebTestRequest(hostURL + "/sites/partner1/_layouts/viewlsts.aspx"); request2.ThinkTime = 2; request2.QueryStringParameters.Add("ShowSites", "1", false, false); yield return(request2); request2 = null; WebTestRequest request3 = new WebTestRequest(hostURL + "/sites/partner1/incidents/"); request3.ThinkTime = 3; request3.ExpectedResponseUrl = hostURL + "/sites/partner1/incidents/default.aspx"; yield return(request3); request3 = null; WebTestRequest request4 = new WebTestRequest(hostURL + "/sites/partner1/incidents/_layouts/viewlsts.aspx"); request4.ThinkTime = 13; request4.QueryStringParameters.Add("ShowSites", "1", false, false); //Get guid for incident 1 subsite ExtractText extractionRule1 = new ExtractText(); extractionRule1.StartsWith = "<A ID=\"webUrl\" HREF=\"" + hostURL + "/sites/partner1/incidents/"; extractionRule1.EndsWith = "/\">Incident: 1</A>"; extractionRule1.IgnoreCase = true; extractionRule1.UseRegularExpression = true; extractionRule1.Required = true; //extractionRule1.ExtractRandomMatch = false; extractionRule1.Index = 0; extractionRule1.HtmlDecode = true; extractionRule1.ContextParameterName = "GuidIncident1"; request4.ExtractValues += new EventHandler <ExtractionEventArgs>(extractionRule1.Extract); yield return(request4); //store value in local veriable string GuidIncident1 = this.Context["GuidIncident1"].ToString(); request4 = null; WebTestRequest request5 = new WebTestRequest(hostURL + "/sites/partner1/incidents/" + GuidIncident1 + "/"); request5.ThinkTime = 8; request5.ExpectedResponseUrl = hostURL + "/sites/partner1/incidents/" + GuidIncident1 + "/default.aspx"; if ((this.Context.ValidationLevel >= Microsoft.VisualStudio.TestTools.WebTesting.ValidationLevel.High)) { ValidationRuleFindText validationRule2 = new ValidationRuleFindText(); validationRule2.FindText = "Incident: 1"; validationRule2.IgnoreCase = true; validationRule2.UseRegularExpression = false; validationRule2.PassIfTextFound = true; request5.ValidateResponse += new EventHandler <ValidationEventArgs>(validationRule2.Validate); } if ((this.Context.ValidationLevel >= Microsoft.VisualStudio.TestTools.WebTesting.ValidationLevel.High)) { ValidationRuleFindText validationRule3 = new ValidationRuleFindText(); validationRule3.FindText = "Incident Documents"; validationRule3.IgnoreCase = true; validationRule3.UseRegularExpression = false; validationRule3.PassIfTextFound = true; request5.ValidateResponse += new EventHandler <ValidationEventArgs>(validationRule3.Validate); } if ((this.Context.ValidationLevel >= Microsoft.VisualStudio.TestTools.WebTesting.ValidationLevel.High)) { ValidationRuleFindText validationRule4 = new ValidationRuleFindText(); validationRule4.FindText = "Incident Tasks"; validationRule4.IgnoreCase = true; validationRule4.UseRegularExpression = false; validationRule4.PassIfTextFound = true; request5.ValidateResponse += new EventHandler <ValidationEventArgs>(validationRule4.Validate); } if ((this.Context.ValidationLevel >= Microsoft.VisualStudio.TestTools.WebTesting.ValidationLevel.High)) { ValidationRuleFindText validationRule5 = new ValidationRuleFindText(); validationRule5.FindText = "Discussion Board"; validationRule5.IgnoreCase = true; validationRule5.UseRegularExpression = false; validationRule5.PassIfTextFound = true; request5.ValidateResponse += new EventHandler <ValidationEventArgs>(validationRule5.Validate); } if ((this.Context.ValidationLevel >= Microsoft.VisualStudio.TestTools.WebTesting.ValidationLevel.High)) { ValidationRuleFindText validationRule6 = new ValidationRuleFindText(); validationRule6.FindText = "IncidentInfo Web Part"; validationRule6.IgnoreCase = true; validationRule6.UseRegularExpression = false; validationRule6.PassIfTextFound = true; request5.ValidateResponse += new EventHandler <ValidationEventArgs>(validationRule6.Validate); } yield return(request5); request5 = null; WebTestRequest request6 = new WebTestRequest(hostURL + "/sites/partner1/incidents/_layouts/viewlsts.aspx"); request6.ThinkTime = 20; request6.QueryStringParameters.Add("ShowSites", "1", false, false); //Get guid for incident 2 subsite ExtractText extractionRule2 = new ExtractText(); extractionRule2.StartsWith = "<A ID=\"webUrl\" HREF=\"" + hostURL + "/sites/partner1/incidents/"; extractionRule2.EndsWith = "/\">Incident: 2</A>"; extractionRule2.IgnoreCase = true; extractionRule2.UseRegularExpression = true; extractionRule2.Required = true; extractionRule2.Index = 0; extractionRule2.HtmlDecode = true; extractionRule2.ContextParameterName = "GuidIncident2"; request6.ExtractValues += new EventHandler <ExtractionEventArgs>(extractionRule2.Extract); yield return(request6); //store value in local veriable string GuidIncident2 = this.Context["GuidIncident2"].ToString(); //extract guid if context parameter has other information if (GuidIncident2.IndexOf("/") > 0) { GuidIncident2 = GuidIncident2.Substring(GuidIncident2.LastIndexOf("/") + 1); } request6 = null; WebTestRequest request7 = new WebTestRequest(hostURL + "/sites/partner1/incidents/" + GuidIncident2 + "/"); request7.ThinkTime = 25; request7.ExpectedResponseUrl = hostURL + "/sites/partner1/incidents/" + GuidIncident2 + "/default.aspx"; if ((this.Context.ValidationLevel >= Microsoft.VisualStudio.TestTools.WebTesting.ValidationLevel.High)) { ValidationRuleFindText validationRule7 = new ValidationRuleFindText(); validationRule7.FindText = "Incident: 2"; validationRule7.IgnoreCase = true; validationRule7.UseRegularExpression = false; validationRule7.PassIfTextFound = true; request7.ValidateResponse += new EventHandler <ValidationEventArgs>(validationRule7.Validate); } if ((this.Context.ValidationLevel >= Microsoft.VisualStudio.TestTools.WebTesting.ValidationLevel.High)) { ValidationRuleFindText validationRule8 = new ValidationRuleFindText(); validationRule8.FindText = "Incident Tasks"; validationRule8.IgnoreCase = true; validationRule8.UseRegularExpression = false; validationRule8.PassIfTextFound = true; request7.ValidateResponse += new EventHandler <ValidationEventArgs>(validationRule8.Validate); } if ((this.Context.ValidationLevel >= Microsoft.VisualStudio.TestTools.WebTesting.ValidationLevel.High)) { ValidationRuleFindText validationRule9 = new ValidationRuleFindText(); validationRule9.FindText = "Incident Documents"; validationRule9.IgnoreCase = true; validationRule9.UseRegularExpression = false; validationRule9.PassIfTextFound = true; request7.ValidateResponse += new EventHandler <ValidationEventArgs>(validationRule9.Validate); } if ((this.Context.ValidationLevel >= Microsoft.VisualStudio.TestTools.WebTesting.ValidationLevel.High)) { ValidationRuleFindText validationRule10 = new ValidationRuleFindText(); validationRule10.FindText = "Discussion Board"; validationRule10.IgnoreCase = true; validationRule10.UseRegularExpression = false; validationRule10.PassIfTextFound = true; request7.ValidateResponse += new EventHandler <ValidationEventArgs>(validationRule10.Validate); } if ((this.Context.ValidationLevel >= Microsoft.VisualStudio.TestTools.WebTesting.ValidationLevel.High)) { ValidationRuleFindText validationRule11 = new ValidationRuleFindText(); validationRule11.FindText = "IncidentInfo Web Part"; validationRule11.IgnoreCase = true; validationRule11.UseRegularExpression = false; validationRule11.PassIfTextFound = true; request7.ValidateResponse += new EventHandler <ValidationEventArgs>(validationRule11.Validate); } yield return(request7); request7 = 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); } WebTestRequest request1 = new WebTestRequest(fbaURL + "/_layouts/login.aspx"); request1.ThinkTime = 19; request1.ExpectedResponseUrl = fbaURL + "/_layouts/login.aspx?ReturnUrl=%2f"; 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(fbaURL + "/_layouts/login.aspx"); request2.ThinkTime = 10; request2.Method = "POST"; request2.ExpectedResponseUrl = fbaURL + "/sites/partner1/Pages/default.aspx"; request2.QueryStringParameters.Add("ReturnUrl", "%2f", false, false); FormPostHttpBody request2Body = new FormPostHttpBody(); request2Body.FormPostParameters.Add("__LASTFOCUS", this.Context["$HIDDEN1.__LASTFOCUS"].ToString()); request2Body.FormPostParameters.Add("__VIEWSTATE", this.Context["$HIDDEN1.__VIEWSTATE"].ToString()); request2Body.FormPostParameters.Add("__EVENTTARGET", this.Context["$HIDDEN1.__EVENTTARGET"].ToString()); request2Body.FormPostParameters.Add("__EVENTARGUMENT", this.Context["$HIDDEN1.__EVENTARGUMENT"].ToString()); request2Body.FormPostParameters.Add("__EVENTVALIDATION", this.Context["$HIDDEN1.__EVENTVALIDATION"].ToString()); request2Body.FormPostParameters.Add("ctl00$PlaceHolderMain$login$UserName", "ContosoPartner1user1"); request2Body.FormPostParameters.Add("ctl00$PlaceHolderMain$login$password", "P2ssw0rd$"); request2Body.FormPostParameters.Add("ctl00$PlaceHolderMain$login$login", "Sign In"); request2Body.FormPostParameters.Add("__spDummyText1", ""); request2Body.FormPostParameters.Add("__spDummyText2", ""); request2.Body = request2Body; yield return(request2); request2 = null; WebTestRequest request3 = new WebTestRequest(fbaURL + "/sites/productcatalog/category.aspx"); request3.ThinkTime = 1; request3.QueryStringParameters.Add("categoryid", "0", false, false); //Check for Category Details Webpart title if ((this.Context.ValidationLevel >= Microsoft.VisualStudio.TestTools.WebTesting.ValidationLevel.High)) { ValidationRuleFindText validationRule2 = new ValidationRuleFindText(); validationRule2.FindText = "Category Details"; validationRule2.IgnoreCase = true; validationRule2.UseRegularExpression = false; validationRule2.PassIfTextFound = true; request3.ValidateResponse += new EventHandler <ValidationEventArgs>(validationRule2.Validate); } //Check for Category List Webpart title if ((this.Context.ValidationLevel >= Microsoft.VisualStudio.TestTools.WebTesting.ValidationLevel.High)) { ValidationRuleFindText validationRule3 = new ValidationRuleFindText(); validationRule3.FindText = "Category List"; validationRule3.IgnoreCase = true; validationRule3.UseRegularExpression = false; validationRule3.PassIfTextFound = true; request3.ValidateResponse += new EventHandler <ValidationEventArgs>(validationRule3.Validate); } //Check for Product List Webpart title if ((this.Context.ValidationLevel >= Microsoft.VisualStudio.TestTools.WebTesting.ValidationLevel.High)) { ValidationRuleFindText validationRule4 = new ValidationRuleFindText(); validationRule4.FindText = "Product List"; validationRule4.IgnoreCase = true; validationRule4.UseRegularExpression = false; validationRule4.PassIfTextFound = true; request3.ValidateResponse += new EventHandler <ValidationEventArgs>(validationRule4.Validate); } ExtractHiddenFields extractionRule2 = new ExtractHiddenFields(); extractionRule2.Required = true; extractionRule2.HtmlDecode = true; extractionRule2.ContextParameterName = "1"; request3.ExtractValues += new EventHandler <ExtractionEventArgs>(extractionRule2.Extract); ExtractHiddenFields extractionRule3 = new ExtractHiddenFields(); extractionRule3.Required = true; extractionRule3.HtmlDecode = true; extractionRule3.ContextParameterName = "2"; request3.ExtractValues += new EventHandler <ExtractionEventArgs>(extractionRule3.Extract); ExtractHiddenFields extractionRule4 = new ExtractHiddenFields(); extractionRule4.Required = true; extractionRule4.HtmlDecode = true; extractionRule4.ContextParameterName = "3"; request3.ExtractValues += new EventHandler <ExtractionEventArgs>(extractionRule4.Extract); //Extract CategoryDetail WebPart guid ExtractAttributeValue extractionRule5 = new ExtractAttributeValue(); extractionRule5.TagName = "div"; extractionRule5.AttributeName = "WebPartID"; extractionRule5.MatchAttributeName = "id"; extractionRule5.MatchAttributeValue = "WebPartWPQ3"; extractionRule5.HtmlDecode = true; extractionRule5.Required = true; extractionRule5.Index = 0; extractionRule5.ContextParameterName = ""; extractionRule5.ContextParameterName = "CategoryDetailWebPartGuid"; request3.ExtractValues += new EventHandler <ExtractionEventArgs>(extractionRule5.Extract); //Extract CategoryList WebPart guid ExtractAttributeValue extractionRule6 = new ExtractAttributeValue(); extractionRule6.TagName = "div"; extractionRule6.AttributeName = "WebPartID"; extractionRule6.MatchAttributeName = "id"; extractionRule6.MatchAttributeValue = "WebPartWPQ4"; extractionRule6.HtmlDecode = true; extractionRule6.Required = true; extractionRule6.Index = 0; extractionRule6.ContextParameterName = ""; extractionRule6.ContextParameterName = "CategoryListWebPartGuid"; request3.ExtractValues += new EventHandler <ExtractionEventArgs>(extractionRule6.Extract); //Extract ProductList WebPart guid ExtractAttributeValue extractionRule7 = new ExtractAttributeValue(); extractionRule7.TagName = "div"; extractionRule7.AttributeName = "WebPartID"; extractionRule7.MatchAttributeName = "id"; extractionRule7.MatchAttributeValue = "WebPartWPQ5"; extractionRule7.HtmlDecode = true; extractionRule7.Required = true; extractionRule7.Index = 0; extractionRule7.ContextParameterName = ""; extractionRule7.ContextParameterName = "ProductListWebPartGuid"; request3.ExtractValues += new EventHandler <ExtractionEventArgs>(extractionRule7.Extract); yield return(request3); string CategoryDetailWebPartGuid = Context["CategoryDetailWebPartGuid"].ToString(); string CategoryListWebPartGuid = Context["CategoryListWebPartGuid"].ToString(); string ProductListWebPartGuid = Context["ProductListWebPartGuid"].ToString(); request3 = null; WebTestRequest request4 = new WebTestRequest(fbaURL + "/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["$HIDDEN1.MSO_PageHashCode"].ToString()); request4Body.FormPostParameters.Add("MSOWebPartPage_PostbackSource", this.Context["$HIDDEN1.MSOWebPartPage_PostbackSource"].ToString()); request4Body.FormPostParameters.Add("MSOTlPn_SelectedWpId", this.Context["$HIDDEN1.MSOTlPn_SelectedWpId"].ToString()); request4Body.FormPostParameters.Add("MSOTlPn_View", this.Context["$HIDDEN1.MSOTlPn_View"].ToString()); request4Body.FormPostParameters.Add("MSOTlPn_ShowSettings", this.Context["$HIDDEN1.MSOTlPn_ShowSettings"].ToString()); request4Body.FormPostParameters.Add("MSOGallery_SelectedLibrary", this.Context["$HIDDEN1.MSOGallery_SelectedLibrary"].ToString()); request4Body.FormPostParameters.Add("MSOGallery_FilterString", this.Context["$HIDDEN1.MSOGallery_FilterString"].ToString()); request4Body.FormPostParameters.Add("MSOTlPn_Button", this.Context["$HIDDEN1.MSOTlPn_Button"].ToString()); request4Body.FormPostParameters.Add("__EVENTTARGET", this.Context["$HIDDEN1.__EVENTTARGET"].ToString()); request4Body.FormPostParameters.Add("__EVENTARGUMENT", this.Context["$HIDDEN1.__EVENTARGUMENT"].ToString()); request4Body.FormPostParameters.Add("__REQUESTDIGEST", this.Context["$HIDDEN1.__REQUESTDIGEST"].ToString()); request4Body.FormPostParameters.Add("MSOSPWebPartManager_DisplayModeName", this.Context["$HIDDEN1.MSOSPWebPartManager_DisplayModeName"].ToString()); request4Body.FormPostParameters.Add("MSOWebPartPage_Shared", this.Context["$HIDDEN1.MSOWebPartPage_Shared"].ToString()); request4Body.FormPostParameters.Add("MSOLayout_LayoutChanges", this.Context["$HIDDEN1.MSOLayout_LayoutChanges"].ToString()); request4Body.FormPostParameters.Add("MSOLayout_InDesignMode", this.Context["$HIDDEN1.MSOLayout_InDesignMode"].ToString()); request4Body.FormPostParameters.Add("MSOSPWebPartManager_OldDisplayModeName", this.Context["$HIDDEN1.MSOSPWebPartManager_OldDisplayModeName"].ToString()); request4Body.FormPostParameters.Add("MSOSPWebPartManager_StartWebPartEditingName", this.Context["$HIDDEN1.MSOSPWebPartManager_StartWebPartEditingName"].ToString()); request4Body.FormPostParameters.Add("BDC_ActionsMenuProxyPageWebUrl", this.Context["$HIDDEN1.BDC_ActionsMenuProxyPageWebUrl"].ToString()); request4Body.FormPostParameters.Add("__VIEWSTATE", this.Context["$HIDDEN1.__VIEWSTATE"].ToString()); request4Body.FormPostParameters.Add("ctl00$PlaceHolderSearchArea$ctl00$ctl00", this.Context["$HIDDEN1.ctl00$PlaceHolderSearchArea$ctl00$ctl00"].ToString()); request4Body.FormPostParameters.Add("ctl00$PlaceHolderSearchArea$ctl00$SBScopesDDL", "This Site"); request4Body.FormPostParameters.Add("ctl00$PlaceHolderSearchArea$ctl00$S3031AEBA_InputKeywords", ""); request4Body.FormPostParameters.Add("showhelp", "Show Help"); 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["$HIDDEN1.__EVENTVALIDATION"].ToString()); request4.Body = request4Body; yield return(request4); request4 = null; WebTestRequest request5 = new WebTestRequest(fbaURL + "/sites/productcatalog/category.aspx"); request5.Method = "POST"; request5.QueryStringParameters.Add("categoryid", "0", false, false); FormPostHttpBody request5Body = new FormPostHttpBody(); request5Body.FormPostParameters.Add("MSO_PageHashCode", this.Context["$HIDDEN2.MSO_PageHashCode"].ToString()); request5Body.FormPostParameters.Add("MSOWebPartPage_PostbackSource", this.Context["$HIDDEN2.MSOWebPartPage_PostbackSource"].ToString()); request5Body.FormPostParameters.Add("MSOTlPn_SelectedWpId", this.Context["$HIDDEN2.MSOTlPn_SelectedWpId"].ToString()); request5Body.FormPostParameters.Add("MSOTlPn_View", this.Context["$HIDDEN2.MSOTlPn_View"].ToString()); request5Body.FormPostParameters.Add("MSOTlPn_ShowSettings", this.Context["$HIDDEN2.MSOTlPn_ShowSettings"].ToString()); request5Body.FormPostParameters.Add("MSOGallery_SelectedLibrary", this.Context["$HIDDEN2.MSOGallery_SelectedLibrary"].ToString()); request5Body.FormPostParameters.Add("MSOGallery_FilterString", this.Context["$HIDDEN2.MSOGallery_FilterString"].ToString()); request5Body.FormPostParameters.Add("MSOTlPn_Button", this.Context["$HIDDEN2.MSOTlPn_Button"].ToString()); request5Body.FormPostParameters.Add("__EVENTTARGET", this.Context["$HIDDEN2.__EVENTTARGET"].ToString()); request5Body.FormPostParameters.Add("__EVENTARGUMENT", this.Context["$HIDDEN2.__EVENTARGUMENT"].ToString()); request5Body.FormPostParameters.Add("__REQUESTDIGEST", this.Context["$HIDDEN2.__REQUESTDIGEST"].ToString()); request5Body.FormPostParameters.Add("MSOSPWebPartManager_DisplayModeName", this.Context["$HIDDEN2.MSOSPWebPartManager_DisplayModeName"].ToString()); request5Body.FormPostParameters.Add("MSOWebPartPage_Shared", this.Context["$HIDDEN2.MSOWebPartPage_Shared"].ToString()); request5Body.FormPostParameters.Add("MSOLayout_LayoutChanges", this.Context["$HIDDEN2.MSOLayout_LayoutChanges"].ToString()); request5Body.FormPostParameters.Add("MSOLayout_InDesignMode", this.Context["$HIDDEN2.MSOLayout_InDesignMode"].ToString()); request5Body.FormPostParameters.Add("MSOSPWebPartManager_OldDisplayModeName", this.Context["$HIDDEN2.MSOSPWebPartManager_OldDisplayModeName"].ToString()); request5Body.FormPostParameters.Add("MSOSPWebPartManager_StartWebPartEditingName", this.Context["$HIDDEN2.MSOSPWebPartManager_StartWebPartEditingName"].ToString()); request5Body.FormPostParameters.Add("BDC_ActionsMenuProxyPageWebUrl", this.Context["$HIDDEN2.BDC_ActionsMenuProxyPageWebUrl"].ToString()); request5Body.FormPostParameters.Add("__VIEWSTATE", this.Context["$HIDDEN2.__VIEWSTATE"].ToString()); request5Body.FormPostParameters.Add("ctl00$PlaceHolderSearchArea$ctl00$ctl00", this.Context["$HIDDEN2.ctl00$PlaceHolderSearchArea$ctl00$ctl00"].ToString()); request5Body.FormPostParameters.Add("ctl00$PlaceHolderSearchArea$ctl00$SBScopesDDL", "This Site"); request5Body.FormPostParameters.Add("ctl00$PlaceHolderSearchArea$ctl00$S3031AEBA_InputKeywords", ""); request5Body.FormPostParameters.Add("showhelp", "Show Help"); request5Body.FormPostParameters.Add("__spDummyText1", ""); request5Body.FormPostParameters.Add("__spDummyText2", ""); request5Body.FormPostParameters.Add("__CALLBACKID", "ctl00$m$g_" + CategoryListWebPartGuid.Replace("-", "_").ToString()); request5Body.FormPostParameters.Add("__CALLBACKPARAM", "GetLongRunningUI"); request5Body.FormPostParameters.Add("__EVENTVALIDATION", this.Context["$HIDDEN2.__EVENTVALIDATION"].ToString()); request5.Body = request5Body; yield return(request5); request5 = null; WebTestRequest request6 = new WebTestRequest(fbaURL + "/sites/productcatalog/category.aspx"); request6.ThinkTime = 108; request6.Method = "POST"; request6.QueryStringParameters.Add("categoryid", "0", false, false); FormPostHttpBody request6Body = new FormPostHttpBody(); request6Body.FormPostParameters.Add("MSO_PageHashCode", this.Context["$HIDDEN3.MSO_PageHashCode"].ToString()); request6Body.FormPostParameters.Add("MSOWebPartPage_PostbackSource", this.Context["$HIDDEN3.MSOWebPartPage_PostbackSource"].ToString()); request6Body.FormPostParameters.Add("MSOTlPn_SelectedWpId", this.Context["$HIDDEN3.MSOTlPn_SelectedWpId"].ToString()); request6Body.FormPostParameters.Add("MSOTlPn_View", this.Context["$HIDDEN3.MSOTlPn_View"].ToString()); request6Body.FormPostParameters.Add("MSOTlPn_ShowSettings", this.Context["$HIDDEN3.MSOTlPn_ShowSettings"].ToString()); request6Body.FormPostParameters.Add("MSOGallery_SelectedLibrary", this.Context["$HIDDEN3.MSOGallery_SelectedLibrary"].ToString()); request6Body.FormPostParameters.Add("MSOGallery_FilterString", this.Context["$HIDDEN3.MSOGallery_FilterString"].ToString()); request6Body.FormPostParameters.Add("MSOTlPn_Button", this.Context["$HIDDEN3.MSOTlPn_Button"].ToString()); request6Body.FormPostParameters.Add("__EVENTTARGET", this.Context["$HIDDEN3.__EVENTTARGET"].ToString()); request6Body.FormPostParameters.Add("__EVENTARGUMENT", this.Context["$HIDDEN3.__EVENTARGUMENT"].ToString()); request6Body.FormPostParameters.Add("__REQUESTDIGEST", this.Context["$HIDDEN3.__REQUESTDIGEST"].ToString()); request6Body.FormPostParameters.Add("MSOSPWebPartManager_DisplayModeName", this.Context["$HIDDEN3.MSOSPWebPartManager_DisplayModeName"].ToString()); request6Body.FormPostParameters.Add("MSOWebPartPage_Shared", this.Context["$HIDDEN3.MSOWebPartPage_Shared"].ToString()); request6Body.FormPostParameters.Add("MSOLayout_LayoutChanges", this.Context["$HIDDEN3.MSOLayout_LayoutChanges"].ToString()); request6Body.FormPostParameters.Add("MSOLayout_InDesignMode", this.Context["$HIDDEN3.MSOLayout_InDesignMode"].ToString()); request6Body.FormPostParameters.Add("MSOSPWebPartManager_OldDisplayModeName", this.Context["$HIDDEN3.MSOSPWebPartManager_OldDisplayModeName"].ToString()); request6Body.FormPostParameters.Add("MSOSPWebPartManager_StartWebPartEditingName", this.Context["$HIDDEN3.MSOSPWebPartManager_StartWebPartEditingName"].ToString()); request6Body.FormPostParameters.Add("BDC_ActionsMenuProxyPageWebUrl", this.Context["$HIDDEN3.BDC_ActionsMenuProxyPageWebUrl"].ToString()); request6Body.FormPostParameters.Add("__VIEWSTATE", this.Context["$HIDDEN3.__VIEWSTATE"].ToString()); request6Body.FormPostParameters.Add("ctl00$PlaceHolderSearchArea$ctl00$ctl00", this.Context["$HIDDEN3.ctl00$PlaceHolderSearchArea$ctl00$ctl00"].ToString()); request6Body.FormPostParameters.Add("ctl00$PlaceHolderSearchArea$ctl00$SBScopesDDL", "This Site"); request6Body.FormPostParameters.Add("ctl00$PlaceHolderSearchArea$ctl00$S3031AEBA_InputKeywords", ""); request6Body.FormPostParameters.Add("showhelp", "Show Help"); request6Body.FormPostParameters.Add("__spDummyText1", ""); request6Body.FormPostParameters.Add("__spDummyText2", ""); request6Body.FormPostParameters.Add("__CALLBACKID", "ctl00$m$g_" + CategoryDetailWebPartGuid.Replace("-", "_").ToString()); request6Body.FormPostParameters.Add("__CALLBACKPARAM", "GetLongRunningUI"); request6Body.FormPostParameters.Add("__EVENTVALIDATION", this.Context["$HIDDEN3.__EVENTVALIDATION"].ToString()); request6.Body = request6Body; yield return(request6); request6 = null; WebTestRequest request7 = new WebTestRequest(fbaURL + "/sites/productcatalog/_layouts/ProfileRedirect.aspx"); request7.ExpectedResponseUrl = fbaURL + "/sites/productcatalog/Category.aspx?CategoryId=1"; request7.QueryStringParameters.Add("Application", "ContosoProductCatalogService", false, false); request7.QueryStringParameters.Add("Entity", "Category", false, false); request7.QueryStringParameters.Add("ItemId", "__bk40001300", false, false); if ((this.Context.ValidationLevel >= Microsoft.VisualStudio.TestTools.WebTesting.ValidationLevel.High)) { ValidationRuleFindText validationRule5 = new ValidationRuleFindText(); validationRule5.FindText = @"<a class=""ms-sitemapdirectional"" href=""/sites/productcatalog/Category.aspx?CategoryId=0"">Root Category</a></span><span> > </span><span class=""ms-sitemapdirectional"">Medical Supplies</span>"; validationRule5.IgnoreCase = true; validationRule5.UseRegularExpression = false; validationRule5.PassIfTextFound = true; request7.ValidateResponse += new EventHandler <ValidationEventArgs>(validationRule5.Validate); } ExtractHiddenFields extractionRule8 = new ExtractHiddenFields(); extractionRule8.Required = true; extractionRule8.HtmlDecode = true; extractionRule8.ContextParameterName = "1"; request7.ExtractValues += new EventHandler <ExtractionEventArgs>(extractionRule8.Extract); ExtractHiddenFields extractionRule9 = new ExtractHiddenFields(); extractionRule9.Required = true; extractionRule9.HtmlDecode = true; extractionRule9.ContextParameterName = "0"; request7.ExtractValues += new EventHandler <ExtractionEventArgs>(extractionRule9.Extract); ExtractHiddenFields extractionRule10 = new ExtractHiddenFields(); extractionRule10.Required = true; extractionRule10.HtmlDecode = true; extractionRule10.ContextParameterName = "2"; request7.ExtractValues += new EventHandler <ExtractionEventArgs>(extractionRule10.Extract); yield return(request7); request7 = null; WebTestRequest request8 = new WebTestRequest(fbaURL + "/sites/productcatalog/Category.aspx"); request8.Method = "POST"; request8.QueryStringParameters.Add("CategoryId", "1", false, false); FormPostHttpBody request8Body = new FormPostHttpBody(); request8Body.FormPostParameters.Add("MSO_PageHashCode", this.Context["$HIDDEN1.MSO_PageHashCode"].ToString()); request8Body.FormPostParameters.Add("MSOWebPartPage_PostbackSource", this.Context["$HIDDEN1.MSOWebPartPage_PostbackSource"].ToString()); request8Body.FormPostParameters.Add("MSOTlPn_SelectedWpId", this.Context["$HIDDEN1.MSOTlPn_SelectedWpId"].ToString()); request8Body.FormPostParameters.Add("MSOTlPn_View", this.Context["$HIDDEN1.MSOTlPn_View"].ToString()); request8Body.FormPostParameters.Add("MSOTlPn_ShowSettings", this.Context["$HIDDEN1.MSOTlPn_ShowSettings"].ToString()); request8Body.FormPostParameters.Add("MSOGallery_SelectedLibrary", this.Context["$HIDDEN1.MSOGallery_SelectedLibrary"].ToString()); request8Body.FormPostParameters.Add("MSOGallery_FilterString", this.Context["$HIDDEN1.MSOGallery_FilterString"].ToString()); request8Body.FormPostParameters.Add("MSOTlPn_Button", this.Context["$HIDDEN1.MSOTlPn_Button"].ToString()); request8Body.FormPostParameters.Add("__EVENTTARGET", this.Context["$HIDDEN1.__EVENTTARGET"].ToString()); request8Body.FormPostParameters.Add("__EVENTARGUMENT", this.Context["$HIDDEN1.__EVENTARGUMENT"].ToString()); request8Body.FormPostParameters.Add("__REQUESTDIGEST", this.Context["$HIDDEN1.__REQUESTDIGEST"].ToString()); request8Body.FormPostParameters.Add("MSOSPWebPartManager_DisplayModeName", this.Context["$HIDDEN1.MSOSPWebPartManager_DisplayModeName"].ToString()); request8Body.FormPostParameters.Add("MSOWebPartPage_Shared", this.Context["$HIDDEN1.MSOWebPartPage_Shared"].ToString()); request8Body.FormPostParameters.Add("MSOLayout_LayoutChanges", this.Context["$HIDDEN1.MSOLayout_LayoutChanges"].ToString()); request8Body.FormPostParameters.Add("MSOLayout_InDesignMode", this.Context["$HIDDEN1.MSOLayout_InDesignMode"].ToString()); request8Body.FormPostParameters.Add("MSOSPWebPartManager_OldDisplayModeName", this.Context["$HIDDEN1.MSOSPWebPartManager_OldDisplayModeName"].ToString()); request8Body.FormPostParameters.Add("MSOSPWebPartManager_StartWebPartEditingName", this.Context["$HIDDEN1.MSOSPWebPartManager_StartWebPartEditingName"].ToString()); request8Body.FormPostParameters.Add("BDC_ActionsMenuProxyPageWebUrl", this.Context["$HIDDEN1.BDC_ActionsMenuProxyPageWebUrl"].ToString()); request8Body.FormPostParameters.Add("__VIEWSTATE", this.Context["$HIDDEN1.__VIEWSTATE"].ToString()); request8Body.FormPostParameters.Add("ctl00$PlaceHolderSearchArea$ctl00$ctl00", this.Context["$HIDDEN1.ctl00$PlaceHolderSearchArea$ctl00$ctl00"].ToString()); request8Body.FormPostParameters.Add("ctl00$PlaceHolderSearchArea$ctl00$SBScopesDDL", "This Site"); request8Body.FormPostParameters.Add("ctl00$PlaceHolderSearchArea$ctl00$S3031AEBA_InputKeywords", ""); request8Body.FormPostParameters.Add("showhelp", "Show Help"); request8Body.FormPostParameters.Add("__spDummyText1", ""); request8Body.FormPostParameters.Add("__spDummyText2", ""); request8Body.FormPostParameters.Add("__CALLBACKID", "ctl00$m$g_" + ProductListWebPartGuid.Replace("-", "_").ToString()); request8Body.FormPostParameters.Add("__CALLBACKPARAM", "GetLongRunningUI"); request8Body.FormPostParameters.Add("__EVENTVALIDATION", this.Context["$HIDDEN1.__EVENTVALIDATION"].ToString()); request8.Body = request8Body; if ((this.Context.ValidationLevel >= Microsoft.VisualStudio.TestTools.WebTesting.ValidationLevel.High)) { ValidationRuleFindText validationRule6 = new ValidationRuleFindText(); validationRule6.FindText = "There are no items to show."; validationRule6.IgnoreCase = true; validationRule6.UseRegularExpression = false; validationRule6.PassIfTextFound = true; request8.ValidateResponse += new EventHandler <ValidationEventArgs>(validationRule6.Validate); } yield return(request8); request8 = null; WebTestRequest request9 = new WebTestRequest(fbaURL + "/sites/productcatalog/Category.aspx"); request9.Method = "POST"; request9.QueryStringParameters.Add("CategoryId", "1", false, false); FormPostHttpBody request9Body = new FormPostHttpBody(); request9Body.FormPostParameters.Add("MSO_PageHashCode", this.Context["$HIDDEN0.MSO_PageHashCode"].ToString()); request9Body.FormPostParameters.Add("MSOWebPartPage_PostbackSource", this.Context["$HIDDEN0.MSOWebPartPage_PostbackSource"].ToString()); request9Body.FormPostParameters.Add("MSOTlPn_SelectedWpId", this.Context["$HIDDEN0.MSOTlPn_SelectedWpId"].ToString()); request9Body.FormPostParameters.Add("MSOTlPn_View", this.Context["$HIDDEN0.MSOTlPn_View"].ToString()); request9Body.FormPostParameters.Add("MSOTlPn_ShowSettings", this.Context["$HIDDEN0.MSOTlPn_ShowSettings"].ToString()); request9Body.FormPostParameters.Add("MSOGallery_SelectedLibrary", this.Context["$HIDDEN0.MSOGallery_SelectedLibrary"].ToString()); request9Body.FormPostParameters.Add("MSOGallery_FilterString", this.Context["$HIDDEN0.MSOGallery_FilterString"].ToString()); request9Body.FormPostParameters.Add("MSOTlPn_Button", this.Context["$HIDDEN0.MSOTlPn_Button"].ToString()); request9Body.FormPostParameters.Add("__EVENTTARGET", this.Context["$HIDDEN0.__EVENTTARGET"].ToString()); request9Body.FormPostParameters.Add("__EVENTARGUMENT", this.Context["$HIDDEN0.__EVENTARGUMENT"].ToString()); request9Body.FormPostParameters.Add("__REQUESTDIGEST", this.Context["$HIDDEN0.__REQUESTDIGEST"].ToString()); request9Body.FormPostParameters.Add("MSOSPWebPartManager_DisplayModeName", this.Context["$HIDDEN0.MSOSPWebPartManager_DisplayModeName"].ToString()); request9Body.FormPostParameters.Add("MSOWebPartPage_Shared", this.Context["$HIDDEN0.MSOWebPartPage_Shared"].ToString()); request9Body.FormPostParameters.Add("MSOLayout_LayoutChanges", this.Context["$HIDDEN0.MSOLayout_LayoutChanges"].ToString()); request9Body.FormPostParameters.Add("MSOLayout_InDesignMode", this.Context["$HIDDEN0.MSOLayout_InDesignMode"].ToString()); request9Body.FormPostParameters.Add("MSOSPWebPartManager_OldDisplayModeName", this.Context["$HIDDEN0.MSOSPWebPartManager_OldDisplayModeName"].ToString()); request9Body.FormPostParameters.Add("MSOSPWebPartManager_StartWebPartEditingName", this.Context["$HIDDEN0.MSOSPWebPartManager_StartWebPartEditingName"].ToString()); request9Body.FormPostParameters.Add("BDC_ActionsMenuProxyPageWebUrl", this.Context["$HIDDEN0.BDC_ActionsMenuProxyPageWebUrl"].ToString()); request9Body.FormPostParameters.Add("__VIEWSTATE", this.Context["$HIDDEN0.__VIEWSTATE"].ToString()); request9Body.FormPostParameters.Add("ctl00$PlaceHolderSearchArea$ctl00$ctl00", this.Context["$HIDDEN0.ctl00$PlaceHolderSearchArea$ctl00$ctl00"].ToString()); request9Body.FormPostParameters.Add("ctl00$PlaceHolderSearchArea$ctl00$SBScopesDDL", "This Site"); request9Body.FormPostParameters.Add("ctl00$PlaceHolderSearchArea$ctl00$S3031AEBA_InputKeywords", ""); request9Body.FormPostParameters.Add("showhelp", "Show Help"); request9Body.FormPostParameters.Add("__spDummyText1", ""); request9Body.FormPostParameters.Add("__spDummyText2", ""); request9Body.FormPostParameters.Add("__CALLBACKID", "ctl00$m$g_" + CategoryListWebPartGuid.Replace("-", "_").ToString()); request9Body.FormPostParameters.Add("__CALLBACKPARAM", "GetLongRunningUI"); request9Body.FormPostParameters.Add("__EVENTVALIDATION", this.Context["$HIDDEN0.__EVENTVALIDATION"].ToString()); request9.Body = request9Body; yield return(request9); request9 = null; WebTestRequest request10 = new WebTestRequest(fbaURL + "/sites/productcatalog/Category.aspx"); request10.Method = "POST"; request10.QueryStringParameters.Add("CategoryId", "1", false, false); FormPostHttpBody request10Body = new FormPostHttpBody(); request10Body.FormPostParameters.Add("MSO_PageHashCode", this.Context["$HIDDEN2.MSO_PageHashCode"].ToString()); request10Body.FormPostParameters.Add("MSOWebPartPage_PostbackSource", this.Context["$HIDDEN2.MSOWebPartPage_PostbackSource"].ToString()); request10Body.FormPostParameters.Add("MSOTlPn_SelectedWpId", this.Context["$HIDDEN2.MSOTlPn_SelectedWpId"].ToString()); request10Body.FormPostParameters.Add("MSOTlPn_View", this.Context["$HIDDEN2.MSOTlPn_View"].ToString()); request10Body.FormPostParameters.Add("MSOTlPn_ShowSettings", this.Context["$HIDDEN2.MSOTlPn_ShowSettings"].ToString()); request10Body.FormPostParameters.Add("MSOGallery_SelectedLibrary", this.Context["$HIDDEN2.MSOGallery_SelectedLibrary"].ToString()); request10Body.FormPostParameters.Add("MSOGallery_FilterString", this.Context["$HIDDEN2.MSOGallery_FilterString"].ToString()); request10Body.FormPostParameters.Add("MSOTlPn_Button", this.Context["$HIDDEN2.MSOTlPn_Button"].ToString()); request10Body.FormPostParameters.Add("__EVENTTARGET", this.Context["$HIDDEN2.__EVENTTARGET"].ToString()); request10Body.FormPostParameters.Add("__EVENTARGUMENT", this.Context["$HIDDEN2.__EVENTARGUMENT"].ToString()); request10Body.FormPostParameters.Add("__REQUESTDIGEST", this.Context["$HIDDEN2.__REQUESTDIGEST"].ToString()); request10Body.FormPostParameters.Add("MSOSPWebPartManager_DisplayModeName", this.Context["$HIDDEN2.MSOSPWebPartManager_DisplayModeName"].ToString()); request10Body.FormPostParameters.Add("MSOWebPartPage_Shared", this.Context["$HIDDEN2.MSOWebPartPage_Shared"].ToString()); request10Body.FormPostParameters.Add("MSOLayout_LayoutChanges", this.Context["$HIDDEN2.MSOLayout_LayoutChanges"].ToString()); request10Body.FormPostParameters.Add("MSOLayout_InDesignMode", this.Context["$HIDDEN2.MSOLayout_InDesignMode"].ToString()); request10Body.FormPostParameters.Add("MSOSPWebPartManager_OldDisplayModeName", this.Context["$HIDDEN2.MSOSPWebPartManager_OldDisplayModeName"].ToString()); request10Body.FormPostParameters.Add("MSOSPWebPartManager_StartWebPartEditingName", this.Context["$HIDDEN2.MSOSPWebPartManager_StartWebPartEditingName"].ToString()); request10Body.FormPostParameters.Add("BDC_ActionsMenuProxyPageWebUrl", this.Context["$HIDDEN2.BDC_ActionsMenuProxyPageWebUrl"].ToString()); request10Body.FormPostParameters.Add("__VIEWSTATE", this.Context["$HIDDEN2.__VIEWSTATE"].ToString()); request10Body.FormPostParameters.Add("ctl00$PlaceHolderSearchArea$ctl00$ctl00", this.Context["$HIDDEN2.ctl00$PlaceHolderSearchArea$ctl00$ctl00"].ToString()); request10Body.FormPostParameters.Add("ctl00$PlaceHolderSearchArea$ctl00$SBScopesDDL", "This Site"); request10Body.FormPostParameters.Add("ctl00$PlaceHolderSearchArea$ctl00$S3031AEBA_InputKeywords", ""); request10Body.FormPostParameters.Add("showhelp", "Show Help"); request10Body.FormPostParameters.Add("__spDummyText1", ""); request10Body.FormPostParameters.Add("__spDummyText2", ""); request10Body.FormPostParameters.Add("__CALLBACKID", "ctl00$m$g_" + CategoryDetailWebPartGuid.Replace("-", "_").ToString()); request10Body.FormPostParameters.Add("__CALLBACKPARAM", "GetLongRunningUI"); request10Body.FormPostParameters.Add("__EVENTVALIDATION", this.Context["$HIDDEN2.__EVENTVALIDATION"].ToString()); request10.Body = request10Body; if ((this.Context.ValidationLevel >= Microsoft.VisualStudio.TestTools.WebTesting.ValidationLevel.High)) { ValidationRuleFindText validationRule7 = new ValidationRuleFindText(); validationRule7.FindText = @"<nobr>CategoryId:</nobr></td><td class=""ms-descriptiontext ms-alignleft"" width=""100%"">1</td>"; validationRule7.IgnoreCase = true; validationRule7.UseRegularExpression = false; validationRule7.PassIfTextFound = true; request10.ValidateResponse += new EventHandler <ValidationEventArgs>(validationRule7.Validate); } if ((this.Context.ValidationLevel >= Microsoft.VisualStudio.TestTools.WebTesting.ValidationLevel.High)) { ValidationRuleFindText validationRule8 = new ValidationRuleFindText(); validationRule8.FindText = @"<nobr>Name:</nobr></td><td class=""ms-descriptiontext ms-alignleft"" width=""100%"">Medical Supplies</td>"; validationRule8.IgnoreCase = true; validationRule8.UseRegularExpression = false; validationRule8.PassIfTextFound = true; request10.ValidateResponse += new EventHandler <ValidationEventArgs>(validationRule8.Validate); } if ((this.Context.ValidationLevel >= Microsoft.VisualStudio.TestTools.WebTesting.ValidationLevel.High)) { ValidationRuleFindText validationRule9 = new ValidationRuleFindText(); validationRule9.FindText = @"<nobr>ParentId:</nobr></td><td class=""ms-descriptiontext ms-alignleft"" width=""100%"">0</td>"; validationRule9.IgnoreCase = true; validationRule9.UseRegularExpression = false; validationRule9.PassIfTextFound = true; request10.ValidateResponse += new EventHandler <ValidationEventArgs>(validationRule9.Validate); } yield return(request10); request10 = 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); //} //this.UserName = Config.adminUser; //this.Password = Config.adminPass; WebTestRequest request1 = new WebTestRequest(this.siteURL + this.webURL + "/default.aspx"); yield return(request1); request1 = null; WebTestRequest request99 = new WebTestRequest(this.siteURL + this.webURL + "/Lists/TrainingCourses/NewForm.aspx"); ExtractHiddenFields extractionRule1 = new ExtractHiddenFields(); extractionRule1.Required = true; extractionRule1.HtmlDecode = true; extractionRule1.ContextParameterName = "1"; request99.ExtractValues += new EventHandler <ExtractionEventArgs>(extractionRule1.Extract); ExtractText extractionRule99 = new ExtractText(); extractionRule99.StartsWith = "ctl00_m_g_"; extractionRule99.EndsWith = "_ctl"; extractionRule99.IgnoreCase = false; extractionRule99.UseRegularExpression = true; extractionRule99.Required = true; extractionRule99.ExtractRandomMatch = false; extractionRule99.Index = 0; extractionRule99.HtmlDecode = true; extractionRule99.ContextParameterName = "guid"; request99.ExtractValues += new EventHandler <ExtractionEventArgs>(extractionRule99.Extract); yield return(request99); string guidPrefix = "ctl00$m$g_"; string guid = Context["guid"].ToString(); request99 = null; WebTestRequest request2 = new WebTestRequest(this.siteURL + this.webURL + "/Lists/TrainingCourses/NewForm.aspx"); request2.Method = "POST"; FormPostHttpBody request2Body = new FormPostHttpBody(); request2Body.FormPostParameters.Add("MSO_PageHashCode", this.Context["$HIDDEN1.MSO_PageHashCode"].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("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("__LASTFOCUS", this.Context["$HIDDEN1.__LASTFOCUS"].ToString()); request2Body.FormPostParameters.Add("__VIEWSTATE", this.Context["$HIDDEN1.__VIEWSTATE"].ToString()); request2Body.FormPostParameters.Add("__EVENTVALIDATION", this.Context["$HIDDEN1.__EVENTVALIDATION"].ToString()); request2Body.FormPostParameters.Add("InputKeywords", ""); request2Body.FormPostParameters.Add(guidPrefix + guid + "$ctl00$ctl04$ctl00$ctl00$ctl00$ctl0" + "4$ctl00$ctl00$TextField", ""); request2Body.FormPostParameters.Add(guidPrefix + guid + "$ctl00$ctl04$ctl01$ctl00$ctl00$ctl0" + "4$ctl00$ctl00$TextField", ""); request2Body.FormPostParameters.Add(guidPrefix + guid + "$ctl00$ctl04$ctl02$ctl00$ctl00$ctl0" + "4$ctl00$ctl00$TextField", "<div></div>"); request2Body.FormPostParameters.Add(guidPrefix + guid + "$ctl00$ctl04$ctl02$ctl00$ctl00$ctl0" + "4$ctl00$ctl00$TextField_spSave", "<DIV></DIV>"); request2Body.FormPostParameters.Add(guidPrefix + guid + "$ctl00$ctl04$ctl03$ctl00$ctl00$ctl0" + "4$ctl00$ctl00$DateTimeField$DateTimeFieldDate", ""); request2Body.FormPostParameters.Add(guidPrefix + guid + "$ctl00$ctl04$ctl04$ctl00$ctl00$ctl0" + "4$ctl00$ctl00$DateTimeField$DateTimeFieldDate", ""); request2Body.FormPostParameters.Add(guidPrefix + guid + "$ctl00$ctl04$ctl05$ctl00$ctl00$ctl0" + "4$ctl00$ctl00$DateTimeField$DateTimeFieldDate", ""); request2Body.FormPostParameters.Add(guidPrefix + guid + "$ctl00$ctl04$ctl06$ctl00$ctl00$ctl0" + "4$ctl00$ctl00$TextField", ""); request2Body.FormPostParameters.Add(guidPrefix + guid + "$ctl00$ctl07$ctl00$owshiddenversion" + "", this.Context["$HIDDEN1." + guidPrefix + guid + "$ctl00$ctl07$ctl00$owshidd" + "enversion"].ToString()); request2Body.FormPostParameters.Add("attachmentsToBeRemovedFromServer", this.Context["$HIDDEN1.attachmentsToBeRemovedFromServer"].ToString()); request2Body.FormPostParameters.Add("RectGifUrl", this.Context["$HIDDEN1.RectGifUrl"].ToString()); request2Body.FormPostParameters.Add("fileupload0", ""); request2Body.FormPostParameters.Add("__spDummyText1", ""); request2Body.FormPostParameters.Add("__spDummyText2", ""); request2Body.FormPostParameters.Add(guidPrefix + guid + "$ctl00$ctl04$ctl07$ctl00$ctl00$ctl0" + "4$ctl00$ctl03.x", "5"); request2Body.FormPostParameters.Add(guidPrefix + guid + "$ctl00$ctl04$ctl07$ctl00$ctl00$ctl0" + "4$ctl00$ctl03.y", "8"); request2.Body = request2Body; ExtractHiddenFields extractionRule2 = new ExtractHiddenFields(); extractionRule2.Required = true; extractionRule2.HtmlDecode = true; extractionRule2.ContextParameterName = "1"; request2.ExtractValues += new EventHandler <ExtractionEventArgs>(extractionRule2.Extract); yield return(request2); request2 = null; WebTestRequest request6 = new WebTestRequest(this.siteURL + this.webURL + "/Lists/TrainingCourses/NewForm.aspx"); request6.Method = "POST"; request6.ExpectedResponseUrl = this.siteURL + this.webURL + "/Lists/TrainingCourses/AllItems.aspx"; FormPostHttpBody request6Body = new FormPostHttpBody(); request6Body.FormPostParameters.Add("MSO_PageHashCode", this.Context["$HIDDEN1.MSO_PageHashCode"].ToString()); request6Body.FormPostParameters.Add("MSOWebPartPage_PostbackSource", this.Context["$HIDDEN1.MSOWebPartPage_PostbackSource"].ToString()); request6Body.FormPostParameters.Add("MSOTlPn_SelectedWpId", this.Context["$HIDDEN1.MSOTlPn_SelectedWpId"].ToString()); request6Body.FormPostParameters.Add("MSOTlPn_View", this.Context["$HIDDEN1.MSOTlPn_View"].ToString()); request6Body.FormPostParameters.Add("MSOTlPn_ShowSettings", this.Context["$HIDDEN1.MSOTlPn_ShowSettings"].ToString()); request6Body.FormPostParameters.Add("MSOGallery_SelectedLibrary", this.Context["$HIDDEN1.MSOGallery_SelectedLibrary"].ToString()); request6Body.FormPostParameters.Add("MSOGallery_FilterString", this.Context["$HIDDEN1.MSOGallery_FilterString"].ToString()); request6Body.FormPostParameters.Add("MSOTlPn_Button", this.Context["$HIDDEN1.MSOTlPn_Button"].ToString()); request6Body.FormPostParameters.Add("__EVENTTARGET", guidPrefix + guid + "$ctl00$toolBarTbl$RightRptControls$" + "ctl00$ctl00$diidIOSaveItem"); request6Body.FormPostParameters.Add("__EVENTARGUMENT", this.Context["$HIDDEN1.__EVENTARGUMENT"].ToString()); request6Body.FormPostParameters.Add("__REQUESTDIGEST", this.Context["$HIDDEN1.__REQUESTDIGEST"].ToString()); request6Body.FormPostParameters.Add("MSOSPWebPartManager_DisplayModeName", this.Context["$HIDDEN1.MSOSPWebPartManager_DisplayModeName"].ToString()); request6Body.FormPostParameters.Add("MSOWebPartPage_Shared", this.Context["$HIDDEN1.MSOWebPartPage_Shared"].ToString()); request6Body.FormPostParameters.Add("MSOLayout_LayoutChanges", this.Context["$HIDDEN1.MSOLayout_LayoutChanges"].ToString()); request6Body.FormPostParameters.Add("MSOLayout_InDesignMode", this.Context["$HIDDEN1.MSOLayout_InDesignMode"].ToString()); request6Body.FormPostParameters.Add("MSOSPWebPartManager_OldDisplayModeName", this.Context["$HIDDEN1.MSOSPWebPartManager_OldDisplayModeName"].ToString()); request6Body.FormPostParameters.Add("MSOSPWebPartManager_StartWebPartEditingName", this.Context["$HIDDEN1.MSOSPWebPartManager_StartWebPartEditingName"].ToString()); request6Body.FormPostParameters.Add("__VIEWSTATE", this.Context["$HIDDEN1.__VIEWSTATE"].ToString()); request6Body.FormPostParameters.Add("__EVENTVALIDATION", this.Context["$HIDDEN1.__EVENTVALIDATION"].ToString()); request6Body.FormPostParameters.Add("InputKeywords", ""); request6Body.FormPostParameters.Add(guidPrefix + guid + "$ctl00$ctl04$ctl00$ctl00$ctl00$ctl0" + "4$ctl00$ctl00$TextField", this.myCourseCode); request6Body.FormPostParameters.Add(guidPrefix + guid + "$ctl00$ctl04$ctl01$ctl00$ctl00$ctl0" + "4$ctl00$ctl00$TextField", this.myCourseCode); request6Body.FormPostParameters.Add(guidPrefix + guid + "$ctl00$ctl04$ctl02$ctl00$ctl00$ctl0" + "4$ctl00$ctl00$TextField", "<div></div>"); request6Body.FormPostParameters.Add(guidPrefix + guid + "$ctl00$ctl04$ctl02$ctl00$ctl00$ctl0" + "4$ctl00$ctl00$TextField_spSave", this.myCourseCode + "\r\n<DIV></DIV>"); request6Body.FormPostParameters.Add(guidPrefix + guid + "$ctl00$ctl04$ctl03$ctl00$ctl00$ctl0" + "4$ctl00$ctl00$DateTimeField$DateTimeFieldDate", DateTime.Now.ToShortDateString()); request6Body.FormPostParameters.Add(guidPrefix + guid + "$ctl00$ctl04$ctl04$ctl00$ctl00$ctl0" + "4$ctl00$ctl00$DateTimeField$DateTimeFieldDate", DateTime.Now.ToShortDateString()); request6Body.FormPostParameters.Add(guidPrefix + guid + "$ctl00$ctl04$ctl05$ctl00$ctl00$ctl0" + "4$ctl00$ctl00$DateTimeField$DateTimeFieldDate", DateTime.Now.ToShortDateString()); request6Body.FormPostParameters.Add(guidPrefix + guid + "$ctl00$ctl04$ctl06$ctl00$ctl00$ctl0" + "4$ctl00$ctl00$TextField", "100"); request6Body.FormPostParameters.Add(guidPrefix + guid + "$ctl00$ctl07$ctl00$owshiddenversion" + "", this.Context["$HIDDEN1." + guidPrefix + guid + "$ctl00$ctl07$ctl00$owshidd" + "enversion"].ToString()); request6Body.FormPostParameters.Add("attachmentsToBeRemovedFromServer", this.Context["$HIDDEN1.attachmentsToBeRemovedFromServer"].ToString()); request6Body.FormPostParameters.Add("RectGifUrl", this.Context["$HIDDEN1.RectGifUrl"].ToString()); request6Body.FormPostParameters.Add("fileupload0", ""); request6Body.FormPostParameters.Add("__spDummyText1", ""); request6Body.FormPostParameters.Add("__spDummyText2", ""); request6.Body = request6Body; yield return(request6); request6 = null; // end of create course //ID for recently created course this.myCourseId = SharePointCalls.GetCourseID(this.myCourseCode, siteURL, webURL); //register for course this.UserName = Config.spgEmpUser; this.Password = Config.spgEmpPass; WebTestRequest request18 = new WebTestRequest(this.siteURL + this.webURL + "/CourseRegistration.aspx"); request18.ThinkTime = 2; request18.QueryStringParameters.Add("ID", this.myCourseId.ToString(), false, false); ExtractHiddenFields extractionRule6 = new ExtractHiddenFields(); extractionRule6.Required = true; extractionRule6.HtmlDecode = true; extractionRule6.ContextParameterName = "1"; request18.ExtractValues += new EventHandler <ExtractionEventArgs>(extractionRule6.Extract); yield return(request18); request18 = null; WebTestRequest request19 = new WebTestRequest(this.siteURL + this.webURL + "/CourseRegistration.aspx"); request19.ThinkTime = 2; request19.Method = "POST"; request19.QueryStringParameters.Add("ID", this.myCourseId.ToString(), false, false); FormPostHttpBody request19Body = new FormPostHttpBody(); request19Body.FormPostParameters.Add("MSO_PageHashCode", this.Context["$HIDDEN1.MSO_PageHashCode"].ToString()); request19Body.FormPostParameters.Add("MSOWebPartPage_PostbackSource", this.Context["$HIDDEN1.MSOWebPartPage_PostbackSource"].ToString()); request19Body.FormPostParameters.Add("MSOTlPn_SelectedWpId", this.Context["$HIDDEN1.MSOTlPn_SelectedWpId"].ToString()); request19Body.FormPostParameters.Add("MSOTlPn_View", this.Context["$HIDDEN1.MSOTlPn_View"].ToString()); request19Body.FormPostParameters.Add("MSOTlPn_ShowSettings", this.Context["$HIDDEN1.MSOTlPn_ShowSettings"].ToString()); request19Body.FormPostParameters.Add("MSOGallery_SelectedLibrary", this.Context["$HIDDEN1.MSOGallery_SelectedLibrary"].ToString()); request19Body.FormPostParameters.Add("MSOGallery_FilterString", this.Context["$HIDDEN1.MSOGallery_FilterString"].ToString()); request19Body.FormPostParameters.Add("MSOTlPn_Button", this.Context["$HIDDEN1.MSOTlPn_Button"].ToString()); request19Body.FormPostParameters.Add("MSOSPWebPartManager_DisplayModeName", this.Context["$HIDDEN1.MSOSPWebPartManager_DisplayModeName"].ToString()); request19Body.FormPostParameters.Add("__EVENTTARGET", this.Context["$HIDDEN1.__EVENTTARGET"].ToString()); request19Body.FormPostParameters.Add("__EVENTARGUMENT", this.Context["$HIDDEN1.__EVENTARGUMENT"].ToString()); request19Body.FormPostParameters.Add("MSOWebPartPage_Shared", this.Context["$HIDDEN1.MSOWebPartPage_Shared"].ToString()); request19Body.FormPostParameters.Add("MSOLayout_LayoutChanges", this.Context["$HIDDEN1.MSOLayout_LayoutChanges"].ToString()); request19Body.FormPostParameters.Add("MSOLayout_InDesignMode", this.Context["$HIDDEN1.MSOLayout_InDesignMode"].ToString()); request19Body.FormPostParameters.Add("MSOSPWebPartManager_OldDisplayModeName", this.Context["$HIDDEN1.MSOSPWebPartManager_OldDisplayModeName"].ToString()); request19Body.FormPostParameters.Add("MSOSPWebPartManager_StartWebPartEditingName", this.Context["$HIDDEN1.MSOSPWebPartManager_StartWebPartEditingName"].ToString()); request19Body.FormPostParameters.Add("__REQUESTDIGEST", this.Context["$HIDDEN1.__REQUESTDIGEST"].ToString()); request19Body.FormPostParameters.Add("__VIEWSTATE", this.Context["$HIDDEN1.__VIEWSTATE"].ToString()); request19Body.FormPostParameters.Add("__EVENTVALIDATION", this.Context["$HIDDEN1.__EVENTVALIDATION"].ToString()); request19Body.FormPostParameters.Add("InputKeywords", ""); request19Body.FormPostParameters.Add("ctl00$PlaceHolderMain$Submit", "Register for Course"); request19Body.FormPostParameters.Add("__spDummyText1", ""); request19Body.FormPostParameters.Add("__spDummyText2", ""); request19.Body = request19Body; yield return(request19); request19 = null; WebTestRequest WFrequest1 = new WebTestRequest(this.siteURL + this.webURL + "/managerdashboard.aspx"); WFrequest1.ThinkTime = 120; yield return(WFrequest1); request1 = null; courseId = SharePointCalls.GetCourseID(this.myCourseCode, this.siteURL, this.webURL); userId = SharePointCalls.GetUserId(this.UserName, this.siteURL, this.webURL); //verify Registration for this course for spgemployee SPListItem regItem = SharePointCalls.GetRegistration(this.courseId, this.userId, siteURL, webURL); if (regItem == null) { Outcome = Outcome.Fail; } //approve using spgmanager login //Get Approval Task id based on Course code and login regApprovalId = SharePointCalls.GetRegApprovalID(regItem); this.UserName = Config.spgManagerUser; this.Password = Config.spgManagerPass; WebTestRequest WFrequest2 = new WebTestRequest(this.siteURL + this.webURL + "/Lists/RegistrationApprovalTasks/DispForm.aspx"); WFrequest2.ThinkTime = 3; WFrequest2.QueryStringParameters.Add("ID", this.regApprovalId.ToString(), false, false); WFrequest2.QueryStringParameters.Add("Source", this.siteURL + this.webURL + "/managerdashboard.aspx", true, false); ExtractHiddenFields WFextractionRule2 = new ExtractHiddenFields(); WFextractionRule2.Required = true; WFextractionRule2.HtmlDecode = true; WFextractionRule2.ContextParameterName = "1"; WFrequest2.ExtractValues += new EventHandler <ExtractionEventArgs>(WFextractionRule2.Extract); //get regApproval list id ExtractText WFextractionRule3 = new ExtractText(); WFextractionRule3.StartsWith = "List="; WFextractionRule3.EndsWith = "&ID="; WFextractionRule3.Index = 0; WFextractionRule3.IgnoreCase = true; WFextractionRule3.UseRegularExpression = true; WFextractionRule3.HtmlDecode = true; WFextractionRule3.Required = false; WFextractionRule3.ContextParameterName = "regApprovalTaskListId"; WFrequest2.ExtractValues += new EventHandler <ExtractionEventArgs>(WFextractionRule3.Extract); yield return(WFrequest2); WFrequest2 = null; WebTestRequest WFrequest3 = new WebTestRequest(this.siteURL + this.webURL + "/_layouts/Contoso/RegistrationApproval.aspx"); WFrequest3.Method = "POST"; WFrequest3.ExpectedResponseUrl = this.siteURL + this.webURL + "/managerdashboard.aspx"; WFrequest3.QueryStringParameters.Add("List", this.Context["regApprovalTaskListId"].ToString().Replace("-", "%2"), false, false); WFrequest3.QueryStringParameters.Add("ID", this.regApprovalId.ToString(), true, false); WFrequest3.QueryStringParameters.Add("Source", this.siteURL + this.webURL + "/managerdashboard.aspx", true, false); FormPostHttpBody request3Body = new FormPostHttpBody(); request3Body.FormPostParameters.Add("__EVENTTARGET", this.Context["$HIDDEN1.__EVENTTARGET"].ToString()); request3Body.FormPostParameters.Add("__EVENTARGUMENT", this.Context["$HIDDEN1.__EVENTARGUMENT"].ToString()); request3Body.FormPostParameters.Add("__REQUESTDIGEST", this.Context["$HIDDEN1.__REQUESTDIGEST"].ToString()); request3Body.FormPostParameters.Add("__VIEWSTATE", this.Context["$HIDDEN1.__VIEWSTATE"].ToString()); request3Body.FormPostParameters.Add("__EVENTVALIDATION", this.Context["$HIDDEN1.__EVENTVALIDATION"].ToString()); request3Body.FormPostParameters.Add("ctl00$PlaceHolderMain$Status", "Approved"); request3Body.FormPostParameters.Add("ctl00$PlaceHolderMain$Submit", "Submit"); request3Body.FormPostParameters.Add("__spDummyText1", ""); request3Body.FormPostParameters.Add("__spDummyText2", ""); WFrequest3.Body = request3Body; yield return(WFrequest3); //Verify the status of registration regItem = SharePointCalls.GetRegistration(this.courseId, this.userId, siteURL, webURL); if (regItem == null) { Outcome = Outcome.Fail; } if (regItem[new Guid(Fields.RegistrationStatus)].ToString() != Status.Approved) { Outcome = Outcome.Fail; } WFrequest3 = null; }
/// <summary> /// Runs the tests found in the TestList.xml. /// </summary> private void Run() { IEnumerable <XElement> assemblies = _testList.Document.Descendants(XName.Get("assembly")); if (assemblies.Count <XElement>() > 0) { foreach (XElement nextAssembly in assemblies) { string assemblyName = nextAssembly.Attribute(XName.Get("name")).Value; if (!assemblyName.EndsWith(".dll", StringComparison.InvariantCultureIgnoreCase)) { assemblyName = String.Concat(assemblyName, ".dll"); } Assembly assembly = Assembly.LoadFrom(assemblyName); Type[] types = assembly.GetTypes(); foreach (Type nextType in types) { if (nextType.BaseType == typeof(WebTest)) { WebTest nextWebTest = Activator.CreateInstance(nextType) as WebTest; IDictionary <string, WebTestOutcome> dependentRequestOutcomes = new Dictionary <string, WebTestOutcome>(); if (String.IsNullOrEmpty(nextWebTest.Name)) { Console.Write("{0}: ", nextType); } else { Console.Write("{0}: ", nextWebTest.Name); } IEnumerator <WebTestRequest> webTestRequests = nextWebTest.GetRequestEnumerator(); while (webTestRequests.MoveNext()) { WebTestRequest nextRequest = webTestRequests.Current; if (nextWebTest.PreAtuhenticate) { nextRequest.PreAuthenticate = true; } nextRequest.Execute(); dependentRequestOutcomes.Add(nextRequest.Uri.ToString(), nextRequest.Outcome); } if (dependentRequestOutcomes.Values.Contains(WebTestOutcome.Failed)) { Console.WriteLine("{0}", WebTestOutcome.Failed); } else if (dependentRequestOutcomes.Values.Contains(WebTestOutcome.Error)) { Console.WriteLine("{0}", WebTestOutcome.Error); } else if (dependentRequestOutcomes.Values.Contains(WebTestOutcome.NotExecuted)) { Console.WriteLine("{0}", WebTestOutcome.NotExecuted); } else { Console.WriteLine("{0}", WebTestOutcome.Passed); } foreach (string url in dependentRequestOutcomes.Keys) { Console.WriteLine("+ {0}: {1}", url, dependentRequestOutcomes[url]); } } } } } }
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://pponline.meikarta.com/pponline/"); request1.ThinkTime = 1; WebTestRequest request1Dependent1 = new WebTestRequest("https://fonts.googleapis.com/css"); request1Dependent1.Headers.Add(new WebTestRequestHeader("Referer", "http://pponline.meikarta.com/pponline/")); request1Dependent1.QueryStringParameters.Add("family", "Source+Sans+Pro:300,400,600,700,300italic,400italic,600italic", false, false); request1.DependentRequests.Add(request1Dependent1); WebTestRequest request1Dependent2 = new WebTestRequest("https://fonts.gstatic.com/s/sourcesanspro/v10/toadOcfmlt9b38dHJxOBGNbE_oMaV8t2eFe" + "ISPpzbdE.woff"); request1Dependent2.Headers.Add(new WebTestRequestHeader("Referer", "http://pponline.meikarta.com/pponline/")); request1.DependentRequests.Add(request1Dependent2); WebTestRequest request1Dependent3 = new WebTestRequest("https://fonts.gstatic.com/s/sourcesanspro/v10/ODelI1aHBYDBqgeIAH2zlBM0YzuT7MdOe03" + "otPbuUS0.woff"); request1Dependent3.Headers.Add(new WebTestRequestHeader("Referer", "http://pponline.meikarta.com/pponline/")); request1.DependentRequests.Add(request1Dependent3); WebTestRequest request1Dependent4 = new WebTestRequest("https://fonts.gstatic.com/s/sourcesanspro/v10/toadOcfmlt9b38dHJxOBGJ6-ys_j0H4QL65" + "VLqzI3wI.woff"); request1Dependent4.Headers.Add(new WebTestRequestHeader("Referer", "http://pponline.meikarta.com/pponline/")); request1.DependentRequests.Add(request1Dependent4); WebTestRequest request1Dependent5 = new WebTestRequest("https://fonts.gstatic.com/s/sourcesanspro/v10/toadOcfmlt9b38dHJxOBGFkQc6VGVFSmCnC" + "_l7QZG60.woff"); request1Dependent5.Headers.Add(new WebTestRequestHeader("Referer", "http://pponline.meikarta.com/pponline/")); request1.DependentRequests.Add(request1Dependent5); WebTestRequest request1Dependent6 = new WebTestRequest("https://fonts.gstatic.com/s/sourcesanspro/v10/fpTVHK8qsXbIeTHTrnQH6GGomRtBD2u8FwS" + "Y4jjlmeA.woff"); request1Dependent6.Headers.Add(new WebTestRequestHeader("Referer", "http://pponline.meikarta.com/pponline/")); request1.DependentRequests.Add(request1Dependent6); WebTestRequest request1Dependent7 = new WebTestRequest("https://fonts.gstatic.com/s/sourcesanspro/v10/M2Jd71oPJhLKp0zdtTvoMzNrcjQuD0pTu1z" + "a2FULaMs.woff"); request1Dependent7.Headers.Add(new WebTestRequestHeader("Referer", "http://pponline.meikarta.com/pponline/")); request1.DependentRequests.Add(request1Dependent7); WebTestRequest request1Dependent8 = new WebTestRequest("https://fonts.gstatic.com/s/sourcesanspro/v10/fpTVHK8qsXbIeTHTrnQH6PULlOK_XQENnt2" + "ryrY843E.woff"); request1Dependent8.Headers.Add(new WebTestRequestHeader("Referer", "http://pponline.meikarta.com/pponline/")); request1.DependentRequests.Add(request1Dependent8); WebTestRequest request1Dependent9 = new WebTestRequest("http://pponline.meikarta.com/pponline/skin/fonts/glyphicons-halflings-regular.eot" + ""); request1Dependent9.ThinkTime = 722; request1Dependent9.Headers.Add(new WebTestRequestHeader("Referer", "http://pponline.meikarta.com/pponline/")); request1Dependent9.QueryStringParameters.Add("", "", false, false); request1.DependentRequests.Add(request1Dependent9); 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("http://pponline.meikarta.com/pponline/"); request2.Method = "POST"; request2.ExpectedResponseUrl = "http://pponline.meikarta.com/pponline/wf/index.aspx"; request2.Headers.Add(new WebTestRequestHeader("Referer", "http://pponline.meikarta.com/pponline/")); FormPostHttpBody request2Body = new FormPostHttpBody(); request2Body.FormPostParameters.Add("SMMain_HiddenField", this.Context["$HIDDEN1.SMMain_HiddenField"].ToString()); request2Body.FormPostParameters.Add("__EVENTTARGET", this.Context["$HIDDEN1.__EVENTTARGET"].ToString()); request2Body.FormPostParameters.Add("__EVENTARGUMENT", this.Context["$HIDDEN1.__EVENTARGUMENT"].ToString()); request2Body.FormPostParameters.Add("__VIEWSTATE", this.Context["$HIDDEN1.__VIEWSTATE"].ToString()); request2Body.FormPostParameters.Add("__VIEWSTATEGENERATOR", this.Context["$HIDDEN1.__VIEWSTATEGENERATOR"].ToString()); request2Body.FormPostParameters.Add("_default", "1"); request2Body.FormPostParameters.Add("txtEmail", "228865660010"); request2Body.FormPostParameters.Add("txtPassword", "hello"); request2.Body = request2Body; WebTestRequest request2Dependent1 = new WebTestRequest("http://pponline.meikarta.com/pponline/skin/fonts/fonts/fontawesome-webfont.eot"); request2Dependent1.Headers.Add(new WebTestRequestHeader("Referer", "http://pponline.meikarta.com/pponline/wf/index.aspx")); request2Dependent1.QueryStringParameters.Add("", "", false, false); request2.DependentRequests.Add(request2Dependent1); WebTestRequest request2Dependent2 = new WebTestRequest("http://pponline.meikarta.com/pponline/skin/font/fontawesome-webfont.eot"); request2Dependent2.ThinkTime = 1; request2Dependent2.Headers.Add(new WebTestRequestHeader("Referer", "http://pponline.meikarta.com/pponline/wf/index.aspx")); request2Dependent2.QueryStringParameters.Add("", "", false, false); request2.DependentRequests.Add(request2Dependent2); yield return(request2); request2 = null; WebTestRequest request3 = new WebTestRequest("http://pponline.meikarta.com/pponline/skin/font/fontawesome-webfont.woff"); request3.Headers.Add(new WebTestRequestHeader("Referer", "http://pponline.meikarta.com/pponline/wf/index.aspx")); request3.QueryStringParameters.Add("v", "3.0.2", false, false); yield return(request3); request3 = null; WebTestRequest request4 = new WebTestRequest("http://pponline.meikarta.com/pponline/skin/font/fontawesome-webfont.ttf"); request4.ThinkTime = 4; request4.Headers.Add(new WebTestRequestHeader("Referer", "http://pponline.meikarta.com/pponline/wf/index.aspx")); request4.QueryStringParameters.Add("v", "3.0.2", false, false); yield return(request4); request4 = null; WebTestRequest request5 = new WebTestRequest("http://pponline.meikarta.com/pponline/wf/trOrder.aspx"); request5.Headers.Add(new WebTestRequestHeader("Referer", "http://pponline.meikarta.com/pponline/wf/index.aspx")); WebTestRequest request5Dependent1 = new WebTestRequest("http://pponline.meikarta.com/pponline/skin/fonts/fonts/fontawesome-webfont.eot"); request5Dependent1.Headers.Add(new WebTestRequestHeader("Referer", "http://pponline.meikarta.com/pponline/wf/trOrder.aspx")); request5Dependent1.QueryStringParameters.Add("", "", false, false); request5.DependentRequests.Add(request5Dependent1); WebTestRequest request5Dependent2 = new WebTestRequest("http://pponline.meikarta.com/pponline/skin/font/fontawesome-webfont.eot"); request5Dependent2.Headers.Add(new WebTestRequestHeader("Referer", "http://pponline.meikarta.com/pponline/wf/trOrder.aspx")); request5Dependent2.QueryStringParameters.Add("", "", false, false); request5.DependentRequests.Add(request5Dependent2); 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("http://pponline.meikarta.com/pponline/skin/font/fontawesome-webfont.woff"); request6.Headers.Add(new WebTestRequestHeader("Referer", "http://pponline.meikarta.com/pponline/wf/trOrder.aspx")); request6.QueryStringParameters.Add("v", "3.0.2", false, false); yield return(request6); request6 = null; WebTestRequest request7 = new WebTestRequest("http://pponline.meikarta.com/pponline/skin/font/fontawesome-webfont.ttf"); request7.ThinkTime = 2; request7.Headers.Add(new WebTestRequestHeader("Referer", "http://pponline.meikarta.com/pponline/wf/trOrder.aspx")); request7.QueryStringParameters.Add("v", "3.0.2", false, false); yield return(request7); request7 = null; WebTestRequest request8 = new WebTestRequest("http://pponline.meikarta.com/pponline/wf/trOrder.aspx"); request8.Method = "POST"; request8.ExpectedResponseUrl = "http://pponline.meikarta.com/pponline/wf/trOrder.aspx?p=1&x=YmRmPSZ0eHRLZXl3b3JkP" + "SZ1bj0mYmR0PSZyZWZyZXNoPTE="; request8.Headers.Add(new WebTestRequestHeader("Referer", "http://pponline.meikarta.com/pponline/wf/trOrder.aspx")); FormPostHttpBody request8Body = new FormPostHttpBody(); request8Body.FormPostParameters.Add("SMMain_HiddenField", this.Context["$HIDDEN1.SMMain_HiddenField"].ToString()); request8Body.FormPostParameters.Add("__EVENTTARGET", this.Context["$HIDDEN1.__EVENTTARGET"].ToString()); request8Body.FormPostParameters.Add("__EVENTARGUMENT", this.Context["$HIDDEN1.__EVENTARGUMENT"].ToString()); request8Body.FormPostParameters.Add("__VIEWSTATE", this.Context["$HIDDEN1.__VIEWSTATE"].ToString()); request8Body.FormPostParameters.Add("__VIEWSTATEGENERATOR", this.Context["$HIDDEN1.__VIEWSTATEGENERATOR"].ToString()); request8Body.FormPostParameters.Add("__EVENTVALIDATION", this.Context["$HIDDEN1.__EVENTVALIDATION"].ToString()); request8Body.FormPostParameters.Add("_mProject", this.Context["$HIDDEN1._mProject"].ToString()); request8Body.FormPostParameters.Add("_mProjectInput", this.Context["$HIDDEN1._mProjectInput"].ToString()); request8Body.FormPostParameters.Add("_mUser", "1"); request8Body.FormPostParameters.Add("_psCode", this.Context["$HIDDEN1._psCode"].ToString()); request8Body.FormPostParameters.Add("txtUname", ""); request8Body.FormPostParameters.Add("txtKeyword", ""); request8.Body = request8Body; WebTestRequest request8Dependent1 = new WebTestRequest("http://pponline.meikarta.com/pponline/skin/fonts/fonts/fontawesome-webfont.eot"); request8Dependent1.Headers.Add(new WebTestRequestHeader("Referer", "http://pponline.meikarta.com/pponline/wf/trOrder.aspx?p=1&x=YmRmPSZ0eHRLZXl3b3JkP" + "SZ1bj0mYmR0PSZyZWZyZXNoPTE=")); request8Dependent1.QueryStringParameters.Add("", "", false, false); request8.DependentRequests.Add(request8Dependent1); WebTestRequest request8Dependent2 = new WebTestRequest("http://pponline.meikarta.com/pponline/skin/font/fontawesome-webfont.eot"); request8Dependent2.Headers.Add(new WebTestRequestHeader("Referer", "http://pponline.meikarta.com/pponline/wf/trOrder.aspx?p=1&x=YmRmPSZ0eHRLZXl3b3JkP" + "SZ1bj0mYmR0PSZyZWZyZXNoPTE=")); request8Dependent2.QueryStringParameters.Add("", "", false, false); request8.DependentRequests.Add(request8Dependent2); ExtractHiddenFields extractionRule3 = new ExtractHiddenFields(); extractionRule3.Required = true; extractionRule3.HtmlDecode = true; extractionRule3.ContextParameterName = "1"; request8.ExtractValues += new EventHandler <ExtractionEventArgs>(extractionRule3.Extract); yield return(request8); request8 = null; WebTestRequest request9 = new WebTestRequest("http://pponline.meikarta.com/pponline/skin/font/fontawesome-webfont.woff"); request9.Headers.Add(new WebTestRequestHeader("Referer", "http://pponline.meikarta.com/pponline/wf/trOrder.aspx?p=1&x=YmRmPSZ0eHRLZXl3b3JkP" + "SZ1bj0mYmR0PSZyZWZyZXNoPTE=")); request9.QueryStringParameters.Add("v", "3.0.2", false, false); yield return(request9); request9 = null; WebTestRequest request10 = new WebTestRequest("http://pponline.meikarta.com/pponline/skin/font/fontawesome-webfont.ttf"); request10.ThinkTime = 2; request10.Headers.Add(new WebTestRequestHeader("Referer", "http://pponline.meikarta.com/pponline/wf/trOrder.aspx?p=1&x=YmRmPSZ0eHRLZXl3b3JkP" + "SZ1bj0mYmR0PSZyZWZyZXNoPTE=")); request10.QueryStringParameters.Add("v", "3.0.2", false, false); yield return(request10); request10 = null; WebTestRequest request11 = new WebTestRequest("http://pponline.meikarta.com/pponline/wf/trOrder.aspx"); request11.Method = "POST"; request11.ExpectedResponseUrl = "http://pponline.meikarta.com/pponline/wf/trOrder.aspx?pc=00000000&p=1&r=0&x=cmVmc" + "mVzaD0xJmtleXdvcmQ9"; request11.Headers.Add(new WebTestRequestHeader("Referer", "http://pponline.meikarta.com/pponline/wf/trOrder.aspx?p=1&x=YmRmPSZ0eHRLZXl3b3JkP" + "SZ1bj0mYmR0PSZyZWZyZXNoPTE=")); request11.QueryStringParameters.Add("p", "1", false, false); request11.QueryStringParameters.Add("x", "YmRmPSZ0eHRLZXl3b3JkPSZ1bj0mYmR0PSZyZWZyZXNoPTE%3d", false, false); FormPostHttpBody request11Body = new FormPostHttpBody(); request11Body.FormPostParameters.Add("SMMain_HiddenField", this.Context["$HIDDEN1.SMMain_HiddenField"].ToString()); request11Body.FormPostParameters.Add("__EVENTTARGET", this.Context["$HIDDEN1.__EVENTTARGET"].ToString()); request11Body.FormPostParameters.Add("__EVENTARGUMENT", this.Context["$HIDDEN1.__EVENTARGUMENT"].ToString()); request11Body.FormPostParameters.Add("__VIEWSTATE", this.Context["$HIDDEN1.__VIEWSTATE"].ToString()); request11Body.FormPostParameters.Add("__VIEWSTATEGENERATOR", this.Context["$HIDDEN1.__VIEWSTATEGENERATOR"].ToString()); request11Body.FormPostParameters.Add("__EVENTVALIDATION", this.Context["$HIDDEN1.__EVENTVALIDATION"].ToString()); request11Body.FormPostParameters.Add("_mProject", "0"); request11Body.FormPostParameters.Add("_mProjectInput", this.Context["$HIDDEN1._mProjectInput"].ToString()); request11Body.FormPostParameters.Add("_mUser", this.Context["$HIDDEN1._mUser"].ToString()); request11Body.FormPostParameters.Add("_psCode", "00000000"); request11Body.FormPostParameters.Add("txtUname", ""); request11Body.FormPostParameters.Add("txtKeyword", ""); request11.Body = request11Body; WebTestRequest request11Dependent1 = new WebTestRequest("http://pponline.meikarta.com/pponline/skin/fonts/fonts/fontawesome-webfont.eot"); request11Dependent1.Headers.Add(new WebTestRequestHeader("Referer", "http://pponline.meikarta.com/pponline/wf/trOrder.aspx?pc=00000000&p=1&r=0&x=cmVmc" + "mVzaD0xJmtleXdvcmQ9")); request11Dependent1.QueryStringParameters.Add("", "", false, false); request11.DependentRequests.Add(request11Dependent1); WebTestRequest request11Dependent2 = new WebTestRequest("http://pponline.meikarta.com/pponline/skin/font/fontawesome-webfont.eot"); request11Dependent2.Headers.Add(new WebTestRequestHeader("Referer", "http://pponline.meikarta.com/pponline/wf/trOrder.aspx?pc=00000000&p=1&r=0&x=cmVmc" + "mVzaD0xJmtleXdvcmQ9")); request11Dependent2.QueryStringParameters.Add("", "", false, false); request11.DependentRequests.Add(request11Dependent2); WebTestRequest request11Dependent3 = new WebTestRequest("http://pponline.meikarta.com/pponline/skin/font/fontawesome-webfont.woff"); request11Dependent3.Headers.Add(new WebTestRequestHeader("Referer", "http://pponline.meikarta.com/pponline/wf/trOrder.aspx?pc=00000000&p=1&r=0&x=cmVmc" + "mVzaD0xJmtleXdvcmQ9")); request11Dependent3.QueryStringParameters.Add("v", "3.0.2", false, false); request11.DependentRequests.Add(request11Dependent3); WebTestRequest request11Dependent4 = new WebTestRequest("http://pponline.meikarta.com/pponline/skin/font/fontawesome-webfont.ttf"); request11Dependent4.ThinkTime = 3; request11Dependent4.Headers.Add(new WebTestRequestHeader("Referer", "http://pponline.meikarta.com/pponline/wf/trOrder.aspx?pc=00000000&p=1&r=0&x=cmVmc" + "mVzaD0xJmtleXdvcmQ9")); request11Dependent4.QueryStringParameters.Add("v", "3.0.2", false, false); request11.DependentRequests.Add(request11Dependent4); ExtractHiddenFields extractionRule4 = new ExtractHiddenFields(); extractionRule4.Required = true; extractionRule4.HtmlDecode = true; extractionRule4.ContextParameterName = "1"; request11.ExtractValues += new EventHandler <ExtractionEventArgs>(extractionRule4.Extract); yield return(request11); request11 = null; WebTestRequest request12 = new WebTestRequest("http://pponline.meikarta.com/pponline/wf/trOrder.aspx"); request12.Method = "POST"; request12.ExpectedResponseUrl = "http://pponline.meikarta.com/pponline/wf/trOrderInput.aspx?pc=00000000&r=0&p=4"; request12.Headers.Add(new WebTestRequestHeader("Referer", "http://pponline.meikarta.com/pponline/wf/trOrder.aspx?pc=00000000&p=1&r=0&x=cmVmc" + "mVzaD0xJmtleXdvcmQ9")); request12.QueryStringParameters.Add("pc", "00000000", false, false); request12.QueryStringParameters.Add("p", "1", false, false); request12.QueryStringParameters.Add("r", "0", false, false); request12.QueryStringParameters.Add("x", "cmVmcmVzaD0xJmtleXdvcmQ9", false, false); FormPostHttpBody request12Body = new FormPostHttpBody(); request12Body.FormPostParameters.Add("SMMain_HiddenField", this.Context["$HIDDEN1.SMMain_HiddenField"].ToString()); request12Body.FormPostParameters.Add("__EVENTTARGET", this.Context["$HIDDEN1.__EVENTTARGET"].ToString()); request12Body.FormPostParameters.Add("__EVENTARGUMENT", this.Context["$HIDDEN1.__EVENTARGUMENT"].ToString()); request12Body.FormPostParameters.Add("__VIEWSTATE", this.Context["$HIDDEN1.__VIEWSTATE"].ToString()); request12Body.FormPostParameters.Add("__VIEWSTATEGENERATOR", this.Context["$HIDDEN1.__VIEWSTATEGENERATOR"].ToString()); request12Body.FormPostParameters.Add("__EVENTVALIDATION", this.Context["$HIDDEN1.__EVENTVALIDATION"].ToString()); request12Body.FormPostParameters.Add("_mProject", this.Context["$HIDDEN1._mProject"].ToString()); request12Body.FormPostParameters.Add("_mProjectInput", "4"); request12Body.FormPostParameters.Add("_mUser", this.Context["$HIDDEN1._mUser"].ToString()); request12Body.FormPostParameters.Add("_psCode", this.Context["$HIDDEN1._psCode"].ToString()); request12Body.FormPostParameters.Add("txtUname", ""); request12Body.FormPostParameters.Add("txtKeyword", ""); request12.Body = request12Body; WebTestRequest request12Dependent1 = new WebTestRequest("http://pponline.meikarta.com/pponline/skin/fonts/fonts/fontawesome-webfont.eot"); request12Dependent1.Headers.Add(new WebTestRequestHeader("Referer", "http://pponline.meikarta.com/pponline/wf/trOrderInput.aspx?pc=00000000&r=0&p=4")); request12Dependent1.QueryStringParameters.Add("", "", false, false); request12.DependentRequests.Add(request12Dependent1); WebTestRequest request12Dependent2 = new WebTestRequest("http://pponline.meikarta.com/pponline/skin/font/fontawesome-webfont.eot"); request12Dependent2.Headers.Add(new WebTestRequestHeader("Referer", "http://pponline.meikarta.com/pponline/wf/trOrderInput.aspx?pc=00000000&r=0&p=4")); request12Dependent2.QueryStringParameters.Add("", "", false, false); request12.DependentRequests.Add(request12Dependent2); WebTestRequest request12Dependent3 = new WebTestRequest("http://pponline.meikarta.com/pponline/skin/font/fontawesome-webfont.woff"); request12Dependent3.Headers.Add(new WebTestRequestHeader("Referer", "http://pponline.meikarta.com/pponline/wf/trOrderInput.aspx?pc=00000000&r=0&p=4")); request12Dependent3.QueryStringParameters.Add("v", "3.0.2", false, false); request12.DependentRequests.Add(request12Dependent3); WebTestRequest request12Dependent4 = new WebTestRequest("http://pponline.meikarta.com/pponline/skin/font/fontawesome-webfont.ttf"); request12Dependent4.ThinkTime = 20; request12Dependent4.Headers.Add(new WebTestRequestHeader("Referer", "http://pponline.meikarta.com/pponline/wf/trOrderInput.aspx?pc=00000000&r=0&p=4")); request12Dependent4.QueryStringParameters.Add("v", "3.0.2", false, false); request12.DependentRequests.Add(request12Dependent4); ExtractHiddenFields extractionRule5 = new ExtractHiddenFields(); extractionRule5.Required = true; extractionRule5.HtmlDecode = true; extractionRule5.ContextParameterName = "1"; request12.ExtractValues += new EventHandler <ExtractionEventArgs>(extractionRule5.Extract); yield return(request12); request12 = null; WebTestRequest request13 = new WebTestRequest("http://pponline.meikarta.com/pponline/wf/trOrderInput.aspx"); request13.Method = "POST"; request13.ExpectedResponseUrl = "http://pponline.meikarta.com/pponline/wf/trOrderInput.aspx?pc=00000000&rr=11594&p" + "=4&r=0&x=bm90ZT1UaGFuayt5b3UhK1lvdXIrb3JkZXIraXMrY29tcGxldGUuK1BsZWFzZStwYXkrbm9" + "3K29yK3lvdStjYW4rcGF5K2xhdGVyK2Zyb20rQkYrT3JkZXIrSGlzdG9yeSttZW51Lg=="; request13.Headers.Add(new WebTestRequestHeader("Referer", "http://pponline.meikarta.com/pponline/wf/trOrderInput.aspx?pc=00000000&r=0&p=4")); request13.QueryStringParameters.Add("pc", "00000000", false, false); request13.QueryStringParameters.Add("r", "0", false, false); request13.QueryStringParameters.Add("p", "4", false, false); FormPostHttpBody request13Body = new FormPostHttpBody(); request13Body.FormPostParameters.Add("SMMain_HiddenField", this.Context["$HIDDEN1.SMMain_HiddenField"].ToString()); request13Body.FormPostParameters.Add("__EVENTTARGET", this.Context["$HIDDEN1.__EVENTTARGET"].ToString()); request13Body.FormPostParameters.Add("__EVENTARGUMENT", this.Context["$HIDDEN1.__EVENTARGUMENT"].ToString()); request13Body.FormPostParameters.Add("__VIEWSTATE", this.Context["$HIDDEN1.__VIEWSTATE"].ToString()); request13Body.FormPostParameters.Add("__VIEWSTATEGENERATOR", this.Context["$HIDDEN1.__VIEWSTATEGENERATOR"].ToString()); request13Body.FormPostParameters.Add("__EVENTVALIDATION", this.Context["$HIDDEN1.__EVENTVALIDATION"].ToString()); request13Body.FormPostParameters.Add("_saveOrder", "1"); request13Body.FormPostParameters.Add("_insertNew", this.Context["$HIDDEN1._insertNew"].ToString()); request13Body.FormPostParameters.Add("_orderRef", this.Context["$HIDDEN1._orderRef"].ToString()); request13Body.FormPostParameters.Add("_orderCode", this.Context["$HIDDEN1._orderCode"].ToString()); request13Body.FormPostParameters.Add("_totalAmt", this.Context["$HIDDEN1._totalAmt"].ToString()); request13Body.FormPostParameters.Add("_qty", this.Context["$HIDDEN1._qty"].ToString()); request13Body.FormPostParameters.Add("_cName", this.Context["$HIDDEN1._cName"].ToString()); request13Body.FormPostParameters.Add("_email", this.Context["$HIDDEN1._email"].ToString()); request13Body.FormPostParameters.Add("_userRef", this.Context["$HIDDEN1._userRef"].ToString()); request13Body.FormPostParameters.Add("_reOrder", this.Context["$HIDDEN1._reOrder"].ToString()); request13Body.FormPostParameters.Add("txtUserRef", this.Context["$HIDDEN1.txtUserRef"].ToString()); request13Body.FormPostParameters.Add("txtClusterCode", this.Context["$HIDDEN1.txtClusterCode"].ToString()); request13Body.FormPostParameters.Add("txtProjectCode", this.Context["$HIDDEN1.txtProjectCode"].ToString()); request13Body.FormPostParameters.Add("txtProjectRef", this.Context["$HIDDEN1.txtProjectRef"].ToString()); request13Body.FormPostParameters.Add("txtsearch", ""); request13Body.FormPostParameters.Add("selPreferredType", "10"); request13Body.FormPostParameters.Add("selTerm", "2"); request13Body.FormPostParameters.Add("txtPassPrice", "10,000"); request13Body.FormPostParameters.Add("txtQty", "1"); request13Body.FormPostParameters.Add("txtTotalPrice", "10,000"); request13Body.FormPostParameters.Add("txtNoted", ""); request13Body.FormPostParameters.Add("_payMethod", this.Context["$HIDDEN1._payMethod"].ToString()); request13.Body = request13Body; WebTestRequest request13Dependent1 = new WebTestRequest("http://pponline.meikarta.com/pponline/skin/fonts/fonts/fontawesome-webfont.eot"); request13Dependent1.Headers.Add(new WebTestRequestHeader("Referer", "http://pponline.meikarta.com/pponline/wf/trOrderInput.aspx?pc=00000000&rr=11594&p" + "=4&r=0&x=bm90ZT1UaGFuayt5b3UhK1lvdXIrb3JkZXIraXMrY29tcGxldGUuK1BsZWFzZStwYXkrbm9" + "3K29yK3lvdStjYW4rcGF5K2xhdGVyK2Zyb20rQkYrT3JkZXIrSGlzdG9yeSttZW51Lg==")); request13Dependent1.QueryStringParameters.Add("", "", false, false); request13.DependentRequests.Add(request13Dependent1); WebTestRequest request13Dependent2 = new WebTestRequest("http://pponline.meikarta.com/pponline/skin/font/fontawesome-webfont.eot"); request13Dependent2.Headers.Add(new WebTestRequestHeader("Referer", "http://pponline.meikarta.com/pponline/wf/trOrderInput.aspx?pc=00000000&rr=11594&p" + "=4&r=0&x=bm90ZT1UaGFuayt5b3UhK1lvdXIrb3JkZXIraXMrY29tcGxldGUuK1BsZWFzZStwYXkrbm9" + "3K29yK3lvdStjYW4rcGF5K2xhdGVyK2Zyb20rQkYrT3JkZXIrSGlzdG9yeSttZW51Lg==")); request13Dependent2.QueryStringParameters.Add("", "", false, false); request13.DependentRequests.Add(request13Dependent2); WebTestRequest request13Dependent3 = new WebTestRequest("http://pponline.meikarta.com/pponline/skin/font/fontawesome-webfont.woff"); request13Dependent3.Headers.Add(new WebTestRequestHeader("Referer", "http://pponline.meikarta.com/pponline/wf/trOrderInput.aspx?pc=00000000&rr=11594&p" + "=4&r=0&x=bm90ZT1UaGFuayt5b3UhK1lvdXIrb3JkZXIraXMrY29tcGxldGUuK1BsZWFzZStwYXkrbm9" + "3K29yK3lvdStjYW4rcGF5K2xhdGVyK2Zyb20rQkYrT3JkZXIrSGlzdG9yeSttZW51Lg==")); request13Dependent3.QueryStringParameters.Add("v", "3.0.2", false, false); request13.DependentRequests.Add(request13Dependent3); WebTestRequest request13Dependent4 = new WebTestRequest("http://pponline.meikarta.com/pponline/skin/font/fontawesome-webfont.ttf"); request13Dependent4.ThinkTime = 15; request13Dependent4.Headers.Add(new WebTestRequestHeader("Referer", "http://pponline.meikarta.com/pponline/wf/trOrderInput.aspx?pc=00000000&rr=11594&p" + "=4&r=0&x=bm90ZT1UaGFuayt5b3UhK1lvdXIrb3JkZXIraXMrY29tcGxldGUuK1BsZWFzZStwYXkrbm9" + "3K29yK3lvdStjYW4rcGF5K2xhdGVyK2Zyb20rQkYrT3JkZXIrSGlzdG9yeSttZW51Lg==")); request13Dependent4.QueryStringParameters.Add("v", "3.0.2", false, false); request13.DependentRequests.Add(request13Dependent4); yield return(request13); request13 = null; WebTestRequest request14 = new WebTestRequest("http://pponline.meikarta.com/pponline/wf/logout.aspx"); request14.ExpectedResponseUrl = "http://pponline.meikarta.com/pponline/Default.aspx"; request14.Headers.Add(new WebTestRequestHeader("Referer", "http://pponline.meikarta.com/pponline/wf/trOrderInput.aspx?pc=00000000&rr=11594&p" + "=4&r=0&x=bm90ZT1UaGFuayt5b3UhK1lvdXIrb3JkZXIraXMrY29tcGxldGUuK1BsZWFzZStwYXkrbm9" + "3K29yK3lvdStjYW4rcGF5K2xhdGVyK2Zyb20rQkYrT3JkZXIrSGlzdG9yeSttZW51Lg==")); WebTestRequest request14Dependent1 = new WebTestRequest("https://fonts.googleapis.com/css"); request14Dependent1.Headers.Add(new WebTestRequestHeader("Referer", "http://pponline.meikarta.com/pponline/Default.aspx")); request14Dependent1.QueryStringParameters.Add("family", "Source+Sans+Pro:300,400,600,700,300italic,400italic,600italic", false, false); request14.DependentRequests.Add(request14Dependent1); WebTestRequest request14Dependent2 = new WebTestRequest("https://fonts.gstatic.com/s/sourcesanspro/v10/toadOcfmlt9b38dHJxOBGNbE_oMaV8t2eFe" + "ISPpzbdE.woff"); request14Dependent2.Headers.Add(new WebTestRequestHeader("Referer", "http://pponline.meikarta.com/pponline/Default.aspx")); request14.DependentRequests.Add(request14Dependent2); WebTestRequest request14Dependent3 = new WebTestRequest("https://fonts.gstatic.com/s/sourcesanspro/v10/ODelI1aHBYDBqgeIAH2zlBM0YzuT7MdOe03" + "otPbuUS0.woff"); request14Dependent3.Headers.Add(new WebTestRequestHeader("Referer", "http://pponline.meikarta.com/pponline/Default.aspx")); request14.DependentRequests.Add(request14Dependent3); WebTestRequest request14Dependent4 = new WebTestRequest("https://fonts.gstatic.com/s/sourcesanspro/v10/toadOcfmlt9b38dHJxOBGJ6-ys_j0H4QL65" + "VLqzI3wI.woff"); request14Dependent4.Headers.Add(new WebTestRequestHeader("Referer", "http://pponline.meikarta.com/pponline/Default.aspx")); request14.DependentRequests.Add(request14Dependent4); WebTestRequest request14Dependent5 = new WebTestRequest("https://fonts.gstatic.com/s/sourcesanspro/v10/toadOcfmlt9b38dHJxOBGFkQc6VGVFSmCnC" + "_l7QZG60.woff"); request14Dependent5.Headers.Add(new WebTestRequestHeader("Referer", "http://pponline.meikarta.com/pponline/Default.aspx")); request14.DependentRequests.Add(request14Dependent5); WebTestRequest request14Dependent6 = new WebTestRequest("https://fonts.gstatic.com/s/sourcesanspro/v10/fpTVHK8qsXbIeTHTrnQH6GGomRtBD2u8FwS" + "Y4jjlmeA.woff"); request14Dependent6.Headers.Add(new WebTestRequestHeader("Referer", "http://pponline.meikarta.com/pponline/Default.aspx")); request14.DependentRequests.Add(request14Dependent6); WebTestRequest request14Dependent7 = new WebTestRequest("https://fonts.gstatic.com/s/sourcesanspro/v10/M2Jd71oPJhLKp0zdtTvoMzNrcjQuD0pTu1z" + "a2FULaMs.woff"); request14Dependent7.Headers.Add(new WebTestRequestHeader("Referer", "http://pponline.meikarta.com/pponline/Default.aspx")); request14.DependentRequests.Add(request14Dependent7); WebTestRequest request14Dependent8 = new WebTestRequest("https://fonts.gstatic.com/s/sourcesanspro/v10/fpTVHK8qsXbIeTHTrnQH6PULlOK_XQENnt2" + "ryrY843E.woff"); request14Dependent8.Headers.Add(new WebTestRequestHeader("Referer", "http://pponline.meikarta.com/pponline/Default.aspx")); request14.DependentRequests.Add(request14Dependent8); WebTestRequest request14Dependent9 = new WebTestRequest("http://pponline.meikarta.com/pponline/skin/fonts/glyphicons-halflings-regular.eot" + ""); request14Dependent9.Headers.Add(new WebTestRequestHeader("Referer", "http://pponline.meikarta.com/pponline/Default.aspx")); request14Dependent9.QueryStringParameters.Add("", "", false, false); request14.DependentRequests.Add(request14Dependent9); yield return(request14); request14 = null; }
public override IEnumerator <WebTestRequest> GetRequestEnumerator() { this.AddCommentToResult("Browse the homepage"); // Open the homepage WebTestRequest request1 = new WebTestRequest(("https://" + (this.Context["Tenant"].ToString() + ".sharepoint.com"))); request1.FollowRedirects = false; ExtractText extractionRule1 = new ExtractText(); extractionRule1.StartsWith = "href=\""; 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 = "Authenticate302"; request1.ExtractValues += new EventHandler <ExtractionEventArgs>(extractionRule1.Extract); yield return(request1); request1 = null; WebTestRequest request2 = new WebTestRequest(this.Context["Authenticate302"].ToString()); request2.FollowRedirects = false; request2.Headers.Add(new WebTestRequestHeader("referer", ("https://" + (this.Context["Tenant"].ToString() + ".sharepoint.com")))); ExtractText extractionRule2 = new ExtractText(); extractionRule2.StartsWith = "href=\""; extractionRule2.EndsWith = "\">"; extractionRule2.IgnoreCase = false; extractionRule2.UseRegularExpression = false; extractionRule2.Required = true; extractionRule2.ExtractRandomMatch = false; extractionRule2.Index = 0; extractionRule2.HtmlDecode = true; extractionRule2.SearchInHeaders = false; extractionRule2.ContextParameterName = "AuthSpForms"; request2.ExtractValues += new EventHandler <ExtractionEventArgs>(extractionRule2.Extract); yield return(request2); request2 = null; this.AddCommentToResult("Authentication starts"); //foreach (WebTestRequest r in IncludeWebTest("SpoLogin", false)) { yield return r; }; driver = new PhantomJSDriver(AssemblyDirectory); wait = new WebDriverWait(driver, TimeSpan.FromSeconds(10)); var baseURl = $"https://{this.Context["Tenant"].ToString()}.sharepoint.com"; string pattern = @"(?<=CONTEXT \= \').*(?=\';)"; driver.Navigate().GoToUrl(baseURl); var match = Regex.Match(driver.PageSource, pattern); var validatorURl = $"https://login.microsoftonline.com/common/userrealm?user={this.Context["UserName"].ToString()}&api-version=2.1&stsRequest={match.Value}&checkForMicrosoftAccount=true"; driver.Navigate().GoToUrl(validatorURl); pattern = "(?<=AuthURL\\\"\\:\\\")[^\\\"]*(?=\\\")"; match = Regex.Match(driver.PageSource, pattern); if (match.Success) { FederatedLogin(WebUtility.HtmlDecode(match.Value), this.Context["UserName"].ToString(), this.Context["UserPassword"].ToString()); } else { AzureDomainLogin(baseURl, this.Context["UserName"].ToString(), this.Context["UserPassword"].ToString()); } // Get Hidden var content = driver.PageSource; var document = new HtmlAgilityPack.HtmlDocument(); document.LoadHtml(content); foreach (var hidden in document.DocumentNode.Descendants("input") .Where(u => u.GetAttributeValue("type", "") == "hidden")) { var attributeName = hidden.GetAttributeValue("name", ""); var attributeValue = hidden.GetAttributeValue("value", ""); if (!String.IsNullOrEmpty(attributeValue)) { var hiddenContextName = $"$HIDDENCtx.{attributeName}"; this.Context[hiddenContextName] = attributeValue; } } driver.Quit(); // Check if request digest is empty, need to post token to SharePoint if (this.Context["$HIDDENCtx.__REQUESTDIGEST"] == null) { WebTestRequest request8 = new WebTestRequest(("https://" + (this.Context["Tenant"].ToString() + (".sharepoint.com" + this.Context["AuthSpForms"].ToString())))); request8.Method = "POST"; request8.ExpectedResponseUrl = ("https://" + (this.Context["Tenant"].ToString() + ".sharepoint.com")); request8.Headers.Add(new WebTestRequestHeader("Referer", (this.Context["BaseMsoUrl"].ToString() + this.Context["LoginMsoPost"].ToString()))); FormPostHttpBody request8Body = new FormPostHttpBody(); request8Body.FormPostParameters.Add("code", this.Context["$HIDDENLogin.code"].ToString()); request8Body.FormPostParameters.Add("id_token", this.Context["$HIDDENLogin.id_token"].ToString()); request8Body.FormPostParameters.Add("state", this.Context["$HIDDENLogin.state"].ToString()); request8Body.FormPostParameters.Add("session_state", this.Context["$HIDDENLogin.session_state"].ToString()); request8.Body = request8Body; ExtractHiddenFields extractionRule9 = new ExtractHiddenFields(); extractionRule9.Required = true; extractionRule9.HtmlDecode = true; extractionRule9.ContextParameterName = "Ctx"; request8.ExtractValues += new EventHandler <ExtractionEventArgs>(extractionRule9.Extract); yield return(request8); request8 = null; } this.AddCommentToResult("Authentication completed"); }