You’ve been asked to make sure that the Client Search screen will stand up under load, because it will be most used screen in the application. You set up a test user, and then run the Web Performance Test wizard in visual Studio 2010 to record the test. You make a new test project, save it in TFS and add a new Web Performance Test. the browser launches, and you log in as your test user. You do a few client searches representative of the use of the system and log off.
Next, you create a Load Test. The wizard launches, and you prescribe a 50 user test over a half hour. You save the test, launch it and go to lunch.
When you come back, there are 23,856 errors.
What happened? Oh, that’s right, one user can’t log into this system more than once – it was an early requirement. Oh! How am I going to do this then? Do I have to record 50 Web Performance Tests? No. You can parameterize the login.
Making a data source
Start with a CSV file of usernames and passwords. You can make it in NotePad or Excel.
Next, we will need a datasource that points here. Open your webest and click on the Add Data Source icon up in the test’s button bar.
You can select CSV file as the source of the data.
Pick the excel file you created and you’ll see the sample data.
The new data source will show up as one of the data sources for this test. Probably shoulda named it something better, huh?
Binding the fields
The next major step is to bind the data to the fiends in question. This is insanely easy. find the step where you enter the data. In my case, it was the Login.aspx page. Open the Form Post Parameters folder and find the parameters for the login and password. In this app, they are pretty easy to find.
Then follow these steps to get to the next image:
Open the properties panel with F4
Click on the fiend in your application that has the user name. Mine is txtUser_Name
Click on the Value parameter in the properties panel.
Click the dropdown arrow.
Open the data source in the treeview.
Open the testdata table (or whatever you named it)
Click on UserName and there you go. Teat field is now bound to the value.
This will work for any form
Remember, this isn’t just for login. Actually, I am making a mashup of performance testing and training, adding the training data to the system using the performance test for the New Item pages. Load testing isn’t just for performance anymore!