Открытый вебинар Cелекторы CSS и их применение

Открытый вебинар Cелекторы CSS и их применение

В рамках курса вы заглянете под капот популярнейших инструментов автоматизации, чтобы точно знать, что там происходит, и как это можно эффективно использовать. Ключевая цель курса — помочь студентам стать профессионалами, которые смогут самостоятельно принимать технические решения и предвидеть поведение системы. Именно в этом кроется стабильность ваших тестов.

Курс подойдет для:

- Разработчиков автоматизированного тестирования на Java с опытом работы до …

Создать новый maven-проект для автоматизации тестирования и залить его на GitHub. 1 Откройте IDE2 Создайте новый проект (maven)3 Настройте для проекта файл .gitignore (https://www.gitignore.io/)4 В файле pom.xml укажите зависимости для-- Selenium Java (https://mvnrepository.com/artifact/org.seleniumhq.selenium/selenium-java)-- WebDriverManager (https://mvnrepository.com/artifact/io.github.bonigarcia/webdrivermanager)-- jUnit (https://mvnrepository.com/artifact/junit/junit/4.12)5 создайте репозиторий на github и залейте в master код проекта6 создайте новую ветку в репозитории и в рамках нее создайте тест, который:-- с помощью WebDriverManager, настраивает ChromeDriver-- открывает в браузере Chrome страницу https://otus.ru/— проверяет title страницы- логирует шаги теста с помощью log4j7 сделайте push кода с тестом в новую ветку8 сделайте pull request в мастер из новой ветки, убедитесь, что не возникло конфликтов и код можно мержить

Домашнее задание принимается в виде ссылки на GitHub репозиторийСрок сдачи: 48 часов до следующего занятия.

Подглядывать можно сюда: https://habr.com/ru/company/otus/blog/452908/Использовать owner http://owner.aeonbits.org/docs/usage/

Написать несколько тестов.. Создайте в разных тестах следующие проверки

1) Откройте сайт https://otus.ru :- перейти во вкладку "Контакты" и проверить адрес: 125167, г. Москва, Нарышкинская аллея., д. 5, стр. 2, тел. +7 499 938-92-02;- разверните окно браузера на полный экран(не киоск);- проверьте title страницы.

2) Перейти на сайт теле2 страница https://msk.tele2.ru/shop/number :- ввести в поле "поиск номера" 97 и начать поиск;- дождаться появления номеров.

3) Перейдите на сайт https://otus.ru :- перейдите на F.A.Q, нажмите на вопрос: "Где посмотреть программу интересующего курса?";- проверьте, что текст соответствует следующему: "Программу курса в сжатом виде можно увидеть на странице курса после блока с преподавателями. Подробную программу курса можно скачать кликнув на “Скачать подробную программу курса”.

4) Зайдите на сайт https://otus.ru :- заполните тестовый почтовый ящик в поле "Подпишитесь на наши новости";- нажмите кнопку "Подписаться";- проверьте, что появилось сообщение: "Вы успешно подписались".

Яндекс маркет. Вариант 1:- Открыть в Chrome сайт Яндекс.Маркет - "Электроника"-> "Смартфоны"- Отфильтровать список товаров: Samsung и Xiaomi- Отсортировать список товаров по цене (от меньшей к большей)- Добавить первый в списке Samsung - Проверить, что отобразилась плашка "Товар добавлен к сравнению"- Добавить первый в списке Xiaomi- Проверить, что отобразилась плашка "Товар добавлен к сравнению" - Перейти в раздел Сравнение- Проверить, что в списке товаров 2 позиции

Вариант 2:- Задание Вариант2- Сайт www.220-volt.ru- Электроэнструменты -> Перфораторы- Выбрать марки Makita и Зубр- Отсортировать по цене (min->max)- Добавить в сравнение первый перфоратор "Зубр" и первый перфоратор "Makita" - Перейти на страницу сравнения. Убедиться, что в сравнении корректные перфораторы.

Домашнее задание принимается в виде ссылки на GitHub репозиторийСрок сдачи: 48 часов до следующего занятия.

Реализуйте автоматический тест, используя Java + Selenium + POM + web-driver factory. Создайте класс WebDriverFactory со статическим методом create();

Метод create() принимает обязательный параметр webDriverName и необязтельный параметр options, а возвращает соответствующий имени вебдрайвер с заданными (если были) options

Примеры использованияWebDriver wd = WebDriverFactory.createNewDriver("chrome"); или FirefoxOptions options = new FirefoxOptions();WebDriver wd = WebDriverFactory.createNewDriver("firefox", options);

Шаги теста:- Открыть https://otus.ru- Авторизоваться на сайте- Войти в личный кабинет- В разделе "О себе" заполнить все поля "Личные данные" и добавить не менее двух контактов- Нажать сохранить- Открыть https://otus.ru в "чистом браузере"- Авторизоваться на сайе- Войти в личный кабинет- Проверить, что в разделе "О себе" отображаются указанные ранее данные

Домашнее задание принимается в виде ссылки на GitHub репозиторийСрок сдачи: 48 часов до следующего занятия.

