Quail Project Updated

Apr 14, 2010 at 2:17 PM

Latest Quail code was updated recently.   I committed the latest version of Quail along with updated samples.  I removed bindings to custom frameworks.  

When you extend a control in your silveright app, add the IQuailDecoratedControl interface and implement the 3 members.  Also add the 'ScriptableType' attribute and create any public members you might need to use in testing (like DoClick(), Value get/set, etc).  Then, on the Quail testing side, extend SlvControl in your test library and add the properties/methods you've created in your silverlight control.

You can also use a control decorator.  Add a IQuailControlFactory instance to FindControlHelper.AddFactory() (add it only once during program startup).  This factory instance should return a 'ScriptableType' object wrapping/decorating your custom control with whatever members you need for testing.  You can just use the QuailControlFactory anonymous type which makes it easy if your decorated instance implements IQuailDecoratedControl.  (I hope that makes sense, look in FindControlHelper.cs)

An example of an extended control using IQuailDecoratedControl can be found in controls like QuailListBox, QuailButton, while a Factory decorated control can be found in QuailTextBlock, QuailImage.

Some other things added is the Quail database script (SQL Server 2005), the Quail dashboard (shows test results) the latest XAMLConverter, the QuailSeleniumManager (which runs on our "cloud" of testing servers to keep Selenium itself running and in/out of the pool of available testing servers).  And probably some other stuff I forgot.

I haven't looked at Selenium 2.0 deeply yet, but some of my coworkers have said it's a nice improvement.  We have a big backlog of tests to write, and I just haven't had the time to invest in migrating to using webdrivers.  There's still a concern with some of our product people with us testing against multiple browsers (Firefox, IE6/7/8, Chrome) and my (uneducated) concern is that webdrivers/selenium 2.0 won't let me do that "real" browser testing.  So that's just another reason I've held off so far.

I hope this helps and I hope you can find Quail useful!