Как динамически генерировать идентификатор автоматизации данных для каждой опции - PullRequest
0 голосов
/ 03 февраля 2020

Я новичок в Angular. Я написал некоторый код Он содержит два выпадающих меню. Я использую простые select и option теги HTML. Работает отлично. Но команда QA говорит, что они не в состоянии проверить это. Как добавить data-automation-id для каждой опции отдельно во время выполнения. Я читаю параметры из того же массива, используя ngFor. Вот мой код.

mycalendar.component. html

<select data-automation-id="timeselection-mode-primary">
  <option *ngFor="let mode of modes">
      {{ mode }}
  </option>
</select>

...

<select data-automation-id="timeselection-mode-secondary">
  <option *ngFor="let mode of modes">
      Previous {{ mode }}
  </option>
</select>

Никаких реактивных форм не задействовано. Обычные HTML теги.

mycalendar.component.ts

modes=['Year', 'Quarter', 'Sprint'];

Может кто-нибудь подсказать, пожалуйста, как генерировать идентификаторы автоматизации во время выполнения. Или я задаю неправильный вопрос и напрасно трачу время. Пожалуйста, предложите альтернативу в этом случае.

Ответы [ 2 ]

1 голос
/ 04 февраля 2020

Чтобы сделать атрибуты данных для параметров динамически, попробуйте добавить атрибуты для параметров с помощью [attr.data-*] .. В вашем случае, как показано ниже.

<option *ngFor="let mode of modes; let i = index;" [attr.data-automation-id]='i'>
      {{ mode }}
</option>

Рабочий пример здесь ...

1 голос
/ 03 февраля 2020

Поместите ваш выбор в ngFor, который повторяется два раза, и укажите его индекс как data-automation-id. Или вы можете вызвать функцию, которая генерирует случайный идентификатор data-automation-id="generateRandom()"

...