Howto: do basic things using ProjectWhite/White

– launch an application
– navigate into a submenu
– get a hold of a MDIChild-window.

Public Class Test1

Private Const path As String = "C:\Path\myprogram.exe"

Public Sub TestMethod1()
Dim application As Application = application.Launch(path)

//Find the form
Dim main_window = application.GetWindow("name of window", InitializeOption.NoCache)

//Find the Menubar and its choices
Dim menu As MenuItems.Menu = window.MenuBar.MenuItem("Menu choice")
Dim openSubMenuChoice = menu.SubMenu("Submenu choice")

//Find the MDIChild-window
Dim child_window = main_window.MdiChild(SearchCriteria.ByControlType(ControlType.Window))

End Sub
End Class

How to get started with White

Once again I find myself faced with the giant that is Visual Studio. I’ve used it before, but in short burst. Long enough to get me familiar with it and then summer was over/baby was born/or similar and I’ve gone back to the Open Source world of the university.  Each time it takes me a while to get back on track.

At this job, I’ve been asked to use White for some ui testing. White is a tool that allows you to search and refence ui components by code instead of recording a sequence of clicks. It’s designed for Windows applications and is open source.

As I felt like a noob, I hoped for a newbie guide which I didn’t find. So here is mine.

Download and unzip White. Place does not matter.

Open Visual Studio, create a new project with some sort of form you would like to test. Add a Test Project to that solution. In the project tree for the Test Project, right click References and select “Add reference”.  There you can add references to the White dlls, the ones you need are “White.Core”, “White.NUnit” and “nunit.framework”.

That should be enought to get you started and follow Ben Halls guide. Remember if you find yourself with words underlined in red and the mouse over complaint about reference missing, right hand click and select “Resolve” the correct reference will be added to the “using” list.

There, this might help some other summer job tester out there.