choose
クラス: matlab.uitest.TestCase
パッケージ: matlab.uitest
UI コンポーネントでの選択動作の実行
構文
説明
choose(
は、タブやツリー ノードなど、追加情報を必要としない UI コンポーネントでの選択動作を実行します。たとえば、特定のタブの選択にはこの構文を使用しますが、タブ グループから特定のタブを選択するには前の構文を使用します。testcase
,compNoOpts
)
入力引数
testcase
— テスト ケースのインスタンス
matlab.uitest.TestCase
オブジェクト
テスト ケースのインスタンス。matlab.uitest.TestCase
オブジェクトとして指定します。
comp
— 選択するコンポーネント
UI コンポーネント オブジェクト
テスト中に選択するコンポーネント。選択動作をサポートする UI コンポーネント オブジェクトとして指定します。選択動作をサポートするコンポーネントには、チェック ボックス、ノブ、スイッチ、ドロップダウン リストが含まれます。
サポートされるコンポーネント | 一般的な作成関数 |
---|---|
ボタン グループ | uibuttongroup |
チェック ボックス | uicheckbox |
離散型ノブ | uiknob |
ドロップ ダウン | uidropdown |
ノブ | uiknob |
リスト ボックス | uilistbox |
ラジオ ボタン | uiradiobutton |
スライダー | uislider |
状態ボタン | uibutton |
スイッチ (ロッカー、スライダー、トグル) | uiswitch |
タブ グループ | uitabgroup |
トグル ボタン | uitogglebutton |
トグル ツール | uitoggletool |
option
— コンポーネント内で選択する項目
コンポーネントに依存
UI コンポーネント内で選択する項目。option
のデータ型は、テストするコンポーネントの型によって異なります。たとえば、コンポーネントがスイッチの場合、option
はスイッチの Items
プロパティからのテキストまたは数値になります。コンポーネントがチェック ボックスまたはトグル ツールの場合、option
は logical 値になります。編集可能なセルを含むテーブル UI コンポーネントの場合、option
は logical 値またはセルに含まれるデータに対応するドロップダウン項目になります。
コンポーネントに Items
プロパティがある場合、option
は Items
内の要素の値、または Items
内の要素へのインデックスになります。たとえば、既定の離散型ノブでは、option
の値として 'Medium'
または 3 を使用して 'Medium' を選択できます。
compNoOpts
— オプションなしで選択するコンポーネント
UI コンポーネント オブジェクト
選択するコンポーネント。選択動作をサポートし、追加情報を必要としない UI コンポーネント オブジェクトとして指定します。選択動作をサポートするコンポーネントには、タブやツリー ノードが含まれます。
サポートされるコンポーネント | 一般的な作成関数 |
---|---|
タブ | uitab |
ツリー ノード | uitreenode |
uit
— ターゲットのテーブル UI コンポーネント
matlab.ui.control.Table
オブジェクト
ターゲットのテーブル UI コンポーネント。matlab.ui.control.Table
オブジェクトとして指定します。テーブル UI コンポーネントは、関数 uitable
で作成されます。
indices
— 選択するテーブル セルのインデックス
N 行 2 列の配列
選択するテーブル セルのインデックス。N 行 2 列の配列として指定します。indices
の形状はセル選択のタイプによって異なります。
1 つ以上のセルの連続していない選択 — N 行 2 列の行列。ここで、N は選択するセルの数です。行列の各行は、選択するセルの行および列のインデックスに対応します。
複数のセルの連続した選択 — 選択するセルのブロックの境界を指定する 2 行 2 列の行列。行列の各行は、セルの行および列のインデックスに対応します。アプリ テスト フレームワークは、指定されたセルとその間にあるすべてのセルで選択動作を実行します。
例: [1 2]
(単一のセルの選択)
例: [2 3; 2 4; 5 1]
(3 つのセルの連続していない選択)
例: [1 1; 3 3]
(9 つのセルの連続した選択)
mode
— セル選択モード
'discontiguous'
(既定値) | 'contiguous'
セル選択モード。'discontiguous'
または 'contiguous'
として指定します。この入力は、テーブル UI コンポーネント内でセルがどのように選択されるかについての情報を提供します。
'discontiguous'
— アプリ テスト フレームワークは、indices
入力引数で指定されたセルでのみ選択動作を実行します。'contiguous'
— アプリ テスト フレームワークは、入力引数indices
で指定されたセルと、それらのセル間にあるすべてのセルに対して選択動作を実行します。
テーブル セルの選択の詳細については、Table のプロパティ を参照してください。
例
離散型ノブの値の選択
離散型ノブを作成します。
knob = uiknob('discrete');
対話型のテスト ケースを作成し、ノブの値 'High' を選択します。アニメーション化された青い点でプログラムによる選択動作が示されます。
tc = matlab.uitest.TestCase.forInteractiveUse;
tc.choose(knob,'High')
ノブの Items
プロパティの値を表示します。
knob.Items
ans = 1×4 cell array {'Off'} {'Low'} {'Medium'} {'High'}
インデックスでノブの値 'Low' を選択します。ノブが 'High'
から 'Low'
に切り替わります。
tc.choose(knob,2)
リスト ボックスでの複数の項目の選択
リスト ボックスを作成し、複数のノードを選択できるようにします。
listbox = uilistbox('Multiselect','on')
listbox = ListBox (Item 1) with properties: Value: {'Item 1'} Items: {'Item 1' 'Item 2' 'Item 3' 'Item 4'} ItemsData: [] Multiselect: 'on' ValueChangedFcn: '' Position: [100 100 100 74] Show all properties
対話型のテスト ケースを作成し、項目 1 ~ 3 を選択します。
tc = matlab.uitest.TestCase.forInteractiveUse; tc.choose(listbox,1:3)
Items
プロパティの値を使用して項目 1 と 3 を選択します。
tc.choose(listbox,{'Item 1','Item 3'})
スライダーの値の選択と変更の確認
スライダーを作成します。
s = uislider;
対話型のテスト ケースを作成し、スライダー ボタンの値が 0
であることを確認します。
tc = matlab.uitest.TestCase.forInteractiveUse; tc.verifyEqual(s.Value,0)
Verification passed.
新しいスライダーの値を選択し、スライダーの値が変わることを確認します。フレームワークでは任意の適合値に対するコンポーネントの操作が模倣されるため、許容誤差を使用してスライダーの実際の値と期待される値を比較するのがベスト プラクティスです。
expVal = 42;
tc.choose(s,expVal)
tc.verifyEqual(s.Value,expVal,'AbsTol',0.1)
Verification passed.
グループからのタブの選択と変更の確認
2 つのタブを含む Figure を作成します。
fig = uifigure; group = uitabgroup(fig); tab1 = uitab(group,'Title','Tab #1'); tab2 = uitab(group,'Title','Tab #2');
対話型のテスト ケースを作成し、選択されているタブのタイトルに部分文字列 '#1'
が含まれていることを確認します。
tc = matlab.uitest.TestCase.forInteractiveUse;
tc.verifySubstring(group.SelectedTab.Title,'#1')
verification passed.
タブ 2 を選択し、タブの選択が変わることを確認します。
tc.choose(group,'Tab #2')
tc.verifyEqual(group.SelectedTab,tab2)
Verification passed.
単一のテーブル セルの選択
異なるデータ型が混在して含まれるテーブル UI コンポーネントを作成します。ユーザーが最後の列内のデータを編集できるように ColumnEditable
プロパティを設定します。
fig = uifigure; uit = uitable(fig); d = {'Male',52,true;'Male',40,true;'Female',25,false}; uit.Data = d; uit.ColumnName = {'Gender','Age','Authorized'}; uit.ColumnEditable = [false false true];
対話型のテスト ケースを作成し、インデックス (2,2) をもつテーブル セルを選択します。
tc = matlab.uitest.TestCase.forInteractiveUse; tc.choose(uit,[2 2])
インデックス (1,3) をもつテーブル セルのチェック ボックスをオフにします。
tc.choose(uit,[1 3],false)
複数のテーブル セルの選択
ランダムな整数からなる 3 行 10 列の配列を表示するテーブル UI コンポーネントを作成します。
fig = uifigure;
uit = uitable(fig,'Data',randi(100,10,3));
対話型のテスト ケースを作成し、インデックス (1,1) および (3,3) をもつセルを選択します。
tc = matlab.uitest.TestCase.forInteractiveUse; tc.choose(uit,[1 1; 3 3],'SelectionMode','discontiguous')
次に、インデックス (1,1) および (3,3) をもつセルと、それらのセル間にあるすべてのセルを選択します。
tc.choose(uit,[1 1; 3 3],'SelectionMode','contiguous')
バージョン履歴
R2018a で導入R2021a: テーブル UI コンポーネントに対する動作の実行
テーブル UI コンポーネントのテストで選択動作を実行することができます。choose
メソッドには、単一のテーブル セルまたは複数のテーブル セルについて選択動作をテストするための新しい構文があります。
R2020b: トグル ツールに対する動作の実行
トグル ツールのテストで選択動作を実行することができます。
R2020b: ボタン グループ内での選択動作でのインデックス順の変更
インデックスを使用してラジオ ボタンまたはトグル ボタンを選択する場合、アプリ テスト フレームワークは ButtonGroup
オブジェクトの Buttons
プロパティにインデックスを付けます。以前のリリースでは、フレームワークは ButtonGroup
オブジェクトの Children
プロパティにインデックス付けを行います。たとえば、6 つのトグル ボタンをもつボタン グループを作成します。
f = uifigure; bg = uibuttongroup(f); tb1 = uitogglebutton(bg,'Position',[11 165 140 22],'Text','One'); tb2 = uitogglebutton(bg,'Position',[11 140 140 22],'Text','Two'); tb3 = uitogglebutton(bg,'Position',[11 115 140 22],'Text','Three'); tb4 = uitogglebutton(bg,'Position',[11 90 140 22],'Text','Four'); tb5 = uitogglebutton(bg,'Position',[11 65 140 22],'Text','Five'); tb6 = uitogglebutton(bg,'Position',[11 40 140 22],'Text','Six');
次の表に、インデックス 2
で指定されるトグル ボタンの選択動作の結果を示します。
テスト | R2020b 以降 | R2020a 以前 |
---|---|---|
tc = matlab.uitest.TestCase.forInteractiveUse; tc.choose(bg,2) | MATLAB® は、配列 | MATLAB は、配列 |
MATLAB コマンド
次の MATLAB コマンドに対応するリンクがクリックされました。
コマンドを MATLAB コマンド ウィンドウに入力して実行してください。Web ブラウザーは MATLAB コマンドをサポートしていません。
Select a Web Site
Choose a web site to get translated content where available and see local events and offers. Based on your location, we recommend that you select: .
You can also select a web site from the following list:
How to Get Best Site Performance
Select the China site (in Chinese or English) for best site performance. Other MathWorks country sites are not optimized for visits from your location.
Americas
- América Latina (Español)
- Canada (English)
- United States (English)
Europe
- Belgium (English)
- Denmark (English)
- Deutschland (Deutsch)
- España (Español)
- Finland (English)
- France (Français)
- Ireland (English)
- Italia (Italiano)
- Luxembourg (English)
- Netherlands (English)
- Norway (English)
- Österreich (Deutsch)
- Portugal (English)
- Sweden (English)
- Switzerland
- United Kingdom (English)