Automating applications based on Qt Jambi requires the following steps:
- Create folder for original Qt Jambi libraries ("qtjambi_libs") and copy the original Qt Jambi shared libraries (located in "<qtjambi-linux32-gcc-4.5.2_01.jar.zip>/lib") into it. The libraries are:
libcom_trolltech_qt_core.so
libcom_trolltech_qt_gui.so
libcom_trolltech_qt_network.so
libcom_trolltech_qt_opengl.so
libcom_trolltech_qt_phonon.so
libcom_trolltech_qt_sql.so
libcom_trolltech_qt_svg.so
libcom_trolltech_qt_webkit.so
libcom_trolltech_qt_xmlpatterns.so
libcom_trolltech_qt_xml.so
libphonon.so.4
libQtCore.so.4
libQtGui.so.4
libqtjambi.so
libQtNetwork.so.4
libQtOpenGL.so.4
libQtSql.so.4
libQtSvg.so.4
libQtWebKit.so.4
libQtXmlPatterns.so.4
libQtXml.so.4
libstdc++.so.6
Use Squish for Qt, Qt 4.5.x, Pure Qt 4. (Ask support for Pure Qt 4 Squish packages.)
Run Squish's setup and point it to the Qt libraries in the "qtjambi_libs" folder.
Start Squish IDE.
Create a Qt test suite, you do not need to specify the AUT yet.
Quit Squish IDE.
Configure test suite to use hierarchical names: Open "<test_suite_dir>/suite.conf" in a text editor and append this line to it:
NAMINGSCHEME=HIERARCHICAL
- Set environment variable SQUISH_NO_CRASHHANDLER=1 and then start the Squish IDE:
In a shell/terminal:
SQUISH_NO_CRASHHANDLER=1 "<squish_dir>/bin/squishide"
Open test suite settings and enable/check "Hook into sub-processes launched by the application".
Set the "java" binary as AUT and pass the file name of jar file to as as parameter:
-jar MyQtJambiApp.jar
If you use a shell script to start your application first configure "java" as AUT in the test suite settings. (This will register "java" as an allowed sub-process.) Then change the AUT to your shell script.