3

I have found this question here on SQA. However I'd like to make my question more specific with hope that someone could point me to something relevant rather than just wasting hours on learning the other tools just to discover that they are not fit for my purposes. So my needs are fairly basic:

  • I have an environment with many different applications which are interconnected in various ways. Some through SOAP UI, some share a DB, etc..
  • Some of the applications are web interfaces, some of them just locally installed GUI front-ends.
  • I only need to test the interconnectivity of the applications rather than making too much focus on a specific one design and features.
  • I do need to be able yo access and login to all of these applications and perform basic "button clicks" and "fields filling" tasks.
  • The verification will be verifying certain fields (on web apps and guis).

Are there any tools which are able to give me such functionality?

P.S. If my explanation here is still to vague, please feel free to comment and I will emphasize.

4
  • Whatt are locally installed GUI front-ends? Dekstop app or Web apps with application/HTTP server installed locally? If desktop then what OS they sit on?
    – dzieciou
    Commented Jun 7, 2013 at 15:57
  • Are you sure you want to test via GUI instead of testing the backend or tier behind the GUI directly? That would remove the problem of GUI design changes.
    – dzieciou
    Commented Jun 7, 2013 at 16:01
  • Do you have test scenarios, when changing a thing in Web app will affect behaviour of GUI app or vice versa? If so, you would probably need a tool that can access both types of applications or a couple of tools/libraries that be combined together within one test scenario.
    – dzieciou
    Commented Jun 7, 2013 at 16:08
  • @dzieciou Hi and thanks for your comments. The environment I am working in is actually a collection of apps used in local hospitals. All the apps are different as they all supplied by 3rd party firms. So there are Desktop apps as well as web apps. Everything is windows based. Testing the back-end was my first thought however that will not be possible since I have to check the ability of certain apps to trigger an outgoing messages rather than just mock up the messages myself. And yes, some of the scenarios is modifying/adding data in one app and expecting to see update in another app.
    – Eugene S
    Commented Jun 7, 2013 at 16:20

3 Answers 3

5

My experience is that UI automation tools differentiate themselves by the kinds of interfaces they interact with rather than whether they facilitate "basic" testing or complicated testing.

I think you will have a hard time finding a single tool that covers both native applications (what you called "locally installed GUI front-ends") as well as web interfaces. The common denominator will probably be a single tool that only knows how to simulate typing, simulate mouse/touch events at specified (x,y) coordinates, and capture screenshots. Twenty years ago, that was state-of-the-art for UI automation, but the majority of testers shy away from that kind of technology now.

Instead of specifying (x,y) coordinates, modern UI automation tools use identifiers or expressions to specify what should be clicked. It is easier to read an automated test that relies on IDs or expressions, and the test is more likely to work when the UI is modified, too. Web browsers and native apps are based on entirely different technologies, and particular they structure UIs and identify UI elements in entirely different ways, which is why UI automation tools specialize in web UIs or native UIs but not both. (To make matters worse, each native UI technology is also different, so for example you will not find a lot of automated tests that work with Silverlight as well as native Java UIs.)

If I were you, here is where I would start. If you only need to test application inter-operability, you may not need to exercise UIs at all. Sometimes web applications have web APIs that you can access with programs like wget and curl. Sometimes native apps also have CLIs. Tests written against those interfaces may be less vulnerable to change. And if they don't exist, it may be less expensive to write them than to write (and maintain) UI-level tests.

4
  • Hi and thanks a lot for your answer! I completely agree with you and think that not dealing directly with UI but rather simulate messages with other tools will make my task much easier. But as I have mentioned in the comments to my question, in the majority of the cases I have to test specifically the ability of some apps to send the data out and not just receive the data by apps. So I'm not sure I will be able to implement my solution in that way. However x,y coordinates approach could work for me. Can you recommend me any tools in this area?
    – Eugene S
    Commented Jun 7, 2013 at 16:27
  • If there is such tool which could read some input data from file and then fill it in the specified fields, that will be great and more than enough for my task! Are you familiar with something like this? Thanks!
    – Eugene S
    Commented Jun 7, 2013 at 16:28
  • 1
    Sikuli works with (x,y) coordinates -- but I suggest trying it with a small prototype before you commit yourself to a lot of work.
    – user246
    Commented Jun 7, 2013 at 16:50
  • Yes, of course. Actually I already had a brief look at it and it seem to be enough for my needs. The only thing to find out is whether it is possible to use customized fields input. I mean not just record a constant text but enter different text based on some kind of reference. If that's available, this is the tool for me.
    – Eugene S
    Commented Jun 7, 2013 at 17:00
2

As far as my experience goes (not too far ;-) - have a look at Sikuli. At first thought - it is ideal for heterogenous apps with GUI and not wanting to go too deep into details of the apps.

2
  • Thanks for you answer. As a part of my testing I have to input some text. Do you have an idea whether I can use some reference data to customize this text with each run? Thanks!
    – Eugene S
    Commented Jun 7, 2013 at 17:01
  • Yes, Sikuli Scripts are basically Python compatible, so you can write some code to take the test-data set you need, or use command-line to pass parameters or whatever. Commented Jun 9, 2013 at 22:41
0

There's a tool for that work much like sikuli when viewing image recognition. However, it does not require as much programming to use. The tool is called JAutomate and is not open source but costs a little, but the little I used it, I think it seems to meet your requirements.

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

Not the answer you're looking for? Browse other questions tagged or ask your own question.