Сама идея модификации исходников FirePath возникла после ознакомления с проектом SWD.Starter. Уже второй раз вижу кастомную реализацию инспектора элементов. И тут мне стало интересно, насколько сложно будет разобраться с уже готовым инспектором всем известного FireBug + FirePath и подправить его под свои нужды.
С JS почти не работал, ровно как и с XUL. Так что пришлось немного повозиться. В итоге, получилось прикрутить филд задания имени локатора, путь к файлу, куда надо сохранить пару (имя / локатор) ну и саму кнопку с обработчиком. О результатах эксперимента можно почитать здесь. Пощупать модифицированные исходники можно на нашем складе примеров. Обновленный лейаут получился следующим:
Собственно сам результирующий файл можно парсить как обычный java properties. А там уж подключать и кастомные PageObject creators, etc. Код в целом сыроват. Не мешало бы сделать декомпозицию методов, кастомную валидацию новых полей и т.п. Кто знает, как сделать все это более красиво и элегантно, you’re welcome.