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



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

By default, QtTesting is not activated. You must enable it to be able to record or play a saved macro.

  • Open the Application Settings dialog.
  • On the left side, select the QtTesting panel
  • Enable QtTesting by toggling the checkbox
  • Restart Slicer


Default settings recorded

To avoid many problems, QtTesting records some of the applications settings before each record.

  • General settings :
    • The application's geometry
    • The application's state
    • The application's name
    • The application's version
  • 3DSlicer settings :
    • The current layout
    • The current module

Before each play back, if these settings are currently different, QtTesting ask you if you want to restore the settings to the record application state.


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.