Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

How to make PowerBuilder UI testing application?

I'm not familiar with PowerBuilder but I have a task to create Automatic UI Test Application for PB. We've decided to do it in Python with pywinauto and iaccesible libraries. The problem is that some UI elements like newly added lists record can not be accesed from it (even inspect32 can't get it). Any ideas how to reach this elements and make them testable?

like image 644
Jerzy Sekuła Avatar asked Nov 16 '09 09:11

Jerzy Sekuła


3 Answers

I'm experimenting with code for a tool for automating PowerBuilder-based GUIs as well. From what I can see, your best bet would be to use the PowerBuilder Native Interface (PBNI), and call PowerScript code from within your NVO.

If you like, feel free to send me an email (see my profile for my email address), I'd be interested in exchanging ideas about how to do this.

like image 109
Frerich Raabe Avatar answered Nov 13 '22 03:11

Frerich Raabe


I didn't use PowerBuilder for a while but I guess that the problem that you are trying to solve is similar to the one I am trying to address for people making projects with SCADA systems like Wonderware Intouch.

The problem with such an application is that there is no API to get or set the value of a control. So a pywinauto approach can't work.

I've made a small tool to simulate the user events and to get the results from a screencapture. I am usig PIL and pytesser ORM for the analysis of the screen captures. It is not the easiest way but it works OK.

The tool is open-source and free of charge and can be downloaded from my website (Sorry in french). You just need an account but it's free as well. Just ask.

If you can read french, here is one article about testing Intouch-based applications

Sorry for the self promotion, but I was facing a similar problem with no solution so I've written my own. Anyway, that's free and open-source...

like image 1
luc Avatar answered Nov 13 '22 02:11

luc


I've seen in AutomatedQa support that they a recipe recommending using msaa and setting some properties on the controls. I do not know if it works.

like image 1
Claudio Avatar answered Nov 13 '22 01:11

Claudio