I am working on developing a website, which uses quite a few Infragistics controls like UltrawebGrid, WebMenu, and some of the data input controls. As the size of our web site is increasing, we need to have some automated UI testing suite in place to reduce the manual dependency. I wrote some simple test cases in Selenium for our application, but they don't play very nicely with Infragistics controls. The common problems are:
1. The clicks on Infragistics controls are simply not recognized by Selenium.
2. The behaviour is different when click is simulated by Selenium vs human clicking ( The cells dont have id field set, in case of selenium clicking, it seems id of cells in grid are set at some later time).
It will be great if someone in community has experience of having used some testing framework with Infragistics controls, and can share something about it. It will be great to know how much success you had , with what framework, etc. It will be great if someone from Infragistics developer/QA team can pitch in, and give some details about how they perform in-house testing on their controls. Surely you guys are not manually testing all of this :-)
Thanks in advance.
I believe there is a fair amount of resources online for automating Infragistics controls with Selenium, Watir / Watin and jsUnit (I believe these are the most popular ones) - you can just issue a search in our forums or in Google and you will find a lot of links for that.
For example (Selenium):
http://forums.archive.infragistics.com/readmessage?id=%3C530e5abc$456720f5$5944a3@news.infragistics.com%3E&group=infragistics.products.netadvantage.aspnet.general
The key here is to use the CSOM (client-side object model) of the controls to get to the elements of the respective items/cells/rows/etc and perform operations over them (e.g. mouse hover, click, select, etc).
could you elaborate a little on what you mean by using CSOM... and how would a MS VS C# user do this.. i am coding using C# for Selenium RC and make class libraries.... which i implement using NUnit.