choose

Класс: matlab.uitest.TestCase
Пакет: matlab.uitest

Выполните выбирают жест на компоненте пользовательского интерфейса

Описание

пример

choose(testcase,comp,option) выполняет выбрать жест на заданном элементе на компоненте пользовательского интерфейса comp.

choose(testcase,compNoOpts) выполняет выбрать жест на компоненте пользовательского интерфейса, который не запрашивает дополнительную информацию, такую как вкладка или древовидный узел. Например, используйте этот синтаксис, чтобы выбрать определенную вкладку, но использовать предыдущий синтаксис, чтобы выбрать конкретную вкладку из группы вкладки.

пример

choose(testcase,uit,indices) выполняет выбрать жест на недоступной для редактирования ячейке таблицы, заданной indices в компоненте таблицы UI uit.

пример

choose(testcase,uit,indices,option) выполняет выбрать жест на доступной для редактирования ячейке таблицы, заданной indices. Функция использует option изменить содержимое ячейки.

пример

choose(testcase,uit,indices,'SelectionMode',mode) использует данный режим выбора, чтобы выбрать несколько ячеек, заданных indices в компоненте таблицы UI uit.

Входные параметры

развернуть все

Экземпляр теста в виде matlab.uitest.TestCase объект.

Компонент, чтобы выбрать во время теста в виде компонента пользовательского интерфейса возражает что поддержки выбрать жест. Компоненты, что поддержка выбирает жесты, включают флажки, кнопки, переключатели и выпадающие списки.

Поддерживаемый компонентТипичная функция создания
Группа кнопокuibuttongroup
Флажокuicheckbox
Дискретная кнопкаuiknob
Выпадающий списокuidropdown
Кнопкаuiknob
Поле спискаuilistbox
Переключательuiradiobutton
Ползунокuislider
Кнопка состоянияuibutton
Переключатель (рокер, ползунок, переключаются),uiswitch
Группа вкладкиuitabgroup
Кнопка-переключательuitogglebutton
Переключите инструментuitoggletool

Элемент, чтобы выбрать в компоненте пользовательского интерфейса. Тип данных option зависит от типа протестированного компонента. Например, если компонент является переключателем, option текст или числовое значение от Items свойство переключателя. Если компонент является флажком или инструментом переключателя, option логическое значение. Для компонента таблицы UI с редактируемыми ячейками, option могло быть логическое значение или выпадающий элемент, соответствующий данным, содержавшимся в ячейке.

Когда компонент имеет Items свойство, option может быть значение элемента в Items или индекс к элементу в Items. Например, для дискретной кнопки по умолчанию, можно выбрать 'Medium' с помощью значения для option это - любой 'Medium' или 3.

Компонент, чтобы выбрать в виде компонента пользовательского интерфейса возражает, что поддержки выбрать жест и не запрашивают дополнительную информацию. Компоненты, что поддержка выбирает жесты, включают вкладки и древовидные узлы.

Поддерживаемый компонентТипичная функция создания
Вкладкаuitab
Древовидный узелuitreenode

Целевой компонент таблицы UI в виде matlab.ui.control.Table объект. Таблица компоненты пользовательского интерфейса составлена с uitable функция.

Индексы ячеек таблицы, чтобы выбрать в виде массива N-2. Форма indices зависит от типа выбора ячейки:

  • Выбор отдельной ячейки — вектор 1 на 2, соответствующий индексам строки и столбца ячейки, чтобы выбрать.

  • Непрерывный выбор нескольких ячеек — матрица 2 на 2, задающая контуры блока ячеек, чтобы выбрать. Каждая строка матрицы соответствует индексам строки и столбца ячейки. Среда тестирования приложения выполняет выбрать жест на заданных ячейках, а также всех ячейках между ними.

  • Несмежный выбор нескольких ячеек — матрица N-2, где N является количеством ячеек, чтобы выбрать. Каждая строка матрицы соответствует индексам строки и столбца ячейки, чтобы выбрать.

Пример: [1 2] (выбор отдельной ячейки)

Пример: [1 1; 3 3] (непрерывный выбор девяти ячеек)

Пример: [2 3; 2 4; 5 1] (несмежный выбор трех ячеек)

Режим выделения ячеек в виде 'contiguous' или 'discontiguous'. Этот вход предоставляет информацию о том, как группа ячеек выбрана в компоненте таблицы UI:

  • 'contiguous' — Среда тестирования приложения выполняет выбрать жест на ячейках, заданных indices входной параметр и все ячейки, промежуточные эти ячейки.

  • 'discontiguous' — Среда тестирования приложения выполняет выбрать жест только на ячейках, заданных indices входной параметр.

Для получения дополнительной информации о выборе ячейки таблицы, смотрите Свойства таблиц.

Примеры

развернуть все

Создайте дискретную кнопку.

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.

Выберите пункты 1 и 3 с помощью значений Items свойство.

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.

Выберите новое значение ползунка и проверьте изменения значения ползунка. Поскольку среда подражает пользователю, управляющему компонентом к произвольно precisioned значение, это - лучшая практика использовать допуск, чтобы сравнить фактические и ожидаемые значения ползунка.

expVal = 42;
tc.choose(s,expVal)
tc.verifyEqual(s.Value,expVal,'AbsTol',0.1)
Verification passed.

Создайте фигуру с двумя вкладками.

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)

Создайте компонент таблицы UI, который отображается 10 3 массив случайных целых чисел.

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')

Вопросы совместимости

развернуть все

Поведение изменяется в R2020b

Введенный в R2018a