KWWidgets/GUI Testing/Squish: Difference between revisions
From KitwarePublic
Jump to navigationJump to search
Line 46: | Line 46: | ||
</pre> | </pre> | ||
==Testing== | ==Testing KWCallbacksExample== | ||
In this section, we will exercise KWWidgets' KWCallbacksExample example. | In this section, we will exercise KWWidgets' KWCallbacksExample example. | ||
Line 63: | Line 63: | ||
** Select the Application Under Test (AUT): pick the the <tt>./bin/KWCallbacksExample</tt> application found in your KWWidgets build tree. Again, even though we are using Squish for Tk, we are actually exercising a KWWidgets *binary application*, not a Tcl/Tk *script*. Hit "Finish". | ** Select the Application Under Test (AUT): pick the the <tt>./bin/KWCallbacksExample</tt> application found in your KWWidgets build tree. Again, even though we are using Squish for Tk, we are actually exercising a KWWidgets *binary application*, not a Tcl/Tk *script*. Hit "Finish". | ||
* Create a new Test Case | * Create a new Test Case | ||
** Select "Create New Test Case" or right click on <tt>suite_kwcallbacksexample</tt> in the left tree and select "New Test Case...". Name it, say, <tt>Test1</tt>. This should create the <tt>test.tcl</tt> file in your test suite directory | ** Select "Create New Test Case" or right-click on <tt>suite_kwcallbacksexample</tt> in the left tree and select "New Test Case...". Name it, say, <tt>Test1</tt>. This should create the <tt>tst_Test1</tt> case in the left tree and the <tt>test.tcl</tt> file in your test suite directory. | ||
{| class="wikitable" style="margin: 1em auto 1em auto" | {| class="wikitable" style="margin: 1em auto 1em auto" | ||
|- | |- | ||
| [[Image:KWWSquishTkCreateNewTestSuite.png|thumb|left|200px|New Test Suite]] || [[Image:KWWSquishTkCreateNewTestCase.png|thumb|left|200px|New Test Case]] | | [[Image:KWWSquishTkCreateNewTestSuite.png|thumb|left|200px|New Test Suite]] || [[Image:KWWSquishTkCreateNewTestCase.png|thumb|left|200px|New Test Case]] | ||
|} | |||
* Record the Test Case | |||
** Right-click on <tt>tst_Test1</tt> and select "Record...". Accept the defaults and click "Record". This should launch the <tt>KWCallbacksExample</tt>. Note the "Squish Control Bar" window: it should display "Recording test case 'tst_Test1'. | |||
** Move the slider in the <tt>KWCallbacksExample</tt> window from 10.0 to a different value, say, 50.0. Note a new (and lengthy) entry in the "Squish Control Bar" window: <tt>"scrollTo KWCallbacksExample.vtkKWWindow0.vtkKWFrame3.[...].vtkKWMyWidget0.vtkKWScale0 50000"</tt>. | |||
** Exit "Recording" mode by closing or exiting the <tt>KWCallbacksExample</tt> window, or hitting the "End Recording" button in the "Squish Control Bar" window. | |||
{| class="wikitable" style="margin: 1em auto 1em auto" | |||
|- | |||
| [[Image:KWWSquishTkCreateRecordTestCase.png|thumb|left|200px|Record Test Case]] || [[Image:KWWSquishTkCreateTestCaseRecorded.png|thumb|left|200px|Test Case Recorded]] | |||
|} | |} | ||
Revision as of 18:51, 6 November 2008
Squish
- Squish Home
- Squish for Tk, only for Unix
- about €2500
- Win32/Qt/Java/Web/Tk, scripting in Tcl/Python/JavaScript/Perl, recorder, window inspector, breakpoints/verification
Prerequisites
- Qt3. Squish for Tk will not work with Qt4. Make sure you install all Qt3 development packages. On a Ubuntu OS, this (most likely) involve: libqt3-headers, libqt3-mt, libqt3-mt-dev, qt3-apps-dev, qt3-assistant, qt3-designer, qt3-dev-tools, qt3-linguist, qt3-qtconfig, etc.
- Tcl/Tk 8.4 or 8.5
Download
- Download a Squish for Tk evaluation license
-rwxr--r-- 1 barre barre 6587889 2008-09-04 13:08 squish-3.4.1-eval-tk-src.tar.gz* -rwxr--r-- 1 barre barre 19 2008-09-04 13:08 squish-3-license*
Installation
- Reference: Squish Installation
- Unpack the archive
barre@tetsuo:~/build$ tar -xzf /home/barre/tmp/squish/squish-3.4.1-eval-tk-src.tar.gz
- Configure Squish
barre@tetsuo:~/build$ cd squish-3.4.1-eval-tk-src barre@tetsuo:~/build/squish-3.4.1-eval-tk-src$ ./configure "--with-qtdir=/usr/share/qt3" "--with-tclconfig=/opt/tcltk8.5.2/lib/tclConfig.sh" "--with-tkconfig=/opt/tcltk8.5.2/lib/tkConfig.sh"
Note that the configure script may not find your Qt3 distribution correctly: use --with-qtdir to point to the appropriate directory. Use --with-tclconfig and --with-tkconfig to point to your own Tcl/Tk distribution, if any (here /opt/tcltk8.5.2)
- Enter your license key (found in squish-3-license)
Configuring Squish. For license information please read the LICENSE file. By configuring and building Squish you are accepting the terms of this license. Enter license key: ***-*****-*****-*** Checking for C++ compiler ......... g++ Checking for g++'s version ......... 4 [...] Done with configuring. Full log in config.log. Now type './build'. * Build <pre> barre@tetsuo:~/build/squish-3.4.1-eval-tk-src$ ./build
Testing KWCallbacksExample
In this section, we will exercise KWWidgets' KWCallbacksExample example.
- If you are new to Squish you may want to read: Squish Concepts, Creating the First Test. The Squish for Tk documentation is located offline in your build directory at squish-3.4.1-eval-tk-src/doc/book/index.html, or online at http://www.froglogic.com/download/book/.
- Build KWWidgets examples (make sure KWWidgets_BUILD_EXAMPLES is set to ON), make sure the ./bin/KWCallbacksExample example has been built and is working properly.
- Start the Squish IDE
barre@tetsuo:~/build/squish-3.4.1-eval-tk-src$ ./bin/squish
- Create a new Test Suite
- Select "Create New Test Suite" at the Welcome page.
- Enter a Suite Name (say kwcallbacksexample). Select where the test suite and its files shall be saved (say ~/tmp/kww_test/). Hit "Next".
- Specify here which toolkit the application is using. KWWidgets uses Tcl/Tk under the hood, therefore select the Tk radiobutton. Hit "Next". NOTE: this page will *only* show up if Squish was built to support *several* toolkits; if only one toolkit is available (hopefully, Tk), this page will not be displayed and this single toolkit will be picked automatically.
- Select Tcl as the scripting language (if it isn't available, Squish was not able to find or use your Tcl/Tk distribution at build time). Hit "Next".
- Select the Application Under Test (AUT): pick the the ./bin/KWCallbacksExample application found in your KWWidgets build tree. Again, even though we are using Squish for Tk, we are actually exercising a KWWidgets *binary application*, not a Tcl/Tk *script*. Hit "Finish".
- Create a new Test Case
- Select "Create New Test Case" or right-click on suite_kwcallbacksexample in the left tree and select "New Test Case...". Name it, say, Test1. This should create the tst_Test1 case in the left tree and the test.tcl file in your test suite directory.
- Record the Test Case
- Right-click on tst_Test1 and select "Record...". Accept the defaults and click "Record". This should launch the KWCallbacksExample. Note the "Squish Control Bar" window: it should display "Recording test case 'tst_Test1'.
- Move the slider in the KWCallbacksExample window from 10.0 to a different value, say, 50.0. Note a new (and lengthy) entry in the "Squish Control Bar" window: "scrollTo KWCallbacksExample.vtkKWWindow0.vtkKWFrame3.[...].vtkKWMyWidget0.vtkKWScale0 50000".
- Exit "Recording" mode by closing or exiting the KWCallbacksExample window, or hitting the "End Recording" button in the "Squish Control Bar" window.
Issues
- Can't find Qt
Checking Qt version ......... Can't find Qt includes in /usr/include and /usr/src
=> Make sure you installed Qt3
- New Test Suite: Scripting Language, No Tcl
If the Tcl option is not available in the Scripting Language page when creating a new Test Suite, then Squish was not build with proper Tcl support. Make sure you specified the path to your Tcl/Tk distribution and re-build.