public static void AddResponseAssertionToHttpRequest(string locatorType, string locatorValue,
                                                             string actionValue)
        {
            if (LoadTestingWorkflowPluginContext.IsLoadTestingEnabled &&
                !string.IsNullOrEmpty(LoadTestingWorkflowPluginContext.CurrentTestName) &&
                LoadTestingWorkflowPluginContext.HttpRequestsPerTest != null &&
                LoadTestingWorkflowPluginContext.HttpRequestsPerTest.ContainsKey(LoadTestingWorkflowPluginContext
                                                                                 .CurrentTestName))
            {
                var currentHttpRequests = LoadTestingWorkflowPluginContext
                                          .HttpRequestsPerTest[LoadTestingWorkflowPluginContext.CurrentTestName].OrderBy(x => x.CreationTime);
                var httpRequest = currentHttpRequests.LastOrDefault(x => x.Headers.Any(y => y.Contains("text/html")));
                if (httpRequest != null)
                {
                    if (httpRequest.Headers.Any(x => x.Contains("Referer")))
                    {
                        string refererHeader = httpRequest.Headers.FirstOrDefault(x => x.Contains("Referer"));
                        string refererUrl    = refererHeader?.Trim().Split(' ').LastOrDefault()?.Trim();
                        if (!string.IsNullOrEmpty(refererUrl))
                        {
                            var refererHttpRequest = currentHttpRequests.LastOrDefault(x =>
                                                                                       x.Headers.Any(y => y.Contains("text/html")) && x.Url.Equals(refererUrl));
                            if (refererHttpRequest != null)
                            {
                                httpRequest = refererHttpRequest;
                            }
                        }
                    }

                    var st = new StackTrace();
                    var sf = st.GetFrame(1);
                    var currentMethodName = sf.GetMethod();

                    var responseAssert = new ResponseAssertion
                    {
                        AssertionType = currentMethodName.Name.Replace("EventHandler", string.Empty),
                        ExpectedValue = actionValue,
                        Locator       = locatorType,
                        LocatorValue  = locatorValue,
                    };
                    httpRequest.ResponseAssertions.Add(responseAssert);
                }
            }
        }
 public ResponseAssertion ShouldFail(User user = null)
 {
     return(ShouldBeHandled(user)
            .WithResponse(res => !ResponseAssertion.Is2XxSuccess(res) && !ResponseAssertion.IsSuccessRedirect(res)));
 }