How to test the Eclipse Juno RCP user interface

We are developing RCP based on Eclipse. We recently updated the Eclipse Juno, and we are currently focusing on quality, which of course has led to automatic focus tests because the application is quite large and testing reinforces release delays.

We are already writing JUnit tests, but I'm more interested in UI tests. With older eclipses, this will not be a problem. There are many good test frames around. Unfortunately, everything changed with Juno due to the added ability to disable the default SWT interface by Swing or JavaFX (at least this is what I understood about the changes causing the problems).

Thus, most testing tools no longer work. From past experience, it seems that:

  • SWTBot , it seems, has recently been little loved and very unstable (cannot find elements in certain versions)
  • The window tester seems pretty good, but has a lot of problems with identifying the item during the test run (especially with pop-ups such as content support or tooltips).
  • Apparently Froglogics Squish supports Juno, but since the license costs about 2.5 thousand euros, I have to go through
  • Same thing like QF-Test (too expensive).
  • This leaves the Jubula (or GUIDancer, which is a commercial Jubula), which we tried in the past, but which had similar problems like Window Tester and SWTBot (unstable in terms of changes to the Eclipse platform and the difficulty of detecting some elements)

I need to know which tool to focus on / trust. Does anyone have experience working with one of the tools, or is even currently testing Juno RCP (or Juno himself in this regard)? Or does anyone know how Eclipse is testing its own platform (if they even do that atm)?

Finding information related to the "test", "Juno" and "UI / GUI" leads only to commercial products.

It’s important for me to find a tool in which I can use the developed test shell even in future releases, which means: a wireframe project that has some community support in order to be able to adapt quickly. It's also important to find things like tooltips, overlays, or content materials / tips) - similar to selenium compared to the basic HTMLUnit.

At this point, I don’t even need too much about integration, reporting, or adherence to standards.

+4
source share
2 answers

I would advise you to also take a look at the Xored Q7 , which is used to test the GUI of some Eclipse projects, including Eclipse DLTK, Eclipse LDT, Eclipse Tigerstripe and the tool is just perfect: it allows you to develop dozens of user interface tests per day for each engineer and has no problems with stability and incorrect recording. It is designed specifically and only for testing applications based on Eclipse and, obviously, the best in its niche.

However, it costs money, which can be a blocker for you (for example, squish), but they have a free version of Community, which is enough for most use cases. Like the Xored guys who just presented a pricing model with test-test pay, the tools will be free and you'll have to pay, because you only go for every monthly test (less than 5000 is free). Read more about the new model here eclipse-testing.com

+1
source

In the Eclipse Wiki you will find a comprehensive GUI-Testing tool table: http://wiki.eclipse.org/Automated_Testing#UI_tests

An important decision you have to make is that if you want to use the mouse to record / create tests (Jubula, QFTest, ...), if you want to be able to write test code (SWTBot, ...), or if you want to be able to do both (WindowTester Pro, ...).

Eclipse Juno is fairly new, and I would expect problems with all of the listed tools, but the migration should not take so long, since most of these tools are mainly focused on testing SWT widgets, and Juno still uses SWT. So far, I have not heard of any RCP application seriously using JavaFX, other than technical demos, but I would be interested to see them!

The problem I'm thinking of, rather, is that Eclipse testing is complicated, and GUI testing is especially difficult. Perhaps you should take a look at this study, which discovers and explains the main problems: http://swerl.tudelft.nl/twiki/pub/Main/TechnicalReports/TUD-SERG-2011-010.pdf

If you think this is research, JUnit testing is usually preferable to GUI testing. Well, with Juno, you have the big advantage that Unit-testing Eclipse is now easier than ever, because the framework has switched from inheritance and solid dependencies to injection dependencies, which makes it much more verifiable.

+4
source

Source: https://habr.com/ru/post/1440065/


All Articles