How can I test a function that contains a "waitFor" function or popup dialogs without requiring external user input?
1 回表示 (過去 30 日間)
古いコメントを表示
I am testing a GUI function in my code. Within my test class, I use Java functions to simulate mouse clicks, which trigger a popup dialog. However, the function execution pauses at the waitFor line, requiring me to manually click a button to close the dialog before the code can proceed. How can I automate this process entirely?
1 件のコメント
Walter Roberson
2024 年 11 月 18 日
I think I once saw someone simulate pressing buttons through MATLAB Tester... but I cannot seem to find any way to do that at the moment.
採用された回答
その他の回答 (2 件)
Madheswaran
2024 年 11 月 18 日
Hi,
Starting from MATLAB R2024b, you can programmatically interact with alert and confirmation dialog boxes using 'chooseDialog' and 'dismissDialog' methods. They work with both modal and non-modal dialogs and can automatically select options or close dialogs without manual intervention.
For more information and examples, refer to the following documentations:
- dismissDialog - https://mathworks.com/help/matlab/ref/matlab.uitest.testcase.dismissdialog.html
- chooseDialog - https://mathworks.com/help/matlab/ref/matlab.uitest.testcase.choosedialog.html
Hope this helps!
1 件のコメント
Walter Roberson
2024 年 11 月 18 日
Unfortunately the user is using R2023b. But perhaps they will be willing to upgrade.
埃博拉酱
2024 年 11 月 18 日
Possible ideas:
- Create a waitfor function for testing in the current directory before testing to see if it can mask the waitfor of MATLAB.
- Create an environment or a global variable with a special name (such as YourAppName_Debug) before the test, check whether the environment variable exists in the test objective function, and skip the dialog box if it exists.
- Add an undocumented optional parameter to the function. This parameter is only offered by the developer in the test environment.
0 件のコメント
参考
カテゴリ
Help Center および File Exchange で Creating, Deleting, and Querying Graphics Objects についてさらに検索
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!