Домашнее задание по IoC и DI. 1, На примере приложения созданного в обучающем вебинаре (был рассмотрен сервис по продаже автомобилей) создать дополнительные конфигурации для автомобиля.2, Создать на продажу новые автомобили с новыми конфигурациями и вывести результат создания в консоль.3, Поработать с конфигурационным классом SpringConfig и с бинами.4, Создать тест для новой конфигурации с ассертом.

По желанию можно сменить тематику сервиса, основная задача попробовать создать разные типы (сильная, слабая, инверсия контроля) зависимости классов.

Rest-assured. Написать тест кейсы в excel или в комментах к классу:- создание пользователя- получение пользователя по имени

Для данных тест кейсов написать автотесты.Описание API - https://petstore.swagger.io

ДЗ - Stubs, Mocks. Создать тестовый проект на выбор:- Шаблонный проект spring с подключенной библиотекой wiremock- Шаблонный проект Citrus Framework (quickstart)

Создать сервис-заглушку для имитации API сайта www.reqres.in

Создать два-три теста по разным контрактам с сайта www.reqres.in.Запуск теста и работа заглушки должны осуществляться локально (на "машине" пользователя).

Добавить интеграцию c системой отчетности Allure в тестовый проект на Selenium.. Открыть тестовый проект для web на Selenium.Настроить интеграцию с библиотекой Allure по примеру, показанному в вебинаре.В тесты добавить передачу скриншота в Allure отчет.

Доработать CI для удобной отчетности, выполнения по push в git и выполнять back-up конфигураций. Создайте job (можно использовать job, созданную в ходе выполнения прошлого домашнего задания)Шаги в job:1. Выгрузить из вашего репозитория код тестов2. Собрать проект3. Выполнить все тесты 4. Прислать письмо вам на почту-- в письме указаны -- номер сборки -- статус сборки -- ветка репозитория, из которой был взят код тестов -- количество тестов (всего/успешных/проваленных/пропущенных) -- общее время выполнения job'ы

Настройте job так, чтобы она запускалась после каждого git push'а в ваш репозиторий (использовать webhooks) и каждую ночь в 01:00.Помимо отчетности по e-mail, отчет должен приходить в канал в slackОтчеты должны добавляться в систему отчетов (на ваш выбор allure, report portal и подобные)По окончанию выполнения job, должен выполняться back-up самой job'ы и настроек (можно использовать SCM Sync configuration plugin)

Проектная работа от EPAM. Что будем тестировать: Приложение https://events.epam.com/ предоставляет информацию о мероприятиях, которые проводит EPAM. Сайт позволяет посмотреть предстоящие/прошедшие мероприятия в разных городах, информацию о спикерах, докладах, календарь мероприятий.Требования к фреймворку:1. Java 2. Maven/Gradle3. TestNG/Junit4. Настроено логирование 5. Реализована возможность кроссбаузерного тестирования и удаленного запуска тестов6. Реализована возможность параллельного запуска тестов 7. Код проекта хранится в Git (важна частота и содержание коммитов)8. Для работы со страницами используется паттерн Page Object9. Код оформлен согласно Java Code Conventions, коментарии в стиле Javadoc приветствуются

*Дополнительно: Настроена интеграция с CI и запуск тестов по расписаниюРазрешается подключение других библиотек, использование BDD подхода, Spring, Lombok

Обязательное тестовое покрытие:1. Просмотр предстоящих мероприятий:1.1 Пользователь переходит на вкладку events 1.2 На странице отображаются карточки предстоящих мероприятий. Количество карточек равно счетчику на кнопке Upcoming Events

2. Просмотр карточек мероприятий: 2.1 Пользователь переходит на вкладку events 2.2 Пользователь нажимает на Past Events 2.3 На странице отображаются карточки предстоящих мероприятий. 2.4 В карточке указана информация о мероприятии: - язык - название мероприятия - дата мероприятия - информация о регистрации - список спикеров // Минимально достаточное - проверить одну карточку. В идеале все что отображаются.

3. Валидация дат предстоящих мероприятий: 3.1 Пользователь переходит на вкладку events 3.2 Пользователь нажимает на Upcoming Events 3.3 На странице отображаются карточки предстоящих мероприятий. 3.4 Даты проведения мероприятий больше или равны текущей дате (или текущая дата находится в диапазоне дат проведения)

4. Просмотр прошедших мероприятий в Канаде: 4.1 Пользователь переходит на вкладку events 4.2 Пользователь нажимает на Past Events 4.3 Пользователь нажимает на Location в блоке фильтров и выбирает Canada в выпадающем списке 4.4 На странице отображаются карточки прошедших мероприятий. Количество карточек равно счетчику на кнопке Past Events. Даты проведенных мероприятий меньше текущей даты.

5. Фильтрация докладов по категориям: 5.1 Пользователь переходит на вкладку Talks Library 5.2 Пользователь нажимает на More Filters 5.3 Пользователь выбирает: Category – Testing, Location – Belarus, Language – English, На вкладке фильтров 5.4 На странице отображаются карточки соответствующие правилам выбранных фильтров

6. Поиск докладов по ключевому слову: 6.1 Пользователь переходит на вкладку VIDEO - Talks Library 6.2 Пользователь вводит ключевое слово QA в поле поиска 6.3 На странице отображаются доклады, содержащие в названии ключевое слово поиска

*Дополнительно: Тестовое покрытие может быть расширено для функциональности фильтрации

📎📎📎📎📎📎📎📎📎📎