Just remembered that the PowerShell testing suite turned a year. As it believed, approx. on November 28th, 2011, the result of a programming mistake, of course (a piece of code didn’t work in PowerShell, just a usage mistake), the decision to write up C#-cmdlets has been made. 🙂
Since then, our frameworks have changed significantly. It was only UIAutomation which was the root of the suite. Now, there are several frameworks published and several versions upcoming.
Shortly, I’d drop a word about the Software Testing Using PowerShell team plans. From the features that are almost ready to those that are only in mind. What will the upcoming winter bring to us?
- on fail, the Invoke-UIA[ControlType]Click cmdlets will try Win32 click by default. This behavior (the user wants it click and it clicks) is most awaiting (thanks to JohnQuest for the idea).
- the Set-UIA[ControlType]Text cmdlets will check the result and try to use SendKeys on a failure
- the Set-UIAControlKeys cmdlet will try several times to put text into the input field, checking the result
- UIAutomationSpy are going to produce more useful code. Moreover, the code produced is going to be faster. How? When possible, UIAutomationSpy will set the -Win32 parameter, what, in certain situations, accelerates tests significantly (working with controls near grids and listviews is slow; this can be healed by using Win32 handles).
- UIAutomationSpy will finally check code that it generates (sometimes what can be got by hovering over is not the same that can be got by searching in the Automation tree).
- at least ten pages of documentation as what is published is like a mad mix
- setup for the module
- Java Access Brigde (that has not been tried yet)
- we will try to use UIA2 if it’s possible to combine two UI Automation technologies
- support for ChromeOptions, InternetExplorerOptions and FirefoxProfile
- fast-working ‘named’ cmdlets Get-Se[TagName]
- cmdlets for working with tables
- in a perspective, support for other browsers
- TestLink add-in (missing functionality)
- TFS add-in
- working with test cases in SQLite, TestLink, various files
- EC2 and S3 cmdlets to allow automated test lab deployment and execution
- a small set of cmdlets allowing us to start/stop/suspend/snapshot guests
- these days we are working on harnessing a Dependency Injection framework. By now, SePSX is partially sitting on Autofac 2.6 and we are also experimenting with NInject 3 in other projects. TLAddin has benefited from using Moq. The reasons we are working on not a business-understood features are such:
- the number of tests is growing and the testing cycle should be running every several minutes. Hundreds of tests we already have are for daily framework verification (they take twenty minutes or more, what is critical for us). On the opposite, a hundred of unit tests we have already had take less than five seconds (and around seventeen seconds does Gallio take to get the consciousness at the start of testing)
- we need more through-out testing of our code