处理Matlab对话框的编程方法Windows
问题描述:
我有一个相当大的基于GUI的Matlab程序。我正在考虑为它创建自动化测试,因为在发布之前检查错误的当前方式是简单地使用它的所有功能,就像用户一样。处理Matlab对话框的编程方法Windows
我宁愿不使用GUI测试程序,只记录点击和什么不是,所以我想添加测试代码,直接调用按钮回调。我遇到的问题是我们有很多warndlg
和msgbox
弹出窗口,我希望我的测试代码能够看到这些。
有没有什么办法让Matlab代码知道它调用的函数是否创建了一个warndlg
或msgbox
?如果是这样,有没有办法点击这些弹出窗口上的“确定”?
以类似的方式,是否可以处理阻止代码执行的弹出窗口(使用uiwait
或inputdlg
)?
如果它的事项我没有使用指南,并且所有的GUI元素创建程序
答
两种方式。第一个更优雅
让函数返回一个额外的变量并返回函数的状态。例如,1:成功,2:警告,3分成功:错误...
创建一些全局变量,使功能改变他们,如果一个
warndlg
或msbgbox
显示出来。然后主窗口会检查全局变量的状态。
感谢@MosGeo的想法。我宁愿不去修改我所有的代码来添加额外的返回值。任何想法如何知道是否创建弹出窗口而不添加额外的返回值? – noob42
这是另一种方式:不要使用默认的'warndlg'或'msbgbox'。创建可触发这两个函数的自己的函数。在这个过程中,他们像我之前提到的那样修改了一些全局变量。这样,你不必修改你的,你只需要调用新的功能,而不是原来的。 – MosGeo