Desktop application will be hosted on AppStream and all process goes at the AWS side, at the client end just in the browser he can stream the application and use it.
Is there any way to automate that streaming application?
Software Quality Assurance & Testing Stack Exchange is a question and answer site for software quality control experts, automation engineers, and software testers. It only takes a minute to sign up.Sign up to join this community
SikuliX automates anything you see on the screen of your desktop computer running Windows, Mac or some Linux/Unix. It uses image recognition powered by OpenCV to identify and control GUI components. This is handy in cases when there is no easy access to a GUI's internals or the source code of the application or web page you want to act on.
For a streaming application image-based testing (e.g. Sikuli) is probably the only way you can test it with automation. This as the probably only the image is send to the view and the mouse and keyboard clicks. There are a couple of tools that can do this.
I would do your full regression testing like this. It might be a lot of maintenance on the tests, as every time the visuals change you need to update the tests. This could be better if you take really small unique partial screenshots of buttons and elements. Then even when they move it should work, but any design change (font, letter-spacing or background-color) would break everything.
Better is just to add some happy path tests to verify it works end-to-end. I would advise test most features separate of the streaming even if you do not have users that do not use a non-streamed version.
What makes Sikuli exceptional is the object recognition by images , while other tools in the list recognize the objects by objects properties. Clearly, there are advantages and disadvantages for both methods. The image recognition is performed by an background engine that is capable of comparing a pixel to a pixel at BitMap level.
Pros: Since the technique of comparing pictures doesn’t rely on object properties, Sikuli can interpret everything we’ll create – while executing one test, it is possible to check a DB table, a Windows window, also a mobile application and a response from the server without dedication any efforts or special configurations.