Main Content

このページの内容は最新ではありません。最新版の英語を参照するには、ここをクリックします。

choose

クラス: matlab.uitest.TestCase
名前空間: matlab.uitest

UI コンポーネントでの選択動作の実行

説明

choose(testcase,comp,option) は、comp UI コンポーネントの指定された項目で選択動作を実行します。

choose(testcase,compNoOpts) は、タブやツリー ノードなど、追加情報を必要としない UI コンポーネントでの選択動作を実行します。たとえば、特定のタブの選択にはこの構文を使用しますが、タブ グループから特定のタブを選択するには前の構文を使用します。

choose(testcase,uit,indices) は、uit テーブル UI コンポーネント内の indices で指定された編集不可のテーブル セルで選択動作を実行します。

choose(testcase,uit,indices,option) は、indices で指定された編集可能なテーブル セルで選択動作を実行します。この方法では、option を使用してセルの内容を変更します。

choose(testcase,uit,indices,'SelectionMode',mode) は、指定された選択モードを使用して、uit テーブル UI コンポーネント内の indices で指定された複数のセルを選択します。

入力引数

すべて展開する

テスト ケースのインスタンス。matlab.uitest.TestCase オブジェクトとして指定します。

テスト中に選択するコンポーネント。選択動作をサポートする UI コンポーネント オブジェクトとして指定します。選択動作をサポートするコンポーネントには、チェック ボックス、ノブ、スイッチ、ドロップダウン リストが含まれます。

サポートされるコンポーネント一般的な作成関数
ボタン グループuibuttongroup
チェック ボックスuicheckbox
離散型ノブuiknob
ドロップ ダウンuidropdown
ノブuiknob
リスト ボックスuilistbox
ラジオ ボタンuiradiobutton
スライダーuislider
状態ボタンuibutton
スイッチ (ロッカー、スライダー、トグル)uiswitch
タブ グループuitabgroup
トグル ボタンuitogglebutton
トグル ツールuitoggletool

UI コンポーネント内で選択する項目。option のデータ型は、テストするコンポーネントの型によって異なります。たとえば、コンポーネントがスイッチの場合、option はスイッチの Items プロパティからのテキストまたは数値になります。コンポーネントがチェック ボックスまたはトグル ツールの場合、option は logical 値になります。編集可能なセルを含むテーブル UI コンポーネントの場合、option は logical 値またはセルに含まれるデータに対応するドロップダウン項目になります。

コンポーネントに Items プロパティがある場合、optionItems 内の要素の値、または Items 内の要素へのインデックスになります。たとえば、既定の離散型ノブでは、option の値として 'Medium' または 3 を使用して 'Medium' を選択できます。

選択するコンポーネント。選択動作をサポートし、追加情報を必要としない UI コンポーネント オブジェクトとして指定します。選択動作をサポートするコンポーネントには、タブやツリー ノードが含まれます。

サポートされるコンポーネント一般的な作成関数
タブuitab
ツリー ノードuitreenode

ターゲットのテーブル UI コンポーネント。matlab.ui.control.Table オブジェクトとして指定します。テーブル UI コンポーネントは、関数 uitable で作成されます。

選択するテーブル セルのインデックス。N 行 2 列の配列として指定します。indices の形状はセル選択のタイプによって異なります。

  • 1 つ以上のセルの連続していない選択 — N 行 2 列の行列。ここで、N は選択するセルの数です。行列の各行は、選択するセルの行および列のインデックスに対応します。

  • 複数のセルの連続した選択 — 選択するセルのブロックの境界を指定する 2 行 2 列の行列。行列の各行は、セルの行および列のインデックスに対応します。アプリ テスト フレームワークは、指定されたセルとその間にあるすべてのセルで選択動作を実行します。

例: [1 2] (単一のセルの選択)

例: [2 3; 2 4; 5 1] (3 つのセルの連続していない選択)

例: [1 1; 3 3] (9 つのセルの連続した選択)

セル選択モード。'discontiguous' または 'contiguous' として指定します。この入力は、テーブル UI コンポーネント内でセルがどのように選択されるかについての情報を提供します。

  • 'discontiguous' — アプリ テスト フレームワークは、indices 入力引数で指定されたセルでのみ選択動作を実行します。

  • 'contiguous' — アプリ テスト フレームワークは、入力引数 indices で指定されたセルと、それらのセル間にあるすべてのセルに対して選択動作を実行します。

テーブル セルの選択の詳細については、Table のプロパティ を参照してください。

すべて展開する

離散型ノブを作成します。

knob = uiknob('discrete');

A figure with a discrete knob. The knob value is 'Off'.

対話型のテスト ケースを作成し、ノブの値 'High' を選択します。アニメーション化された青い点でプログラムによる選択動作が示されます。

tc = matlab.uitest.TestCase.forInteractiveUse;
tc.choose(knob,'High')

A figure with a discrete knob. The knob value is 'High'.

ノブの Items プロパティの値を表示します。

knob.Items
ans =

  1×4 cell array

    {'Off'}    {'Low'}    {'Medium'}    {'High'}

インデックスでノブの値 'Low' を選択します。ノブが 'High' から 'Low' に切り替わります。

tc.choose(knob,2)

A figure with a discrete knob. The knob value is 'Low'.

リスト ボックスを作成し、複数のノードを選択できるようにします。

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

A figure with a list box that has four items. Item 1 is chosen.

対話型のテスト ケースを作成し、項目 1 ~ 3 を選択します。

tc = matlab.uitest.TestCase.forInteractiveUse;
tc.choose(listbox,1:3)

A figure with a list box that has four items. Items 1 through 3 are chosen.

Items プロパティの値を使用して項目 1 と 3 を選択します。

tc.choose(listbox,{'Item 1','Item 3'})

A figure with a list box that has four items. Items 1 and 3 are chosen.

スライダーを作成します。

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 で導入

すべて展開する