To be able to communicate with GCompris I had first to modify its QML code, adding the accessibility code needed. For example, in the "TextEdit" element below I have added "Accessible.name" as "textinput".
In order to replicate the test script, I first worked with the "Baby Keyboard" activity. I added accessibility code to its QML elements, as above, and then I wrote the Selenium script to control the activity elements. While writing the script, I took note of the steps required to be able to communicate with the QT/QML application, summarized in the figure below.
If you prefer to not use the store, or if you only want the free demo version, you can still download it from our Download page, and buy the activation code to unlock all the activities. The store is just one more way to distribute GCompris, and to provide some income to support the project.
As usual, the full version is free on Free-Software operating systems like GNU/Linux, but for proprietary operating systems like Windows, the full version has a cost. Of course, the source code of GCompris is and will always be under a Free-Software license.
If you are concerned about the security and privacy (or lack thereof) of JavaScript web applications, you might want to review the source code of the instance you are trying to access, or look for security audits.
Rauli Kaksonen, Tero Rontti and Jukka Taimisto discovered several vulnerabilities in libxml2, a library for parsing and handling XML data files, which can lead to denial of service conditions or possibly arbitrary code execution in the application using the library. The Common Vulnerabilities and Exposures project identifies the following problems: