-1

Can one implement automated UI testing for any UI designed using Azure GUIX? I came across an earlier post asking the same question.

Azure GUIX automated testing specifically for languages

I searched for Azure Test Harness but could not find much on it. Any suggestions?

Archie
  • 153
  • 9

1 Answers1

1

We have added a string-fit test in GUIX Studio for the 6.1.9.1 patch release, under Edit -> Run String Fit Test. This release has been pushed to the App Store and will be rolling out over the next couple of days. This tests to insure every string in every language fits within the assigned widgets. Of course you can assign and re-assign strings at runtime, so Studio can't test for that, only the know assignments of widgets and fonts can be statically tested by GUIX Studio.

For our own internal regression testing, we build our test apps as Win32 apps and write python scripts to generate events into those apps to drive them. We do md5sum calculations of the canvas memory and compare the computed value with "golden values" to insure nothing has been broken. We haven't yet instrumented anything similar to support on-target regression testing but we have this feature in our backlog, I will see if we can get this on the priority list for the next release.

Best Regards

  • when you say you test your apps as Win32 apps by using python scripts, are you using pywinauto? – Archie Nov 20 '21 at 20:32
  • I tried using pywinauto on some the samples that are provided when Guix is installed. In the example demo_guix_thermostat I am unable to use pywinauto controls to click the 'plus' and 'minus' buttons. However these elements did not have any control identifiers. How can I access these UI elements? – Archie Nov 22 '21 at 16:45
  • 1
    You are correct in that the GUIX controls aren't going to show up in the Win32 presentation tree. We don't try to "click the button", instead we send the event into GUIX that is generated with the button is clicked. So we read the generated specifications.h header to get all the control IDs, then we generate the GX_EVENT_CLICKED events that would be generated by the child controls. It's not ideal but it's better than generating PEN_DOWN/PEN_UP events and having the test broken if the screen layout changes. – Kenneth Maxwell Nov 23 '21 at 18:53