Могу ли я выполнить рефакторинг в кодировке UFT, особенно при изменении сигнатур функций? - PullRequest
0 голосов
/ 11 мая 2018

Как активному рефакторингу, мне очень нравится функция IntelliJ: «Refactor -> Change signature».

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

Так что, когда я попал в проект UFT oldschool с задачами по обслуживанию, я почувствовал себя измученным.

Там есть способ достичьэто без изменения каждого экземпляра функции?Пожалуйста, скажи мне да.Пожалуйста!

1 Ответ

0 голосов
/ 11 мая 2018

Ну, нет . Я не знаю ни одного инструмента, способного на это.

Кажется, что есть люди, которые создали адаптер C # для API объекта тестирования UFT, позволяя им писать свои тесты в C # и использовать VisualStudio для разработки тестовых сценариев. В VS у вас есть поддержка рефакторинга, которую вы ищете. Но вы больше не создаете сценарии UFT, вы создаете приложения на C #. (Обратите внимание, что я не говорю об аспекте тестирования API UFT, который в любом случае использует C # - я говорю о сценариях тестирования VBScript для тестов GUI и компонентов BPT.)

Сам UFT не способен выполнять настоящий статический анализ кода. (Пусть это утверждение утонет, и вы согласитесь: это правда.)

Добавление этого факта к тому, что IDE UFT, скажем так: неоптимальный, привело к разработке Test Design Studio (TDS), VisualStudio "подобного" подмножества VS для UFT (VBScript) скрипты. Вы можете проверить это здесь: http://www.patterson -consulting.net / products / test_design_studio / Default.aspx

Помимо прочего, TDS выполняет статический анализ кода для сценариев UFT довольно полно (насколько это вообще допускает интерпретируемый вариантно-типизированный язык, такой как VBScript), и автор инструмента, похоже, думает о добавлении рефакторинг функций, таких как тот, который вы просили, но - это еще не произошло. Вероятно, это произойдет, только если спрос будет высоким.

До тех пор, TDS может помочь вам:

  • Вы можете просто изменить подпись
  • Если TDS знает все вызовы (что обычно происходит), он перечислит вам все места, где вам нужно отредактировать - и это происходит во время разработки, а не во время выполнения
  • TDS позволяет указать тип идентификаторов, например: формальные параметры, переменные и т. Д. Это означает, что вы можете даже получать предупреждения, если ничего не измените в чистой подписи VBScript (которая не включает информацию о типе), но измените директиву TDS того параметра подписи, для которого вы изменили тип.

Это не реклама. Я не являюсь частью компании, которая разработала TDS.

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

Таким образом, TDS увеличил мою производительность (или даже больше) в четыре раза при создании и поддержке тестовых сценариев, особенно если используется большая базовая среда. Поэтому я рекомендую проверить возможность использования TDS, чтобы лучше обрабатывать изменения, подобные тем, которые вы описали.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...