2017-10-19 15 views
0

GUIベースのかなり大きなMatlabプログラムがあります。私は、リリース前にバグをチェックする現在の方法は、ユーザーのようなすべての機能を単純に使用しているため、自動化されたテストを作成しようとしています。MATLABダイアログのプログラミング方法Windows

ボタンのコールバックを直接呼び出すテストコードを追加することを考えていたので、クリックを記録するGUIテストプログラムを使用しないでください。私がこれに踏み込んだ問題は、warndlgmsgboxのポップアップがたくさんあることです。テスターコードでこれらを見ることができるようにしたいと思います。

呼び出された関数がまたはmsgboxを作成したかどうかをMatlabコードが伝える方法はありますか?もしそうなら、これらのポップアップで「OK」をクリックする方法はありますか?

同様に、コード実行をブロックするポップアップ(uiwaitまたはinputdlgを使用)を処理することは可能ですか?

私がガイドを使用していない事項、およびすべてのGUI要素がプログラム

答えて

1

2つの方法で作成された場合。最初の方がよりエレガントです

  • 関数に余分な変数が返され、関数の状態が返されるようにします。 warndlgまたはmsbgboxが表示されている場合、一部のグローバル変数を作成して関数を変更します。たとえば、1:成功、2:警告付き、3:エラー...

  • メインウィンドウでは、グローバル変数のステータスがチェックされます。

+0

アイデアのための@MosGeoありがとうございました。 Idではなく、余分な戻り値を追加するためにすべてのコードを変更する必要はありません。余分な戻り値を追加せずにポップアップが作成されたかどうかを知る方法 – noob42

+0

別の方法です:デフォルトの 'warndlg'や' msbgbox'を使わないでください。これら2つの機能を起動する独自の関数を作成します。その過程で、私は前述のようにいくつかのグローバル変数を修正します。このように、あなたはあなたを変更する必要はありません、あなたは元の代わりに新しい機能を呼び出す必要があります。 – MosGeo

関連する問題