Example #1
0
        public override IEnumerator<WebTestRequest> GetRequestEnumerator()
        {
            WebTestRequest logonRequest = new WebTestRequest(Utilities.BaseUrl + Constants.LogonPageUrlSuffix);
            logonRequest.ExpectedResponseUrl = Utilities.BaseUrl + Constants.LogonPageUrlSuffix;
            ExtractHiddenFields extractionRule1 = ValidationRuleHelper.GetDefaultExtractHiddenFields();
            logonRequest.ExtractValues += new EventHandler<ExtractionEventArgs>(extractionRule1.Extract);
            yield return logonRequest;
            logonRequest = null;

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

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

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

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

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

            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;
        }
Example #32
0
        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;
        }
Example #33
0
        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;
        }
Example #36
0
        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");
        }
Example #38
0
        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);
            }
        }
Example #39
0
        /// <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);
        }
Example #40
0
        /// <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;
        }
Example #42
0
        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;
        }
Example #43
0
        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;
        }
Example #45
0
        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;
        }
Example #47
0
        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;
        }
Example #48
0
        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&amp;Entity=Category&amp;ItemId=__bk40003300\" onkeydown=\"actionMenuOnKeyDown('Loading...','Physician Equipment',false,'ContosoProductCatalogService','Category','__bk40003300');\">Physician Equipment<img src=\"/_layouts/images/blank.gif\" border=\"0\" alt=\"\"></a>";
            //validationRule31.FindText = @"<a onclick=""event.cancelBubble=true"" onkeydown=""actionMenuOnKeyDown('Loading...','Dental Equipment',false,'ContosoProductCatalogService','Category','__bk40001300');"">Dental Equipment<img src=""/_layouts/images/blank.gif"" border=""0"" alt=""""></a>";
            validationRule31.IgnoreCase           = true;
            validationRule31.UseRegularExpression = false;
            validationRule31.PassIfTextFound      = true;
            request3.ValidateResponse            += new EventHandler <ValidationEventArgs>(validationRule31.Validate);

            yield return(request3);

            request3 = null;

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

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

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

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

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

            yield return(request4);

            request4 = null;
        }
Example #50
0
        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");
        }
Example #51
0
        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;
        }
Example #52
0
        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);
        }
Example #54
0
        public override IEnumerator <WebTestRequest> GetRequestEnumerator()
        {
            // Initialize validation rules that apply to all requests in the WebTest
            if ((this.Context.ValidationLevel >= Microsoft.VisualStudio.TestTools.WebTesting.ValidationLevel.Low))
            {
                ValidateResponseUrl validationRule1 = new ValidateResponseUrl();
                this.ValidateResponse += new EventHandler <ValidationEventArgs>(validationRule1.Validate);
            }
            if ((this.Context.ValidationLevel >= Microsoft.VisualStudio.TestTools.WebTesting.ValidationLevel.Low))
            {
                ValidationRuleResponseTimeGoal validationRule2 = new ValidationRuleResponseTimeGoal();
                validationRule2.Tolerance            = 0D;
                this.ValidateResponseOnPageComplete += new EventHandler <ValidationEventArgs>(validationRule2.Validate);
            }

            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;
        }
Example #55
0
        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;
        }
Example #56
0
        public override IEnumerator <WebTestRequest> GetRequestEnumerator()
        {
            // Initialize validation rules that apply to all requests in the WebTest
            if ((this.Context.ValidationLevel >= Microsoft.VisualStudio.TestTools.WebTesting.ValidationLevel.Low))
            {
                ValidateResponseUrl validationRule1 = new ValidateResponseUrl();
                this.ValidateResponse += new EventHandler <ValidationEventArgs>(validationRule1.Validate);
            }

            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> &gt; </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             = "&amp;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;
        }
Example #58
0
        /// <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;
        }
Example #60
0
        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");
        }