如何在Python中读取/编辑GUI / MFC应用程序?

时间:2015-01-21 17:42:06

标签: python python-2.7 testing automation ironpython

我希望通过根据我的要求更改第三方GUI / MFC应用程序的属性来自动完成我的任务之一。每次我需要进行任何测试时,我都需要更改应用程序的属性以测试我的软件。

我尝试使用Python和IronPython自动化它。经过Google搜索后,我找到了IronPython,因为GUI是用C#和VB.NET编写的。

假设在其编辑器中打开GUI时,它为我提供了编辑属性的选项,MFC包含许多控件......例如:

Enter Time |__| //Need to enter the value in the box
Enter the dealy |__| //Need to enter the value in the box
Want to display |_| //Check box , check or uncheck
some Radio buttons.
Some more controls.
....
....

我想控制Python脚本中的所有更改。我将从我的脚本中输入值,它将在GUI中更新它们。

我在IronPython中编写了一个脚本来阅读GUI:

fw = open("MyFile.vnb", 'r')
for line in fw.readlines():
    print (line)

我在控制台中发现了大量加密/编码字符以及一些C#/ VB.NET代码。所以,我完全被困在这里。

我想知道我们可以用Python / IronPython编辑第三方GUI吗?我是否需要使用Python中的一些特殊工具来编辑GUI?

1 个答案:

答案 0 :(得分:0)

如果您需要经典的GUI自动化,您可以通过pywinauto库控制MFC应用程序。您可以发送键盘事件,鼠标点击,移动等.pywinauto也有限的.NET控件支持(简单的自动化,如按钮,文本框等可用)。我想这是一个现实的任务(参见上面链接的示例视频)
但是,如果您需要一些二进制工具来永久更改GUI可执行文件(听起来很奇怪),这完全是另一个主题。阅读PIN tool。例如,它用于剖析器开发。收集堆栈样本,展开调用堆栈和其他棘手的逆向工程。 :)