From Slicer Wiki
Jump to: navigation, search
Home < Documentation < Nightly < SlicerApplication < QtTesting


QtTesting is an effort started by ParaView team Paraview Wiki


Too lazy to do the same actions over and over? QtTesting is the answer! The QtTesting library provides you with an easy way to record and play macros with 3DSlicer. Included in this library is a user-friendly recording interface that shows you what actions you're recording as well as a simple and smart playback interface that will allow you to control actions whenever you want. With no input from the user, QtTesting record all accomplished actions from the point you have started the record until you stop it! "Create a puppet and let it do the rest ... "

Slicer developers already use this library to record tutorials and test Slicer3D application.


Activate QtTesting

  • Go to the setting panel within 3DSlicer
  • Go to the tab QtTesting
  • Enable QtTesting



How to Start

  • Go to Edit and click to the action Record Macro to start to record all your events.

The record dialog will appear at the bottom left of the application

Record dialog :

  • Shows the last event recorded
  • Numbers of events recorded

You can stop the recording at anytime by clicking on the Stop button

Save your macro

  • When the recording is stopped, a dialog shows up to ask where to save the recorded macro.



Recorded macros (.xml) can be replayed within Slicer sessions. Note that the success of the macro execution can depend on the original state of the application.

How to Start

  • Go to Edit and click to the menu item Play Macro to open the player dialog.

Player dialog

Controller widget

    • Play, pause, stop or play-step-by-step your macro.
    • Logs check button shows/hides information about played events and errors if any.
    • Time step controls the playback speed by waiting Xms before playing each event.
  • Player tab (default tab)
    • Show the macro file played.
  • Info tab :
    • Show the last event played.


User limitations

QtTesting in 3DSlicer is still under development, and some events won't be recorded or not properly.

Following what is subject to not work :

  • Some actions under submenu, mainly actions on widget.

work not perfectly:

  • A shift appear when you are using the 3D interactor.