Читать книгу «Практическое руководство по тестированию приложений с помощью Python и Robot Framework» онлайн полностью📖 — Программиста — MyBook.
image

Глава 2. Основы тестирования с помощью Robot Framework

2.1. Создание первого теста

В предыдущей главе мы познакомились с основными понятиями тестирования приложений и узнали, как установить необходимые инструменты для работы Python Robot Framework. Теперь пришло время создать наш первый тест.

Зачем нам нужен тест?

Прежде чем мы начнем создавать тест, давайте разберемся, зачем нам это нужно. Тестирование – важнейшая часть разработки приложений, поскольку оно позволяет убедиться, что наш код работает правильно и не содержит ошибок. Тесты помогают нам:

Убедиться, что приложение работает как ожидается

Найти и исправить ошибки на ранней стадии разработки

Уменьшить количество ошибок и багов в приложении

Повысить качество и надежность приложения

Создание первого теста

Для создания первого теста нам понадобится простой пример приложения, которое мы можем протестировать. Давайте создадим простое приложение, принимает имя пользователя и выводит приветствие.

```python

greeting.py

def greet(name):

return f"Привет, {name}!"

```

Теперь мы можем создать тест для этого приложения с помощью Robot Framework. Создайте новый файл именем `greeting_test.robot` и добавьте следующий код:

```robot

greeting_test.robot

Settings

Library greeting

Test Cases

Тестирование приветствия

${result} = Greet Иванов

Should Be Equal ${result} Привет, Иванов!

```

В этом тесте мы вызываем функцию `Greet` из нашего приложения и проверяем, что результат равен ожидаемому значению.

Запуск теста

Чтобы запустить тест, нам нужно выполнить команду `robot` в терминале, указав путь к нашему тестовому файлу:

```

robot greeting_test.robot

```

Если все прошло успешно, мы увидим сообщение о том, что тест прошел успешно.

Вывод

В этой главе мы создали наш первый тест с помощью Robot Framework и Python. Мы узнали, зачем нам нужен тест, как создать простой для приложения. следующей рассмотрим более сложные примеры тестирования узнаем, использовать веб-приложений.

2.2. Основные команды и ключевые слова

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

Команды для работы с переменными

В Robot Framework переменные используются для хранения и манипулирования данными. Для работы с переменными следующие команды:

`Set Variable`: устанавливает значение переменной.

`Get Variable Value`: возвращает значение переменной.

`Variable Should Exist`: проверяет, существует ли переменная.

Пример использования команды `Set Variable`:

```robot

Variables

${username} = John Doe

Test Cases

Тестовый сценарий

Set Variable ${username} Jane Doe

Log ${username}

```

В этом примере мы устанавливаем значение переменной `${username}` равным `John Doe`, а затем меняем его на `Jane Doe` с помощью команды `Set Variable`. После этого выводим в лог `Log`.

Команды для работы со строками

Для работы со строками в Robot Framework используются следующие команды:

`String Should Be Equal`: проверяет, равны ли две строки.

`String Should Contain`: проверяет, содержит ли строка определенный текст.

`String Should Not Contain`: проверяет, не содержит ли строка определенный текст.

Пример использования команды `String Should Be Equal`:

```robot

Test Cases

Тестовый сценарий

${string1} = Set Variable Hello World

${string2} = Set Variable Hello World

String Should Be Equal ${string1} ${string2}

```

В этом примере мы сравниваем две строки `${string1}` и `${string2}` с помощью команды `String Should Be Equal`. Если равны, тест проходит успешно.

Команды для работы с числами

Для работы с числами в Robot Framework используются следующие команды:

`Number Should Be Equal`: проверяет, равны ли два числа.

`Number Should Be Greater Than`: проверяет, больше ли одно число другого.

`Number Should Be Less Than`: проверяет, меньше ли одно число другого.

Пример использования команды `Number Should Be Equal`:

```robot

Test Cases

Тестовый сценарий

${number1} = Set Variable 10

${number2} = Set Variable 10

Number Should Be Equal ${number1} ${number2}

```

В этом примере мы сравниваем два числа `${number1}` и `${number2}` с помощью команды `Number Should Be Equal`. Если равны, тест проходит успешно.

В этой главе мы рассмотрели основные команды и ключевые слова, которые используются в тестировании приложений с помощью Robot Framework. следующей рассмотрим более сложные темы, такие как работа таблицами списками.

2.3. Работа с переменными и данными

В предыдущих главах мы познакомились с основными концепциями Robot Framework и научились создавать простые тестовые сценарии. Теперь пришло время поговорить о работе переменными данными, что является важнейшим аспектом автоматизированного тестирования.

