public override void PreRequest(object sender, PreRequestEventArgs e)
        {
            // When overridden in a derived class, represents the method
            // that will handle the event associated with the start of an HTTP request.
            base.PreRequest(sender, e);

            // the TestNumber parameter comes from the MyTestPlugin
            // which is connected to the CreatePost.loadtest
            var testNumber = -1;
            if(e.WebTest.Context.ContainsKey("testNumber"))
                testNumber = (int)e.WebTest.Context["testNumber"];

            // the PostId parameter comes from the extraction rule
            // contained in the EditPost.webtest
            string postId = "";
            if (e.WebTest.Context.ContainsKey("PostId"))
                postId = e.WebTest.Context["PostId"].ToString();

            // Content field will have TestNumber, PostId, timestamp, and new GUID
            e.WebTest.Context[this.ContentParameterName] =
                string.Format("TestNumber: {0} postId: {1} at: {2} id: {3}",
                testNumber, postId, DateTime.Now, Guid.NewGuid());

            // Title field will be random number between 0-100
            var rand = new Random();
            e.WebTest.Context[this.TitleParameterName] =
                string.Format("Random Number: {0}", rand.Next(101));
        }
        public override void PreRequest(object sender, PreRequestEventArgs e)
        {
            base.PreRequest(sender, e);

            e.Request.Headers.Add("x-microsoftajax", "Delta=true");
            FormPostHttpBody formBody = e.Request.Body as FormPostHttpBody;
            if (null == formBody)
            {
                formBody = (e.Request.Body = new FormPostHttpBody()) as FormPostHttpBody;
                e.Request.Method = "POST";
            }

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

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

                RuleHelper.SetParameter(formBody.FormPostParameters, "TheScriptManager$ScriptManager1", updatePanelName + "|" + controlName, true);
                RuleHelper.SetParameter(formBody.FormPostParameters, "__EVENTTARGET", controlName, true);
                RuleHelper.SetParameter(formBody.FormPostParameters, "__ASYNCPOST", "true", true);
            }
        }
예제 #3
0
        public override void PreRequest(object sender, PreRequestEventArgs e)
        {
            base.PreRequest(sender, e);

            string value = "cbt" + Guid.NewGuid().ToString("N").Substring(2, 28) + AdditionToValue;
            e.WebTest.Context.Add(ParameterName, value);
        }
예제 #4
0
        public override void PreRequest(object sender, PreRequestEventArgs e)
        {
            base.PreRequest(sender, e);
            e.Request.ExtractValues += new EventHandler<ExtractionEventArgs>(Request_ExtractValues);

            if (!e.WebTest.Context.ContainsKey(STEP_NO_KEY))
                e.WebTest.Context[STEP_NO_KEY] = 1;
        }
예제 #5
0
파일: GetBlobCoded.cs 프로젝트: farukc/Dash
 void request_PreRequest(object sender, PreRequestEventArgs e)
 {
     if (e.Request.IsRedirectFollow)
     {
         var refererRequest = (WebTestRequest)_refererRequest.GetValue(e.Request);
         e.Request.Method = refererRequest.Method;
         e.Request.Body = refererRequest.Body;
         e.Request.Headers.Remove("Authorization");
     }
 }
        public override void PreRequest(object sender, PreRequestEventArgs e)
        {
            string stllimit = (string)e.WebTest.Context.Single(keyvp => keyvp.Key == "ThresholdLlmit").Value;
            if (e.WebTest.Context.Keys.Contains("ThresholdLlmit"))
                rule.ThresholdTime = (long.Parse((string)e.WebTest.Context.Single(keyvp => keyvp.Key == "ThresholdLlmit").Value));
            else
                rule.ThresholdTime = 4000;

            if(rule.TotalResponseTime != 0)
                rule.TotalResponseTime = 0;
            base.PreRequest(sender, e);
            e.Request.ValidateResponse += new EventHandler<ValidationEventArgs>(rule.Validate);
        }
        public override void PreRequest(object sender, PreRequestEventArgs e)
        {
            // e.Request.Url = e.Request.Url + "/growing/test/123";

            //ht.Add("JiaoCaiID", JiaoCaiID);
            //ht.Add("StagingStatus", StagingStatus);
            //ht.Add("editstatus", editstatus);
            //ht.Add("verifyClass", VerifyClass.GetInstance());
            var verifyClass = new VerifyClass("LancooEditBook", "LancooEditBook");

            e.Request.QueryStringParameters.Add("JiaoCaiID", "");
            e.Request.QueryStringParameters.Add("StagingStatus", "");
            e.Request.QueryStringParameters.Add("editstatus", "");
            e.Request.QueryStringParameters.Add("verifyClass", verifyClass.ToString());
        }
