ASP.NET Web Control Performance Test in Selenium
Posted by: the telerik blogs,
on 21 Aug 2007 |
View original | Bookmarked: 0 time(s)
Since Selenium has been designed as a browser-oriented tool, load/performance tests definitely arent among its strong points. With the help of Selenium Remote Control one can make precise performance test in his/her preferred language (executing number of opening page steps for example and calculating the average time), but I will limit this post in a really simple example test based entirely on Selenium Core.
Ive used RadGrid as a complex Web Control to check whether its execution time exceeds over an accepted period. What the Selenium Core test needs is just a result available for verification. So adding the execution time as text on the page will best simplify our Selenium test.
In order to fix the control execution precisely, my test class inherits from RadGrid, overriding its Init and Render events.
I check the starting time prior to control initialization (Base.OnInit) and calculate the time as soon as our grid is rendered (Base.Render). I extend the rendering adding the calculated time into a span element below the Grid. The result looks like this:
Now our Selenium test looks much straight-forward. All I do is to perform a simple text check (using assertTextPresent for example) to verify that the rendered text contains 00:00:00, which will assure that the execution time has not passed over a second.
As simple as possible, isnt it?
Of course, one can modify the test by rendering the required text in format per his/her requirements or limit the allowed control execution more strictly.
I have attached a sample web site including the inherited class (in App_Code) and a web page with the test grid demo.