Поиск полей формы по имени

Добрый день,

При накликивании шагов сгенерировал сценарий:

“И в поле ‘Номер’ я ввожу текст ‘6666’”

При воспроизведении получаю ошибку:

{ВнешняяОбработка.bddRunner.Форма.УправляемаяФорма.Форма(14592)}: Найдено более одного поля формы с заголовком <Номер>. Рекомендуется искать элемент по имени.

Технические данные:
ИмяФайла: C:\Repo\add-5.5.5\features\libraries\UITestRunner\step_definitions\РаботаСИнтерфейсом.epf
ИмяПроцедуры: ВПолеЯВвожуТекст
ВерсияVB: ver 5.5.5
ВерсияПлатформы: 8.3.13.1513
РежимСовместимостиTestManager: НеИспользовать

Возможность искать по имени как-то регулируется настройками? Где это можно поменять?

И в поле с именем “Номер” я ввожу текст “6666”.

Через “Добавить известный шаг” можно найти различные варианты.

Это понятно.

Но я накликиваю шаги через запись действий пользователя, и хотелось бы, чтобы оно автоматом вставало как надо.

Например, ранее было так:

И в поле с именем “НомерВходящегоДокумента” я ввожу текст ‘6666’

Сейчас пробую на новой платформе в новой версии ADD. И стало работать по другому. Не хотелось бы вручную все шаги менять.

Погонял в отладчике bddRunner.epf, обнаружил, что поиск происходит по заголовку, так как функция ЕстьДублиЗаголовковУПоля() всегда возвращает Ложь, хотя дубли явно есть. В свою очередь внутри данной функции вызывается функция СтрокиРавныСУчётомЗвёздочек(), и вот в ней явно что-то не так.

Я дописал у себя такой код, вроде заработало:

> Если Массив1.Количество() + 1  = Массив2.Количество() Тогда 
  Если Массив1[Массив1.Количество() - 1] = "*" Тогда //значит тут последний 

символ *
Массив1.Удалить(Массив1.Количество() - 1);
КонецЕсли;
Массив2.Удалить(Массив2.Количество()-1);
Массив2.Удалить(Массив2.Количество()-1);
КонецЕсли;

1 Симпатия

@Neo Интересный анализ, спасибо!

Можешь сделать пулл-реквест в АДД с твоей доработкой?

Хм, могу попробовать…
Правильно понимаю, что надо отправить пулл-реквест в ветку develop?
Файл epf/bddRunner/bddRunner/Forms/УправляемаяФорма/Ext/Form/Module.bsl?

Да, ПР в ветку девелоп.

Да, если меняется только код из этого модуля