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

Автоматизация регресса бекендов. Без СМС и автотестов // Антонина Фант



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

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


Автоматизация регресса бекендов. Без СМС и автотестов // Антонина Фант
2018-12-27 00:06

Публикуем запись доклада Антонины Фанталиной "Автоматизация регресса бекендов. Без СМС и автотестов" с прошедшего в Новосибирске QA DevDay.

 

Тоня тестирует навигатор в 2ГИС. Проект объёмный, а имеющиеся unit-/функциональные/интеграционные тесты не всегда находят проблемы. В своём выступление Тоня рассказала, как проверить API на изменения с помощью diff-ответов от сервера, и поделилась муками выбора между Diffy, Karate и кастомным решением.

 

Смотреть запись выступления



"Гибридное" тестирование. WEB и DeckTop
2018-12-27 13:42

codeception php

 

Доброго времени суток всем!

 

Есть тест формы регистрации клиента, где кроме прочих полей, есть поле заполнения идентификатора клиента.

Автотест для для этой формы написан, все работает прекрасно, код клиента заполняем рандомно, от балды.

Возникла необходимость проставлять реальный айдишник клиента, который выдает 1С Бухгалтерия
Теперь вопрос: существует ли возможность "воткнуть" в процесс автотеста регистрации клиента, вызов приложения 1С, проведения там определенных действий, связанных с добавлением нового клиента, получения идентификатора, возврат на тест страницы регистрации, заполнения полученного идентификатора и записью данных?

Другими словами, какие возможности есть воткнуть в автотест web-страницы вызов decktop приложения с последующими там манипуляциями и возвратом на тест web-страницы?

 



Не могу использовать списки с параметризацией в JUnit4
2018-12-28 13:26

Добрый день. Пытаюсь сделать параметризированные тесты на Webdriver 3 / JUnit4, пока локально в Idea. Начинаю с простого, обход по ссылкам, которые предварительно собраны в виде URL в простой список. Этот список я не могу использовать в качестве параметра. Насколько я понимаю, параметрами могут выступать только объекты.

 

Например я могу объявить объект заранее

Object[] testvalues = new Object[]{"google.com","ya.ru","twitter.com"};

И тогда в тесте он отработает правильно

@RunWith(Parameterized.class)
public class TestParam {

@Parameterized.Parameter
public String domainName;

@Parameterized.Parameters(name = "{index}:TestOf {0}")
public static Object[] data() {
return testvalues;
}

@Test
public void paramTest() {
System.out.println(domainName);
}

}

Фокусы начинаются когда я пытаюсь использовать список ссылок.

1. Я могу сделать объект через toArray()

2. Я могу сделать объект через stream().toArray(n -> new String[n])

3. Я могу сделать объект через stream().toArray(String[]::new)

4. Я не могу добавлять ссылки сразу в объект, потому что он имеет фиксированный размер

 

В результате, если я использую именно сконвертированный объект, то тестовый класс выполняется успешно без параметров, ничего не делая. Я проверял, что на выходе получаются именно объекты с нужным содержимым. Подскажите пожалуйста, где у меня ошибка.



С Новым 2019 Годом!
2018-12-28 18:00

Cover.png

Поздравляем с наступающим Новым Годом!

 

Желаем вам найти сотни важных багов и не дать им проскользнуть в релиз, изучить новые технологии и инструменты, покорить сложнейшие проекты и стать образцом для подражания!

 

Начинающие тестировщики – желаем успешно найти отличную работу и быстро стать мастерами своего дела!

 

Тест-аналитики – пусть документация будет внятной, а заказчики – отзывчивыми!

 

Автоматизаторы – чистого вам кода и надежного инструментария!

 

Тест-менеджеры – пусть ваша команда всегда работает, как часы!

 

С наступающим Новым Годом и Рождеством, наше любимое сообщество! Есть ли у вас профессиональные планы и цели на Новый Год? Поделитесь на форуме, и все новогодние обещания обязательно исполнятся!

 

Мы подготовили для вас вредные советы – постарайтесь не следовать им в наступающем году, и тогда все ваши профессиональные мечты обязательно сбудутся!

 

Посмотреть подборку вредных советов

 



Декабрьский выпуск рассылки
2018-12-29 08:38

Вышел выпуск рассылки за первую половину декабря, его содержание доступно по ссылке.

 

Как всегда в выпуске рассылки собраны ссылки на новые статьи, слайдкасты, отобраны самые интересные публикации в ленте блогов и темы на форуме.

 

Подписаться на рассылку можно по ссылке.



Как вернуть объект страницы из generic метода
2018-12-29 15:29

Всем привет.

Давно хотел создать метод generic типа, так сказать освоить работу с дженериками. Использую Selenide.

В итоге, написал метод, открывающий страницу в новой вкладке и возвращающий объект этой страницы

