Мы делаем автоматизацию с использованием Ruby
и Cucumber
. У нас есть около 80 файлов функций, 1 файл web_Steps, содержащий все общие шаги.
Проблема, с которой мы сталкиваемся, - это все локаторы, присутствующие в файле функций. Поэтому, если структура html изменяется, мы должны обновлять локаторы во всех соответствующих файлах, которые очень трудоемки. например:
веб шаг:Автоматизация рубинового огурца
And /^I fill in "([^"]*)" with "([^"]*)"$/ do |field, value|
fill_in(field, with: value)
end
Характеристика файла:
And I fill in "location" with "Mumbai"
And I fill in "contact_details" with "[email protected]"
Таким образом, если локатор «местоположение» изменено на что-то другое, то мы должны обновить все полнометражных файлы, которые содержат локатор «местоположение "
Есть ли лучший способ решить эту проблему ?.
Я не знаю, понял ли я ваш вопрос. Но, если я это сделаю: не можете ли вы создать глобальную переменную '$ locator = 'location''? Поэтому вам нужно будет только изменить его, и он изменится во всех файлах функций. – fabersky
Также, если у вас есть много из этих переменных переменных, создайте глобальный хеш и сохраните локаторы с подходящим ключом в них. – Grasshopper
Используете ли вы объекты страницы? если нет, вы должны. – lauda