У меня есть тестовый пример Selenium, который вводит даты в селектор даты, состоящий из трех раскрывающихся списков (год, месяц и день).
select validity_Y label=2008
select validity_M label=08
select validity_D label=08
Эта часть часто повторяется на протяжении всего теста. Я хотел бы уменьшить его, определив свое настраиваемое действие "selectValidity", чтобы у меня было меньше избыточности, например
selectValidity 2008,08,08
Каков наилучший (самый простой, самый чистый) способ добавления макросов или подпрограмм в тестовый пример?





Я так понимаю, вы кодируете свои тесты в Селенезе. Если да, то рассматривали ли вы возможность использования одного из клиентских драйверов на любом из многих языков? У них есть Ява, .сеть, Perl, Рубин, javascript, php и питон. У каждого из них есть подпрограммы. Предположительно, IDE может преобразовать ваши существующие тесты Selenese в большинство из них.
Вы можете определить свои вспомогательные JS-функции в JS-файле и включить их как основное расширение или как часть user-extensions.js (как это делается для UI-элементы). Затем функция JS с именем selectValidity может использовать DOM для выбора значений.
Спасибо, это то, что я искал. Но я, вероятно, перейду к Selenium RC и Java, как предлагает @sblundy.