Как я начал использовать Selenium
Пришлось мне однажды делать тестовое задание. В требованиях был Selenium, Java или C# и Page Objects. С языком (Java) и паттерном Page Objects у меня проблем не было. Java на уровне написания тестов достаточно проста, сильно глубоких знаний языка не требуется. Page Objects я использовал во время работы над рабочими проектами, так что это тем более затруднений не вызвало.
Page Objects
Это модель (или шаблон) написания автотестов, в которой для каждая страница рассматривается, как объект со своим набором полей и методов, где поля - это элементы страницы (кнопки, поля, тайтл и вообще что угодно), а методы - это действия над элементами (клик, чтение и изменение свойств, текста и прочего). Описав таким образом каждую страницу (причем делать это для всех элементов не нужно, а только для тех, с которыми проводится проверка), можно легко писать тестовые сценарии, при этом логика (т.е. сам тест) расположен отдельно. При изменении страницы или её элементов необходимо изменение Page Object, а сам тест не изменяется. Т.е. поддерживать такой тест очень удобно.
Selenium
Это фреймворк (или библиотека), которая может управлять браузером, эмулировать любые действия пользователя. Например, кликать, вводить данные в поля, изменять данные в полях, скроллить страницу и прочее. Подробнее о том что это можно почитать на оффсайте.
TestNg
А это раннер тестов, который может подготавливать окружение (например, запускать браузер), проводить стандартные процедуры перед каждым тестом (например, логиниться в приложение).
Что со всем этим делать
Дальше дело техники. Жонглируем архитектурой приложения Page Objects, используем методы Selenium, запускаем тесты при помощи TestNg.
А где же код
Вот тут одно из тестовых заданий, которое я делал. Вопросы можно задавать сюда.