Skip to main content

Upcoming Squish Feature: Remote Control of Test Devices

The ability to work with remote devices is one of Squish's core features. While extremely powerful, it does not come without its disadvantages. During interactive test script recording it requires interaction with both the Squish IDE and the AUT. Debugging a faulty test script also usually requires preview of the current AUT state. This can be tedious if they are running on different machines, and it can become especially difficult if both systems are not in the same physical location.

Common Problems in Existing Remote Control Tools

Many platforms support a variety of dedicated remote control tools that could be used alongside Squish to resolve that problem. However, these tools come with some problems of their own:

  • Interoperability. If the controlled and the controlling platform are radically different, it may be difficult to find software that works on both systems.
  • Squish compatibility. Both remote control applications and the Squish GUI Tester use artificial UI events for their operation. This can lead to unwanted interference between them.
  • Setup. A separate set of tools may require a lot of work to become operational. This may include purchasing the license(s), installation and configuration, network setup, etc. It may need to be redone each time a new test system is added.
  • Availability. If you are testing a multi-platform AUT, you will probably need remote access to various kinds of test systems. In case the chosen software does not support some of them, you may be forced to use a heterogeneous solution which includes separate pieces of software and is difficult to use and maintain. Some embedded and mobile platforms do not offer any remote control software at all.

In order to help in overcoming some of these problems and to speed-up development of tests, the upcoming Squish release will include a remote control feature specifically tailored for GUI testing.


An Android AUT controlled by Squish IDE

The feature is designed as a testing aid and requires a connection to a working AUT on the target system. The data required for its operation is embedded within regular Squish communication. This means that the remote control can be used with minimal setup effort. In most cases, it should be just one click away.

Limitations

The comfort of working with a far-off device over the remote control is directly dependent on the available bandwidth. Despite the lossless compression used on the video stream, slow connections may prove insufficient for comfortable work. In such a case, you may opt for a loss-y compression of image data that requires less data to be transferred for the cost of some image distortion. The screenshots used for image search and verification are still sent using lossless compression - just as you're used to.

Remote control should be available on any platform supported by Squish. However, on some of the platforms it cannot be used without additional setup.

As far as we know, no currently available Wayland compositor offers features required for remote controlling the user session. We are currently working on a set of plugins for all popular compositors. In order to access remote systems using Wayland, a corresponding plugin will have to be installed and enabled.


Remote control of a Gnome shell Wayland desktop with the froglogic plugin

Summary

The ability to see and to control remote test systems will let you avoid the need to move between different physical test setups or to install and maintain additional software. It will always remain compatible with Squish, and it will make recording and inspection of tests on multiple target systems easier and faster. It will grant the test writers instant access to devices in remote locations and minimize the need for interaction with the physical controls of the device.

Comments

?
Stefan Sommerfeld
0 points
115 months ago

C++11 auto variable doesn't work well with clang model (especially in a foreach loop) in comparision to qt code model which performs nicely with that task.

Is there an option to convert . to -> if clang code model is active?

?
Eike Ziller
0 points
115 months ago

"Is there an option to convert . to -> if clang code model is active?"

Currently not. It is "on the list" though.

?
Stefan Sommerfeld
0 points
115 months ago

Second question: Is there on option or a plugin available which does spell checking for comments or even method and class names?

?
Will Stokes
0 points
115 months ago

A spell checking plugin would be pretty cool. Handling function names might be a little tricky. If you use Camel notation (or underscores) I suppose it would not be too hard to find the word boundaries.

?
Steve Mokris
0 points
115 months ago

There's a feature request for spell-checking code comments: https://bugreports.qt.io/br...

?
Lorenz Haas
0 points
115 months ago

There is a spell checking plug-in I use on a daily basis and have not encountered any problems yet. Have a look at: https://github.com/CJCombri...

Thanks to CJCombrink for this fantastic plug-in!

?
Stefan Sommerfeld
0 points
115 months ago

I've tried it and it seems to work fine. Eike please consider it to be a standard creator plugin, because I think every modern IDE has such a functionality.

?
Alex
0 points
115 months ago

The clang model doesn't work for me. Never did. I turn on the plug-in, restart Creator, switch to the clang model in the settings, and code completion stops working.

?
Sylv
0 points
115 months ago

The same for me (on Windows), the CLang Fix-its feature is nice but if we loose the code completion, it will not be usable. It would be great to have the best of both world but I guess it will require more work. Anyway thanks for the continuous improvements.

?
Eike Ziller
0 points
115 months ago

Please create bug reports. With information about what platform exactly (Linux distro, OS version), what tool chain you have set in your kit, if you see any output when running from terminal (or in DebugView on Windows), if it already fails with a dummy "Application" project created through the wizards, etc.

?
Sylv
0 points
115 months ago

