2011 Summer Project Week Automated GUI Testing
From NAMIC Wiki
Home < 2011 Summer Project Week Automated GUI Testing
Key Investigators
- Brigham and Women's Hospital: Sonia Pujol
- Isomics Inc: Steve Pieper
- Kitware: Jean-Christophe Fillon-Robin
- GE: Xiaodong Tao
Objective
The objective is to explore different solutions for automated GUI testing.
Approach, Plan
We'll generate automated tests using the Slicer3minute tutorial.
- Sikuli
- QtTesting libraries
- Directly calling GUI via PythonQt
Progress
- We have developed a sikuli script that runs automatically the different steps of the Slicer3minute tutorial using Slicer4: automated test example
- We reviewed the needs for the integrated test recording framework in VTK/Qt/Python (about 50% done, but is no the slicer4 to-do list)
- Tested native PythonQt event passing (see example code below)
#
# example PythonQt snippet that creates a button and clicks on it
#
def c():
print ("clicked!")
def b():
global bb
bb = qt.QPushButton('Test')
bb.show()
bb.connect("clicked()", c)
p = qt.QPoint(10,10)
event = qt.QMouseEvent(2, p, 1, 1, 0)
slicer.app.sendEvent(bb, event)
event = qt.QMouseEvent(3, p, 1, 1, 0)
slicer.app.sendEvent(bb, event)