我不熟悉PowerBuilder,但是我有一个任务需要创建PB的自动UI测试应用程序。我们决定使用Python和pywinauto以及iaccesible库来完成它。问题是有些UI元素(如新添加的列表记录)无法从中访问(即使inspect32也无法获取它)。有什么想法可以达到这些元素并使它们可测试吗?
我不熟悉PowerBuilder,但是我有一个任务需要创建PB的自动UI测试应用程序。我们决定使用Python和pywinauto以及iaccesible库来完成它。问题是有些UI元素(如新添加的列表记录)无法从中访问(即使inspect32也无法获取它)。有什么想法可以达到这些元素并使它们可测试吗?
我正在尝试编写一个自动化PowerBuilder GUI的工具。从我的观察来看,您最好使用PowerBuilder Native Interface (PBNI),并从NVO内部调用PowerScript代码。
如果您愿意,可以给我发送电子邮件(请查看我的个人资料获取我的电子邮件地址),我很乐意交流关于如何实现这一目标的想法。
我在AutomatedQa支持中看到了一份建议使用MSAA并设置控件的一些属性的食谱。我不知道它是否有效。
我已经有一段时间没有使用PowerBuilder了,但我猜你试图解决的问题与我正在为使用SCADA系统(如Wonderware Intouch)制作项目的人们所面临的问题类似。
这种应用程序的问题在于没有API来获取或设置控件的值。因此,pywinauto方法无法奏效。
我制作了一个小工具来模拟用户事件并从屏幕截图中获取结果。我使用PIL和pytesser ORM来分析屏幕截图。这不是最简单的方法,但它可以正常工作。
该工具是开源且免费的,可以从我的网站(抱歉,是法语)下载。您只需要一个帐户,但也是免费的。只需提出要求即可。
如果您能阅读法语,这里是有关测试基于Intouch的应用程序的文章之一
很抱歉我在自我推广,但我遇到了一个类似的问题,没有解决方案,所以我写了我的解决方案。无论如何,这是免费和开源的...