I usually create bug reports but I thought that CLang integration was a WIP on Windows.

?
Robert Somerville
0 points
115 months ago

exactly the same for me . Clang turned on, code completion stops working ...

?
Will Stokes
0 points
115 months ago

FYI I find it non-intuitive that you choose which plugins are enabled via Help/About Plugins instead of via the Settings/Preferences dialog.

?
Steve Mokris
0 points
115 months ago

There's a feature request for moving the Plugin menu item: https://bugreports.qt.io/br...

?
Anton
0 points
115 months ago

Is TreeView now supported in the
QT Quick Designer?

?
Fefe
0 points
115 months ago

Qml Designer is quite useless in many cases(always crash). As I know, few people use it for practical developing.

?
xkrys
0 points
115 months ago

+1
For pratical development I use QtCreator code editor + QmlLive for realtime preview of my code: https://github.com/Pelagico...

?
m][sko
0 points
115 months ago

good work

I really like designee mode for XAML in visual studio
and whole idea about designee time

Are you planning to fix this problem in Qt Creator?
for example I use
https://github.com/papyros/...
no QML record in library(QML types)
And it is really hard to use it in designee time.
It is always hard to test own elements in Qml Designer :(
It should be all pixel perfect with final design.

?
DevTester
0 points
115 months ago

i want to get semantic syntax highlighting like visual studios for cpp. for examples, cpp template class, cpp template function, cpp template parameter, global function, member method, member static method, struct/class member, struct/class static member and so on...

?
Lucas
0 points
115 months ago

I was expecting new theme in this release. Sadly, it's not there. When do you guys plan to release QtCreator with new, better looks?

?
Brenna
0 points
115 months ago

I played around with the new Model Editor, and so far, it works really well! I like how easily custom items can be created as well. I look forward to having more UML/SysML features added in the future.

?
Jochen Becher
0 points
115 months ago

I will add more features in future but I never planned this plugin to be fully UML or SysML compatible. I'm afraid it will always be a UML-alike editor and will not implement the full standard.

?
sap
0 points
115 months ago

thanks so much for all the work.

Qt and Qt creator is indeed awesome, but i have to say.. still no TABS?

i've read the FAQ countless times and it still doesn't make any sense.. should i tell every coworker i recommend Qt creator to to go read the FAQ for why there are no tab support?..

also please release the FLAT themes you guys posted in this blog months ago, you guys show us some sweet screenshots and then just scrap them?

anyway, im not really complaining i really love Qt and Qt creator, but if you guys could go ahead and add tabs + flat theme you guys would be the best (you guys are already pretty awesome).

thanks!

?
Marco Kalf
0 points
115 months ago

Finally the multiline tab has been fixed :D

?
Szabolcs
0 points
115 months ago

I get lots of "error: cannot use 'throw' with exceptions disabled" red highlights. How can I tell Creator that exceptions are enabled?

Also, is there a way to choose which warnings I want to see and which I want to ignore?

I am using a plain makefile based project (created with "Import existing project").

?
Danny
0 points
115 months ago

I've found the last few version of QtCreator to be completely unusable on Mac. They're either really slow (the editor cannot keep up with the keystrokes) or crash regularly.

Unfortunately I've not been able to reproduce the problems consistently enough to create a useful bug report and this beta is no better. It seems to be worse when clang code model is enabled but again, it's hard to repo consistently.

Are you guys actually testing at all on Mac?

I've had to stick with 3.4.

?
Eike Ziller
0 points
115 months ago

"Are you guys actually testing at all on Mac?"

Yes.

The good thing with OS X is that it actually creates useful crash reports automatically (at least as useful as it gets with stack traces).

So, if you do not know how to reproduce, please still create bug reports and attach your crash report (after checking that it looked different than the ones you already reported).
Then we can work starting from that, and at least try to find out if it is a problem with the code model not being able to cope with your code, or actually a platform specific bug etc.

You can find old crash reports in Console.app > User Diagnostic Reports.

?
Eike Ziller
0 points
115 months ago

Regarding slow editor since 3.5(.1) you might want to check if turning off Welcome plugin helps (i.e. if you are running into https://bugreports.qt.io/br...)

?
Alex
0 points
115 months ago

Thank you. More convient and convient IDE.

?
David
0 points
115 months ago

TreeView (Qt Quick control) is still not recognized. (as reported here and somehow closed as done: https://bugreports.qt.io/br... )

This was with Qt 5.5.1. (using Windows 10).

?
Eike Ziller
0 points
115 months ago

The fix for it went into Qt 5.5 branch, but looks like it is not in 5.5.1 (but will be in 5.5.2 or if you build Qt from 5.5 branch directly).

The Qt Company acquired froglogic GmbH in order to bring the functionality of their market-leading automated testing suite of tools to our comprehensive quality assurance offering.