@Step("Открываем новую страницу по ссылке {0} и возвращаем объект страницы {1}")
    public static <T extends PageBase> T openPageInNewTab(String url, Class<T> page) {

        Selenide.executeJavaScript("window.open('"+url+"','_blank');");

        switchTo().window(getWebDriver().getWindowHandles().size()-1);

        new WebDriverWait(getWebDriver(), 20)
            .until(webDriver -> ((JavascriptExecutor) webDriver).executeScript("return document.readyState").equals("complete"));

        sleep(5000);//без этого слипа поля нового объекта page будут null

        try {
            return page.newInstance();
        } catch (InstantiationException | IllegalAccessException ex) {
            throw new RuntimeException("Не получилось создать объект страницы " + page.getSimpleName());
        }
    }

Проблема моя заключается в том, что без sleep(5000), все поля возвращаемого объекта page будут null. Хотелось бы избавиться от слипа. Гуглил, и находил на этом форуме такой конструктор класса, для инициализации элементов страницы
 

public SkillServicePage(WebDriver driver){
        PageFactory.initElements(driver, this);
        this.driver = driver;
    }

Вопрос теперь: как вызвать этот конструктор в моём методе ? или есть другой способ инициализации элементов загруженной страницы ? Спасибо



Как выбрать инструмент для тест-автоматизации?
2019-01-11 10:13

Автор: Катрина Клоки (Katrina Clokie).

Оригинал статьи

Перевод: Ольга Алифанова.

 

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

 

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

 



Как убрать capability из тестов?
2019-01-12 09:14

Здравствуйте Есть довольно длинный список capability настраивающих драйвер перед выполнением тестов. Эта портянка, конечно, не сильно мешает жить, но хочется сделать, что-то хорошее )) Можно ли ее убрать в отдельный файл?

 

Я создал файл "chrome.capabilities", скопировал в него capabilities. А что делать дальше?



Организация автоматизированного тестирования API
2019-01-12 14:55

Всем доброго дня. Вопрос по организации тестирования API

 

Дано: есть различные наборы GET/POST методов которые необходимо проверять с разной периодичностью.

Суть проверки простая: отправить запрос убедиться в том что получен нужный код ответ, и тело содержит необходимую информацию.

 

Т.е. получается, что алгоритм действий однотипный : отправили запрос, получили ответ(обработали ответ) = «Один тест» с разными входными данными.

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

 

Если список методов подать через датапровайдер, то в случае падения одного из методов «тест» не остановится пока не прогонит весь список до конца. Но в отчетности (например при использовании Allure) вылезает не только имя метода но и его «порядковый номер» в «списке» датапровайдера. Выглядит примерно так

testOldVersion [17: api/GetObjectsByCorporationId]

testOldVersion [18: api/GetUsersByCorporationId] и.д.

 

А для smoke набора это уже будет как

testOldVersion [3: api/GetObjectsByCorporationId]

testOldVersion [4: api/GetUsersByCorporationId] и.д.

… что вносит путаницу в «отчетность»

 

Может нужно вообще как то по другому организовать? Ни 1 тест + dataprovider, а как то иначе?

Буду рад любому совету. (тесты на java8 + maven + rest assured + jutit4 + allure2)



Новый курс: Cтань прокачанным QA инженером!
2019-01-13 20:23
Коллеги, добрый день!
15 января стартует онлайн-курс - Cтань прокачанным QA инженером!
Курс подойдет как senior QA инженерам, которые хотят систематизировать знания и углубиться в автоматизацию тестирования, познакомиться с docker, git, Jenkins поближе. Так и для людей которые только начинают вникать в QA, так как на курсе мы будем рассказывать все от самых основ, но с практической точки зрения! После каждого урока преподаватель будет задавать домашнее задание и разбирать случайную работу в начале следующего занятия. Курс состоит из 15 LIVE вебинаров, которые будут читать опытные лекторы из разных компаний. Вместе мы разберем множество актуальных тем, некоторые из них:
·             Эволюция тестирования
·             Роль инженера по тестированию в Agile команде
·             Классические методологии разработки
·             Гибкие методологии разработки
·             Виды тестирования
·             Подходы к исследовательскому тестированию
·             Как грамотно составить стратегию тестирования
·             Теория тестирования (от граничных значений до мутационного тестирования)
·             BDD, TDD подходы
·             Эффективное использование системы управления тестированием
·             Как построить грамотный процесс автоматизации тестирования
·             Основы программирования на JAVA
·             Разработка unit, integration автотестов
·             Разработка e2e автоматических тестов для web приложений
·             GIT
·             Selenium Grid
·             Docker
·             Selenide
·             Разработка автоматических тестов для мобильных приложений на JAVA
·             Espresso
·             UIAutomator
·             Настройка Jenkins
 
Прошу вас поддержать наше благородное начинание и поделиться этой информацией с друзьями!
Подробнее на сайте http://geek-gym.ru/
 
Пишите любые вопросы, с удовольствием на все будем отвечать!


Тестирование PUT-запросов
2019-01-14 01:07

Автор: Кристин Джеквони (Kristin Jackvony)

Оригинал статьи

Перевод: Ольга Алифанова.

 

Сегодня мы обсудим тестирование PUT-запросов. В целом они очень похожи на POST-запросы – основное отличие в том, что POST создает новую запись, а PUT заменяют существующую.

Вернемся в Swagger Pet Store, чтобы разобраться, как создавать PUT-запрос. Кликните по запросу PUT /pet, чтобы открыть его:

 

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

 



© 2010 | Software-Testing.Ru


В избранное