Теперь Кью работает в режиме чтения

Мы сохранили весь контент, но добавить что-то новое уже нельзя

Какие фреймворки для автоматизации тестирования наиболее популярны и удобны?

ПрограммированиеТестировщик+1
Виктор Огай
  ·   · 624
Образовательная платформа Хекслет  · 27 сент 2021  · ru.hexlet.io
Для тестирования наиболее популярные и удобные фреймворки, предоставляющие интерфейс близкий к пользователю или решающий конкретную задачу. Рекомендовать вам что-то конкретное на основе вашего вопроса не получится, но разберём три инструмента из веб-разработки:
Codeception и CodeceptJS - фреймворк для тестирования веб-приложений. Основной фреймворк написан на PHP и есть его "форк" на JavaScript. Данный фреймворк позволяет описывать сценарии тестирования "человеческим" языком и не привязываться к деталям реализации. Посмотрим на пример теста:
// обычно тесты пишутся на английском языке
// но так тоже можно
Сценарий('пробую написать реферат', (Я) => {
    Я.на_странице('[http://yandex.ru/referats](http://yandex.ru/referats)');
    Я.вижу("Написать реферат по");
    Я.выбираю_опцию('Психологии');
    Я.кликаю("Написать реферат");
    Я.вижу("Реферат по психологии");
});
Довольно близко к пользователю, понятно что происходит. А благодаря тому, что фреймворк не привязан к конкретной технологии, можно применить его к широкому спектру задач.
Яндекс.Танк - довольно популярный инструмент для нагрузочного тестирования. Популярный инструмент и достаточно удобный - установка, конфиг, запуск. Вот выдержка из документации:
Ну и напоследок Testing Library для тестирования фронтенда. Этот код тестов пишется непосредственно вместе с кодом приложения. Фреймворк предлагает писать тесты исходя из доступности интерфейсов, в результате чего большое внимание уделяется ролям. Под капотом у него используется фреймворк Jest, который включает в себя утверждения и тестовую среду. Пример кода на TL:
test('loads and displays greeting', async () => {
  render(<FetchGreeting />) // отрисовка React-компонента

  [userEvent.click](http://userEvent.click)(screen.getByText('Load Greeting'))

  await screen.findByRole('heading')

  expect(screen.getByRole('heading')).toHaveTextContent('hello there')
  expect(screen.getByRole('button')).toHaveAttribute('disabled')
})
Для тех, кто не знаком с JavaScript и проблемой тестирования фронтенда, код может показаться сложным. Но будучи разработчиком, с задачей тестирования своего кода, этот инструмент здорово упрощает задачу.
----
Таким образом, можно резюмировать, что для каждой задачи есть свой инструмент. В каждой области популярны решения, которые ближе к решаемой задаче и проще в эксплуатации.
Помогаем новичкам освоить профессию веб-разработчикаПерейти на ru.hexlet.io/webinars
1 эксперт согласен
ответ в рамках заданного вопроса…
отвечу кратко: все зависит от настроения.   · 25 сент 2021
Я использую свои решения на базе допиленных опенсурс разработок . Работая с python, вполне хватало ресурсов django rest framework. Вот так примерно.