What’s a web test?

Since not too many people have played with the first community tech preview release of Visual Studio Team System’s web testing (codenamed Ocracoke), I thought I’d share some basics about web tests.  Fundamentally, a web test is just a list of requests that simulate a user’s interaction with a web application.  Some web tests may be designed to stress…

18

Your feedback on web and load testing

As you can guess from my recent lack of posts, the Ocracoke team has been extremely busy trying to finish up our last major coding milestone.  We’re nearly done with the new features, but we still have several weeks of bug fixing and stabilization ahead of us before the November CTP release of Visual Studio Team System.  A few…

12

A custom ValidationRule to catch redirects to error pages

*This is the second post in a series about web test extensibility points.  The first post was about extending web tests using custom IHttpBody classes.* It is a common practice for a web application to trap errors and redirect the user to a “We’re sorry, an error has occurred…” page.  Unfortunately, these error pages often return a “200 OK” status code…

10

Welcome to the world of Visual Studio Team System web and load testing

I’d like to start this blog by introducing myself.  I’m a Software Design Engineer (SDE) working on the next generation web and load testing tools in Visual Studio 2005 Team System.  Specifically, my work focuses on coded web tests, the browser recorder, and the web test object model. The web and load testing tools we’re…

8

Better HTML parsing and validation with HtmlAgilityPack

Let’s face it; sometimes the Microsoft.VisualStudio.TestTools.WebTesting.HtmlDocument class just doesn’t cut it when you’re writing custom extraction and validation code.  HtmlDocument was originally designed as an internal class to very efficiently parse URLs for dependent requests (such as images) out of HTML response bodies.  Before VS 2005 RTM, we made HtmlDocument part of the public WebTestFramework API, but scheduling and resource…

7

Web Test Extraction and Validation rules

Now that most of our major features are complete, we’re focusing on the bug fixing and polish required to get us to RTM (after our upcoming beta, of course).  One area of polish that we’re currently lacking in is the assortment of built-in extraction and validation rules.  Keep in mind that you can always implement your…

7

So you want to replay an IIS web server log?

A few months ago, a group in Microsoft wanted to be able to play back a large IIS log as a Visual Studio web test.  They started off with a converter that converted the IIS log into a gigantic coded web test.  The 118MB .cs file that resulted was a bit ridiculous and didn’t perform very well…

6

Custom ExtractionRule to extract form fields by index

*This is the third post in a series about web test extensibility points.  The first post was about extending web tests using custom IHttpBody classes and the second post was about a custom ValidationRule to catch redirects to error pages.* The ExtractHiddenFields rule that is present in most web tests works by extracting every hidden field on a page into…

5

Web Test Recording

Our Web Test Recorder works differently than recorders in some other web/load testing products. We actually hook IE navigation events while others use a small proxy server to intercept and record requests. There are advantages and disadvantages to both approaches. A proxy recorder’s main advantage is that it can see all HTTP traffic no matter…

4

Creating custom IHttpBody classes for coded web tests

If you’ve recorded a web test and generated code, you’ve probably noticed the FormPostHttpBody class.  You might have even seen the StringHttpBody class if you had web service requests in your web test.  These are the only two built-in classes for generating HTTP request bodies, so what do you do if you need to send requests…

4