예제 #8
0
        public override void PreRequest(object sender, PreRequestEventArgs e)
        {
            object mattername;

            if (e.Request.Body == null)
            {
                return;
            }
            StringHttpBody httpBody = e.Request.Body as StringHttpBody;

            if (httpBody == null)
            {
                return;
            }
            string body            = httpBody.BodyString;
            string updatedBodyName = "";
            string updatedBody     = "";
            object matterguid;
            var    value = "";


            var data = JObject.Parse(body);

            if (data != null)
            {
                string tokenName = "";

                if (e.WebTest.Context.TryGetValue("Name", out mattername))
                {
                    tokenName       = "Matter." + "Name";
                    value           = (data.SelectToken(tokenName) ?? JValue.CreateNull()).ToObject <string>();
                    updatedBodyName = UpdateBodyName(body, value, mattername.ToString());
                }

                if (e.WebTest.Context.TryGetValue("MatterGuid", out matterguid))
                {
                    tokenName   = "Matter." + "MatterGuid";
                    value       = (data.SelectToken(tokenName) ?? JValue.CreateNull()).ToObject <string>();
                    updatedBody = UpdateBodyGUID(updatedBodyName, value, matterguid.ToString());
                }

                StringHttpBody newBody = new StringHttpBody();
                newBody.ContentType = "application/json";
                newBody.BodyString  = updatedBody;

                e.Request.Body = newBody;
            }
        }
예제 #9
0
        public override void PreRequest(object sender, PreRequestEventArgs e)
        {
            base.PreRequest(sender, e);

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

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

                string json = param.Name == "JSON" ? param.Value : this.BuildJSON(e.WebTest.Context, value);
                e.Request.Body = new JsonRequestBody(json);

            }
        }
예제 #10
0
        public override void PreRequest(object sender, PreRequestEventArgs e)
        {
            // e.Request.Url = e.Request.Url + "/growing/test/123";

            System.DateTime startTime = TimeZone.CurrentTimeZone.ToLocalTime(new System.DateTime(1970, 1, 1)); // 当地时区
            long            timeStamp = (long)(DateTime.Now - startTime).TotalMilliseconds;                    // 相差毫秒数

            var nonce = Guid.NewGuid().ToString();
            var sign  = CP_MD5Helper.GetMd5Hash("e23815365a761e4b397ce30822a2d5bb" + timeStamp.ToString() + nonce);

            e.Request.Headers.Add("sign", sign);
            e.Request.Headers.Add("timestamp", timeStamp.ToString());
            e.Request.Headers.Add("nonce", nonce);
            e.Request.Headers.Add("appid", "930");
            e.Request.Headers.Add("Authorization", "Bearer eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJyb2xlIjoiVGVhY2hlciIsInVuaXF1ZV9uYW1lIjoidzExMSIsIm5iZiI6MTYwNjcwMDc5NSwiZXhwIjoxNjEyNzAwNzk1LCJpYXQiOjE2MDY3MDA3OTV9.mbp9Ub7WZomFTGR2_7CIZua-7M7ponD5NiO-RiyIxRk");
        }
        public void Test_PreRequest(object sender, PreRequestEventArgs e)
        {
            System.Net.ServicePointManager.SecurityProtocol = SecurityProtocolType.Tls12;
            SharedThreadData threadData = CommonFunctions.getThreadDataByScenarioName(Convert.ToInt32(e.WebTest.Context.WebTestUserId), e.WebTest.Name);

            if (threadData.SessionId != null && threadData.OrganizationId != null)
            {
                if (threadData.BNES_SID != null)
                {
                    e.Request.Headers.Add(new WebTestRequestHeader("Cookie", "SID=SessionId=" + threadData.SessionId + "&OrganisationId=" + threadData.OrganizationId + "&BNES_SID=" + threadData.BNES_SID));
                }
                else
                {
                    e.Request.Headers.Add(new WebTestRequestHeader("Cookie", "SID=SessionId=" + threadData.SessionId + "&OrganisationId=" + threadData.OrganizationId));
                }
            }
        }
예제 #12
0
파일: OrderUserPost.cs 프로젝트: evkap/DVS
        public override void PreRequest(object sender, PreRequestEventArgs e)
        {
            string server = e.WebTest.Context["WebServer"].ToString();
            if (e.Request.Url.Equals(server + "/Dashboard/Order/AddOrder", StringComparison.InvariantCultureIgnoreCase))
            {
                var context = e.WebTest.Context;
                List<KeyValuePair<string, string>> hiddens = (List<KeyValuePair<string, string>>)context[ContextHiddenArrayId];
                FormPostHttpBody requestBody = new FormPostHttpBody();
                requestBody.FormPostParameters.Add("__RequestVerificationToken", context["$HIDDEN1.__RequestVerificationToken"].ToString());
                requestBody.FormPostParameters.Add("LoanNumber", "LoanNumber");
                requestBody.FormPostParameters.Add("BorrowerFirstName", "FirstName");
                requestBody.FormPostParameters.Add("BorrowerLastName", "LastName");
                requestBody.FormPostParameters.Add("Address.Street", "PT FOM 9905");
                requestBody.FormPostParameters.Add("Address.Street2", "");
                requestBody.FormPostParameters.Add("Address.City", "Lati");
                requestBody.FormPostParameters.Add("Address.State", "FL, Florida");
                requestBody.FormPostParameters.Add("Address.ZIP", "93445");
                requestBody.FormPostParameters.Add("PropertyType", "1");
                requestBody.FormPostParameters.Add("OccupancyType", "1");
                requestBody.FormPostParameters.Add("FormType", "1");
                requestBody.FormPostParameters.Add("AppraisalFee", "500.00");
                requestBody.FormPostParameters.Add("DueDate", "06/30/2015");
                requestBody.FormPostParameters.Add("AppraisalAddonsType", "0");
                requestBody.FormPostParameters.Add("RushType", "1");
                requestBody.FormPostParameters.Add("LoanPurposeType", "1");
                requestBody.FormPostParameters.Add("AppraisalType", "1");

                foreach (var pair in hiddens)
                {
                    string key = pair.Key;
                    string value = pair.Value;
                    if (key.Contains(HiddenPrefix))
                    {
                        if (key.Contains(KeyForValueReplasing))
                            value = ReplaceValue;
                        requestBody.FormPostParameters.Add(key, value);
                    }
                }
                requestBody.FormPostParameters.Add("toRedirect", "true");
                requestBody.FormPostParameters.Add("IsEmailDelivery", "false");
                requestBody.FormPostParameters.Add("IsTextMsgDelivery", "false");
                e.Request.Body = requestBody;
            }
            base.PreRequest(sender, e);
        }
예제 #13
0
        public override void PreRequest(object sender, PreRequestEventArgs e)
        {
            if (string.IsNullOrEmpty(UserName))
            {
                UserName = "******";
            }
            if (string.IsNullOrEmpty(Password))
            {
                Password = "******";
            }


            HttpClient client = new HttpClient();
            string     token  = GetToken(client, UserName, Password);

            e.Request.Headers.Add("Authorization", "Bearer " + token);
            e.Request.Headers.Add("Accept", "application/json");
        }
예제 #14
0
        public override void PreRequest(object sender, PreRequestEventArgs e)
        {
            try
            {
                if (_Value.Contains("{{"))
                {
                    _Value = e.WebTest.Context[_Value.Replace("{{", "").Replace("}}", "")].ToString();
                }
            }
            catch (Exception ex)
            {
                e.WebTest.Context["EXCEPTION"] = ex.Message;
            }

            e.Request.Cookies.Add(new System.Net.Cookie(_Name, _Value));

            base.PreRequest(sender, e);
        }
예제 #15
0
        public override void PreRequest(object sender, PreRequestEventArgs e)
        {
            string stllimit = (string)e.WebTest.Context.Single(keyvp => keyvp.Key == "ThresholdLlmit").Value;

            if (e.WebTest.Context.Keys.Contains("ThresholdLlmit"))
            {
                rule.ThresholdTime = (long.Parse((string)e.WebTest.Context.Single(keyvp => keyvp.Key == "ThresholdLlmit").Value));
            }
            else
            {
                rule.ThresholdTime = 4000;
            }

            if (rule.TotalResponseTime != 0)
            {
                rule.TotalResponseTime = 0;
            }
            base.PreRequest(sender, e);
            e.Request.ValidateResponse += new EventHandler <ValidationEventArgs>(rule.Validate);
        }
예제 #16
0
        public override void PreRequest(object sender, PreRequestEventArgs e)
        {
            // base.PreRequest(sender, e);

            if (e.Request.Url.Contains("AppDev"))

            //  if (e.Request.Url.Contains("http://usga-ghin-ws-q2.cloudapp.net"))
            // if (e.Request.Url.Contains("http://usgawebapisit.cloudapp.net"))


            {
                //AK3 is the Bearer token context paramemeter

                // if (e.WebTest.Context.ContainsKey("AppDev"))
                if (e.WebTest.Context.ContainsKey("Bearertoken"))
                {
                    e.Request.Headers.Add("Authorization", "Bearer " + e.WebTest.Context["Bearertoken"].ToString());
                }
            }
        }
예제 #17
0
        public override void PreRequest(object sender, PreRequestEventArgs e)
        {
            base.PreRequest(sender, e);

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

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

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

            e.Request.Body = body;
        }
예제 #18
0
        public override void PreRequest(object sender, PreRequestEventArgs e)
        {
            if (e.Request.Body == null)
            {
                return;
            }
            StringHttpBody httpBody = e.Request.Body as StringHttpBody;

            if (httpBody == null)
            {
                return;
            }
            string body = httpBody.BodyString;

            string updatedBody = UpdateBody(body);

            StringHttpBody newBody = new StringHttpBody();

            newBody.BodyString  = updatedBody;
            newBody.ContentType = "application/json";
            e.Request.Body      = newBody;
        }
        public override void PreRequest(object sender, PreRequestEventArgs e)
        {
            WebTestRequestCollection depsToRemove = new WebTestRequestCollection();

            var y = e.Request;

            foreach (WebTestRequest r in e.Request.DependentRequests)
            {
                if (!string.IsNullOrEmpty(FilterDependentRequestsThatStartWith) && r.Url.Contains(FilterDependentRequestsThatStartWith))
                {
                    depsToRemove.Add(r);
                }
                else
                {
                    var x = r;
                }
            }
            foreach (WebTestRequest r in depsToRemove)
            {
                e.Request.DependentRequests.Remove(r);
            }
        }
예제 #20
0
 public override void PreRequest(object sender, PreRequestEventArgs e)
 {
     base.PreRequest(sender, e);
 }
 public override void PreRequest(object sender, PreRequestEventArgs e)
 {
     // Code to execute before each request.
     // Set the ParseDependentsRequests value on the request
     e.Request.ParseDependentRequests = m_parseDependents;
 }
 public void AgentId(object sender, PreRequestEventArgs e)
 {
     Console.WriteLine(e.WebTest.Context.AgentId);
 }
 public override void PreRequest(object sender, PreRequestEventArgs e)
 {
     Console.WriteLine(e.Request.Url);
 }
예제 #24
0
 //since this web test is for each web request use the PreRequestEventArgs instead of the PreWebtesteventargs.
 //public override void PreWebTest(object sender, PreWebTestEventArgs e)
 public override void PreRequest(object sender, PreRequestEventArgs e)
 {
     // base.PreWebTest(sender, e);
     e.Request.ParseDependentRequests = this.parDepsevalue;
 }
예제 #25
0
 public override void PreRequest(object sender, PreRequestEventArgs e)
 {
     MessageBox.Show(e.Request.Url);
 }
예제 #26
0
 public override void PreRequest(object sender, PreRequestEventArgs e)
 {
     ServicePointManager.SecurityProtocol = SecurityProtocolType.Tls12;
 }
예제 #27
0
 public override void PreRequest(object sender, PreRequestEventArgs e)
 {
     e.Request.Url = HttpUtility.UrlDecode(e.Request.Url);
     base.PreRequest(sender, e);
 }
예제 #28
0
 public override void PreRequest(object sender, PreRequestEventArgs e)
 {
     base.PreRequest(sender, e);
     e.Request.ParseDependentRequests = this.NewparseDependentvalue;
 }
예제 #29
0
        public override void PreRequest(object sender, PreRequestEventArgs e)
        {
            var guid = Guid.NewGuid().ToString().ToLower().Replace("-", "");

            e.WebTest.Context[ContextParamTarget] = guid;
        }
 public override void PreRequest(object sender, PreRequestEventArgs e)
 {
     base.PreRequest(sender, e);
     e.Request.Method = Method;
 }
예제 #31
0
 public override void PreRequest(object sender, PreRequestEventArgs e)
 {
 }