Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/ssis/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Events ! 模拟按钮点击-处理对象/类/事件_Events_Button_Click_Wxpython - Fatal编程技术网

Events ! 模拟按钮点击-处理对象/类/事件

Events ! 模拟按钮点击-处理对象/类/事件,events,button,click,wxpython,Events,Button,Click,Wxpython,我有一个python模块abc.py,它有许多类和一些从其他类继承的类。整个文件包含通过对象/实例化相互连接的类 函数调用都基于GUI按钮的单击。因此,当单击按钮时,会在abc.py中调用函数 我需要编写一个脚本,它执行与按钮单击完全相同的功能,但不需要我单击实际的GUI—您可以想象它是自动的 问题是,单击GUI上的按钮时,会触发一个事件,该按钮与一个函数调用“def button_press”关联,该函数调用以(self,event)为参数 我将如何通过它自己和事件?我想按原样使用模块“abc

我有一个python模块abc.py,它有许多类和一些从其他类继承的类。整个文件包含通过对象/实例化相互连接的类

函数调用都基于GUI按钮的单击。因此,当单击按钮时,会在abc.py中调用函数

我需要编写一个脚本,它执行与按钮单击完全相同的功能,但不需要我单击实际的GUI—您可以想象它是自动的

问题是,单击GUI上的按钮时,会触发一个事件,该按钮与一个函数调用“def button_press”关联,该函数调用以(self,event)为参数

我将如何通过它自己和事件?我想按原样使用模块“abc.py”中的类/函数,并模拟按钮单击。。你能给我指点一下我该怎么做吗

谢谢

您可以:

  • 创建一个适当的事件,用测试数据填充它并调用self。从gui中按下按钮(您的测试事件)

  • 如上所述,但从gui调用外部,按app.topframe..button(您的测试事件)

  • 如果事件处理程序未使用事件中的任何数据,则如果按def按钮(self,evt=None),则可以执行a或b操作,而无需先创建事件

  • 您可以使用任何一种优秀的PythonGUI测试工具,下面列出了一些


  • 您可能需要查看wx.PostEvent以将事件发送到按钮。或者,如果您使用的是wxPython 2.9.2或更高版本,则可以使用新的UIActionSimulator,您可以在此处阅读:

    我听过很多人使用GUI测试。还有一个,我一直在Python测试用户组中看到它作为GUI测试工具列出,尽管我不完全确定您是否可以在wxPython应用程序上使用它