exponenta event banner

выбирать

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

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

Описание

пример

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

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

пример

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

пример

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

пример

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

Входные аргументы

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

Экземпляр тестового случая, указанный как matlab.uitest.TestCase объект.

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

  • '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.

Выберите новое значение ползунка и убедитесь, что значение ползунка изменилось. Поскольку структура имитирует манипулирование пользователем компонентом до произвольно заданного значения, рекомендуется использовать допуск для сравнения фактических и ожидаемых значений ползунка.

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.

Создайте компонент пользовательского интерфейса таблицы, содержащий смесь различных типов данных. Установите 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)

Создайте компонент пользовательского интерфейса таблицы, отображающий массив случайных целых чисел 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