Thursday, October 14, 2010

Space in Query String Parameter TARGET causes Web Performance Test to fail

I entered an item on the VS forums. Edwer Fang was able to reproduce this issue and suggested that I enter a bug here...description below:

I have noticed a specific problem with VS 2010 Web Test playback. Tests that have a Query string Parameter TARGET without a space in the name (ex: Target = Web_Site1) will pass. Tests that have a TARGET with a space in the name (ex: Target = Web Site1) will fail. The tests have been converted from VS 2008, and the same tests pass in VS 2008. In VS 2010 they always fail if the TARGET contains a space. To test this theory I created two duplicate sites (TARGETS), one with and one without a space. I ran the same web test against both sites, using different logins to cause the re-directs to either TARGET site. The one with the space fails, the one without passes.

Any known bugs and / or workarounds for this issue? For now, I am going to attempt to re-record the same test to see if the value is handled properly when recorded in VS 2010 instead of using a test that was converted from VS 2008. Unfortunately, I don't have time to record and debug my entire suite of web tests to handle the space issue and re-naming the TARGET sites to eliminate spaces is not an option.
--------------------------------------------------------------------------------------------------------------------
It seems like the authentication process immediately rejects the request if there is a space in the actual target name...Possibly because it is looking for the space, instead it gets a +, and responds with a 401 - BAD REQUEST. The failed requests in VS 2010 appear identical to the same passed request in VS 2008, TARGET=Web+Site1.

Re-recording the test with VS 2010 produces the same error.

I recorded this same login action with Fiddler and I see that the initilal login request is contains TARGET=Web Site1. A subsequent redirect then contains a + and shows TARGET=Web+Site1. VS 2010 never gets to this redirect, which leads me to believe that perhaps the + sign is being forced into the initial request by VS 2010, causing the error. Does VS 2010 do anything different than VS 2008 in this regard, becuse nothing is different between the two enviornments except the failure with sites containing a space? There also doesn't seem to be any way for me to manipulate this request within the web test, and try to force the space. It's like VS 2010 is doing this automatically, where VS 2008 did not?????

No comments:

Unix/Linux Commands

  Flow control Syntax break Exit a loop. continue Exit the current iteration of the loop and proceed with the next iteration. Ctrl+C Key com...