Monday, June 30, 2008

Another neat use for PostRequest

I have a page that I am testing against that comes back as a failure because a .js file hasn't been migrated yet so I don't want my coded web test to hit that page and fail. I took care of the problem with PostRequest for the WebTestRequest call like this:



   1:  void preventCallsToJS(object sender, PostRequestEventArgs e) {

   2:    List<WebTestRequest> requestsToRemove = new List<WebTestRequest>()

   3:    foreach (WebTestRequest linkToRemove in e.Request.DependentRequest

   4:      if (linkToRemove.Url.EndsWith("someJavaScriptFile.js")) {

   5:        requestsToRemove.Add(linkToRemove);

   6:      }

   7:    };

   8:    foreach (WebTestRequest linkToRemove in requestsToRemove) {

   9:      e.Request.DependentRequests.Remove(linkToRemove);

  10:    };

  11:  }



For each request I have added the call to the above PostRequest like this:



   1:  request4.PostRequest += new EventHandler<PostRequestEventArgs>(preventCallsToJS);



No more problems hitting those pesky not yet deployed .js files. w00t!

No comments: