Blog

  • Iterating over Tables in a Qt GUI Test

    By on February 20, 2018

    The Automated GUI Testing Tool Squish makes it possible to verify entire tables using a table verification point, but there are times when the requirements of a test case make it necessary to iterate over the items of the table in a GUI test. For example in cases where...

    Read more
    froglogic
  • FreeRTOS and code coverage on embedded systems

    By on February 13, 2018

    Code coverage for embedded systems poses some questions that do not occur with desktop applications. In this post I will show the first steps on how to measure code coverage with Squish Coco on an embedded system. We will use the FreeRTOS Kernel as our example.

    Read more
    froglogic
  • How to automate GUI tests for macOS ‘.dmg’ installer images

    By on February 6, 2018

    If you have used Squish before, you probably already test your application thoroughly. However for a new user, there are a few steps to take until they even run the application in the first place: they need to install it. That procedure is part of the first impression you...

    Read more
    froglogic
  • Use of script language closures

    By on January 30, 2018

    All supported script languages in the automated GUI Testing Tool Squish support closures. In this blog I’ll write up a simple example how closures can be used to unify function calls that seem to have different set of arguments. Assume a test snippet that tests two ways to open a settings dialog,...

    Read more
    froglogic
  • How to test ‘.msi’ installer packages with Squish for Windows

    By on January 26, 2018

    For a user who is evaluating new software, the installation process is usually the first interaction he’ll make with that product. During this process, any error or misbehavior which makes the installation of the software difficult could lead the user to switch to a competitor’s product. . .  

    Read more
    froglogic
  • Upcoming Squish GUI Tester 6.4 Feature: Fuzzy Image Lookup

    By on January 16, 2018

    Squish 6.3 introduced the image lookup feature. It allows capturing an image of an AUT control during test case recording. During test replay it allows finding the screen position of the specific image and interaction by clicking or tapping at the found position. It is the only way to...

    Read more
    froglogic
  • Restarting an Attachable AUT after a failure

    By on December 19, 2017

    With Squish, attaching to the already running application might be beneficial in many cases. E.g. this approach might be worth considering if the application startup time is long. A problem occurs when one of the test cases fails and leaves the AUT in an unknown state. This might cause...

    Read more
    froglogic
  • Squish Tip: Good use of the waitFor() function

    By on December 12, 2017

    The Squish script API features a useful function called waitFor; what’s less known is the fact that this function not only supports being called with a script statement but also with an arbitrary callable value.

    Read more
    froglogic
  • Connect an Oracle database via ODBC to Squish using JavaScript

    By on December 5, 2017

    Squish is able to connect to different databases and excecute all known SQL statements. Most of the databases need to be accessed by the ODBC driver because the database vendor’s license does not permit redistributing their client libraries without owning a license for their product. The creation of a...

    Read more
    froglogic
  • A Demo Mode or Using Highlighting for more “Visual” Test Script Execution

    By on November 28, 2017

    Since version 6.3 Squish offers highlightObject(), which highlights the specified object on the screen, similar to how it is done when selecting an object in the “Application Objects” view of the Squish IDE:   Since this is a function we can use it in our test scripts: def main():...

    Read more
    froglogic
  • Verify objects that appear only for short durations

    By on November 21, 2017

    Many applications that carry out a long-running task in the background display a dialog indicating the progress of the task. The dialog may block access to the application too if other actions do not make sense while the task is running. These dialogs usually appear and disappear by themselves,...

    Read more
    froglogic
  • Squish Tip: Synchronization with waitUntilObjectReady()

    By on November 14, 2017

    waitUntilObjectReady() is a callback function that by default, does nothing, but it can be defined in your test scripts to do anything you want. The method is called just before waitForObject() returns, and gets as an argument, the object that Squish thinks is now ready to get events. It...

    Read more
    froglogic
  • Debug Qt application while running Squish GUI tests

    By on November 10, 2017

    Some issues with Application Under Tests (AUT) appear only when a test is executed with Squish. For some cases, it’s easier run our test scenario with Squish than repeating it manually. To get a detailed information about the state of our AUT during a test execution, you can attach...

    Read more
    froglogic
  • Tip: Setting up Squish to attach to running applications in a distributed environment

    By on November 2, 2017

    There may be occasions when you want to keep your application running across multiple tests. For these cases, Squish provides the « startaut » tool. While its name has the word ‘start’ in it, this tool is very powerful, and, in the case of  « startwinaut »,  can also be used...

    Read more
    froglogic
  • Synchronized batch execution of Squish

    By on October 24, 2017

    Squish test execution involves multiple processes which may even run on different machines. Ensuring that all parts are up and running before actual test execution can be challenging sometimes. The following shows a little trick how automated setups can wait for a local or remote squishserver to become available...

    Read more
    froglogic
  • Coco Tip: Manual testing on a remote system with Coco

    By on October 17, 2017

    In many cases the application to test is not physically located on the tester’s desktop, which requires that the generated application data, such as code coverage information, gets transferred from the target to a host system. This can be realized in different ways: By a manual transfer through a...

    Read more
    froglogic
  • Using command line tools for image comparisons

    By on October 10, 2017

    Introduction Squish supports several image comparison methods: pixel strict, pixel fuzzy, histogram and correlation comparison. All of them are used in so called image verification points (Screenshot Verification Point dialog). You can create these verifications during test recording and later on modify them in the Squish IDE. For lots...

    Read more
    froglogic
  • Parallel execution in Squish

    By on October 2, 2017

    With the help of virtual machines one can perform parallel executions in Squish as a time saving strategy. As an application grows, it’s features increase and so do the number of testcases in the corresponding testuite. A testsuite containing a large number of testcases becomes a problem. It takes...

    Read more
    froglogic
  • BDD Steps with Parameters

    By on September 26, 2017

    Motivation In Behavior Driven Development, it is possible that individual steps will “reappear” throughout different scenarios or features. Those steps might not be fully identical, but differ only slightly in details, such as a value to fill into a form field. Maintaining two or even more independent step implementations...

    Read more
    froglogic
  • Automating alternate menus with Squish for Mac

    By on September 19, 2017

    The menus on macOS allow for a menu item to have an alternate version: if you press the “Option” key with an open menu, you see the alternate versions and can select them. For example the Squish addressbook example app has a menu item “Bring All to Front” in...

    Read more
    froglogic
Load More