Переменные в Robot Framework

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

Существует несколько типов переменных в Robot Framework:

Скалярные переменные: это переменные, которые хранят одно значение. Пример: `${имя_переменной} = 10`

Списковые переменные: это переменные, которые хранят список значений. Пример: `@список_переменных = [1, 2, 3]`

Словарные переменные: это переменные, которые хранят словарь значений. Пример: `&словарь_переменных = {'ключ': 'значение'}`

Использование переменных в тестовых сценариях

Переменные можно использовать в тестовых сценариях для хранения значений, которые будут использоваться тестах. Например, мы можем создать переменную `${имя_пользователя}`, которая будет хранить имя пользователя, которое тесте.

```robot

Variables

${имя_пользователя} = Иванов

Test Cases

Тестовый сценарий

Открыть страницу входа

Ввести имя пользователя ${имя_пользователя}

Ввести пароль

Нажать кнопку входа

```

Работа с данными

В Robot Framework данные можно хранить в различных форматах, таких как CSV, JSON, XML и другие. Мы можем использовать библиотеки, такие `csv` `json`, для работы с данными.

Например, мы можем хранить данные в CSV-файле и использовать их тестовом сценарии.

```robot

Variables

${данные_пользователя} = Get Data From CSV данные_пользователя.csv

Test Cases

Тестовый сценарий

Открыть страницу входа

Ввести имя пользователя ${данные_пользователя}[0]

Ввести пароль ${данные_пользователя}[1]

Нажать кнопку входа

```

Вывод

В этой главе мы познакомились с работой переменными и данными в Robot Framework. Мы научились создавать переменные, использовать их тестовых сценариях работать различных форматах. Это знание поможет нам более сложные эффективные тестовые сценарии.

В следующей главе мы познакомимся с библиотеками и ключевыми словами, которые используются в Robot Framework для работы веб-приложениями.

Глава 3. Тестирование веб-приложений

3.1. Тестирование веб-страниц

В предыдущих главах мы рассмотрели основы тестирования приложений с помощью Python и Robot Framework. Теперь давайте перейдем к более конкретной теме – тестированию веб-страниц. Веб-страницы являются важной частью многих приложений, их правильная работа имеет решающее значение для обеспечения качества надежности всего приложения.

Зачем тестировать веб-страницы?

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

Неправильная отрисовка элементов

Некорректная работа форм и кнопок

Неправильные ссылки и переходы

Проблемы с доступностью и юзабилити

Инструменты для тестирования веб-страниц

Для тестирования веб-страниц можно использовать различные инструменты, включая:

Selenium WebDriver: популярный инструмент для автоматизированного тестирования веб-страниц, который позволяет имитировать действия пользователя в браузере.

Robot Framework: наш любимый фреймворк для тестирования, который также поддерживает тестирование веб-страниц с помощью Selenium WebDriver.

Pytest: популярный фреймворк для тестирования Python, который также может быть использован веб-страниц.

Пример тестирования веб-страницы с помощью Robot Framework

Давайте рассмотрим пример тестирования веб-страницы с помощью Robot Framework и Selenium WebDriver. Предположим, у нас есть веб-страница формой входа, мы хотим протестировать, что форма работает корректно.

```python

Settings

Library SeleniumLibrary

Test Cases

Тестирование формы входа

Открыть браузер Chrome

Перейти на страницу https://example.com/login

Ввести текст в поле username testuser

Ввести текст в поле password testpassword

Нажать кнопку Login

Проверить, что страница содержит текст Вы успешно вошли в систему

Закрыть браузер

```

В этом примере мы используем SeleniumLibrary для открытия браузера, перехода на страницу, ввода текста в поля и нажатия кнопки. Затем проверяем, что страница содержит ожидаемый текст.

Вывод

Тестирование веб-страниц является важной частью обеспечения качества и надежности приложений. С помощью инструментов, таких как Selenium WebDriver Robot Framework, мы можем автоматизировать тестирование выявить ошибки проблемы на ранней стадии разработки. В следующей главе рассмотрим более сложные темы тестирования веб-страниц, такие AJAX мобильных

3.2. Тестирование форм и ввода данных

В предыдущей главе мы рассмотрели основные принципы тестирования веб-приложений с помощью Robot Framework. Теперь давайте погрузимся в более детальное изучение форм и ввода данных, которое является одним из наиболее важных аспектов функционального тестирования.

Формы и ввод данных являются неотъемлемой частью большинства веб-приложений. Они позволяют пользователям вводить информацию, которая затем обрабатывается сохраняется приложением. Однако, если формы не тестируются должным образом, это может привести к ошибкам уязвимостям в приложении.

Конец ознакомительного фрагмента.