Отправляет email-рассылки с помощью сервиса Sendsay
  Все выпуски  

Советы по Cypress, часть 1: как соблюдать принцип DRY при помощи касто



Software-Testing.Ru - портал тестировщиков  

Новые темы форума тестировщиков


Советы по Cypress, часть 1: как соблюдать принцип DRY при помощи касто
2020-01-16 11:07

Автор: Филип Рик (Pilip Hric)
Оригинал статьи
Перевод: Ольга Алифанова

 

Принцип DRY = Don’t repeat yourself (не повторяйтесь).

 

End-to-end тесты иногда начинают повторять сами себя. Вы можете делать все, что в ваших силах, чтобы удерживать количество тестов на оптимальном уровне, но в некоторых случаях избежать повторяемости просто невозможно.

 

Приведу пример. Мы будем тестировать админ-интерфейс Slido. Slido дает пользователям возможность модерировать вопросы участников в ходе события. Одобренные вопросы отображаются для аудитории. В приложении есть различные фильтры вопросов, и у всех из них своя сортировка.

 

Пользователям по разным причинам может понадобиться сортировать входящие вопросы, а также живые, отмеченные звездой и архивированные.

 

Читать статью полностью...



PageObject и @Steps алюра
2020-01-16 14:46

Коллеги, добрый день!

В автоматизации довольно недавно. И это мой первый проект, стараюсь сделать все по уму.

Патерн PageObject, а в частности PageFactory показался мне интересным из-за возможностей инкапсуляции.

 

Описал страницы.
Написал свой первый тест.
Выглядит он примерно так:

@Test
public void refuse_to_client() {
    MainPage mainPage = new MainPage(driver);
    mainPage.loginToSystemByUser() //Логинимся на страницу 1
        .openNewClient(client_ID).goToSystemDecisionPage().decisionRefuse() //Отказываем на странице 2
            .addComment("Клиент некрасивый") //Добавляем комментарий по отказу на странице 3
                .sendToWork() //Жмем Ок на странице 2
                     .sendToProcessing() //Отправляем на странице 1 
}

Все выглядит относительно красиво. Но когда я стал крепить отчетность к этому тесту в виде Allure я понял, что вместо системы Test > Steps > Pages сделал просто Test > Pages, что не совсем корректно. Фигня вопрос подумал я и написал вариант №2

@Test
public void refuse_to_client() {
    login();
    appRefuse();
    appDecisiobRefuse();
    addingComment();
    pressOKButton();
    sendToProcessing();
}

@Step("Логинимся")
private void login() {
    LoginPage loginPage = new LoginPage(driver)
    loginPage.loginToSystemByUser() 
}

@Step("Поиск заявки")
private void appSearch() {
    MainPage mainPage = new MainPage(driver)
    mainPage.openNewClient(appno);
}

@Step("Пользователю отказывают")
private void clientDecisionRefuse() {
    appDecisionPage appDecisionPage = new AppDecisionPage(driver);
    appDecisionPage.goToSystemDecisionPage().decisionRefuse();
}

@Step("Добавление комментария по отказу")
private void addingComment() {
    CommentPage commentPage = new CommentPage(driver);
    commentPage.addComment("Сам ты некрасивый");
}

@Step("Нажать ОК")
private void pressOkButton() {
    FaTsmPage faTsmPage = new FaTsmPage(driver);
    faTsmPage.sendToWork();
}

@Step("Отправка в обработку")
private void sendToProcessing() {
    appDecisionPage appDecisionPage = new AppDecisionPage(driver);
    appDecisionPage.SendToProcessing();
}

И вот тут у меня возник вопрос из-за того, что приходится создавать новые экземпляры страниц, а некоторые приходится создавать дважды (например appDecisionPage) как склеить @Step Allure и подход PageFactory?
 



@Step() не попадают в отчет Allure
2020-01-16 16:40

Тесты выполняются. Отчет создается.
Аннотация добавляю @Step.
В pom настроены зависимости maven-surefire-plugin от junit и aspectjweaver. pom предоставить не могу, проект закрытый.
В allure-results:
"steps"[] - пустые - Почему?(



© 2010 | Software-Testing.Ru


В избранное