Пять лет в ручном тестировании, веб и немного мобилки. В команде бэкенд на Rails, и мне предложили взяться за автотесты, учиться можно в рабочее время. Ruby не знаю совсем. С чего начинать: язык, RSpec или сразу Capybara? И сколько времени закладывать, чтобы не наобещать лишнего? Когда-то у нас уже пробовали автотесты на Python, и там через строчку стояли паузы по три секунды, повторять это не хочется.
Начинать с Ruby, но немного: переменные, массивы, хэши, блоки, классы. Это пара недель по вечерам. Дальше RSpec на чём-то простом, без браузера, чтобы понять describe, let и expect. И только потом Capybara, иначе все проблемы будут выглядеть одинаково: что-то не нашлось на странице. Про паузы хорошая новость: в Capybara они не нужны, матчеры вроде have_content сами ждут и перепроверяют страницу, по умолчанию до двух секунд. Вот к такому тесту и идёшь:
RSpec.describe "Вход", type: :system do
let(:user) { create(:user) }
it "пускает с верным паролем" do
visit new_session_path
fill_in "Email", with: user.email
fill_in "Пароль", with: user.password
click_button "Войти"
expect(page).to have_content("Мои задачи")
end
end
Обещай один такой сценарий к концу первого месяца, это реально.
Сразу посмотри, на чём у вас браузер в тестах. Если Selenium, первые месяцы половина вопросов будет про драйверы, это нормально
Если есть выбор, лучше Cuprite: отдельный драйвер не нужен, работает быстрее и падает понятнее. С Selenium на него переезжают за пару дней
И не бойся Ruby, для тестов его нужно меньше, чем кажется