2014-09-30 2 views
0

Разработчики организации разработали Rest API, которые предоставляют все пользовательские детали приложения. Мы проводим это тестирование на конкретную среду тестирования и как сейчас я разработал структуру, которая работает поверх селен WebDriver вместе с RestAssured.I'll объяснить, что я сделал в рамках:Лучший способ тестирования API-интерфейсов Rest?

  1. Использования селена WebDriver , frameowork создает все предварительные тестовые данные в приложении (например, тестовые пользователи, admin и т. д.), так как до сих пор приложение не предоставляет API POST.

  2. Использование RestAssured, он проверяет все методы Rest API.

  3. Для управления тестовыми данными структура использует явную базу данных на основе SQLite. Selenium также использует одни и те же данные на основе SQLite для создания тестовых данных при построении.

Проблема, которую я столкнулась:

  1. Управление тестовых данных является немного сложнее, здесь, как приложение имеет слишком много вещей, так что мне пришлось создать несколько таблиц в SQLite и пришлось написать очень сложный запросы.

  2. API предоставляет пользователям приложения функции сортировки, разбивки на страницы, фильтрации, поэтому в случае новых данных в приложении (которых не существует в базе данных SQLite) очень сложно проверить фактический ответ.

  3. Слишком много проблем, но я постараюсь решить это самостоятельно.

Для экземпляра, если я хочу проверить функцию сортировки, сначала сортирую его по SQL-запросам, а затем сравниваю его с фактическим ответом. В случае новых данных данные, которые сортируются по запросу sql, не соответствуют фактическому ответу, поэтому он имеет тенденцию к отказу в тестовом случае, в то время как нет ничего плохого.

Любое предложение, как я могу разработать структуру, которая позаботится о создании тестовых данных с помощью теста api.

ответ

1

Priyanshu, я просто хочу убедиться, что я это понимаю. Во-первых, вместо WebDriver, не поддерживающего POST-запросы к вашему RESTful API для создания ваших тестовых данных, вы делаете прямые SQL-запросы. Во-вторых, когда вы тестируете функцию сортировки через пользовательский интерфейс с помощью WebDriver, вы не получаете совпадений с вашими тестами, которые также выполняют прямые SQL-запросы.

Итак, мой вопрос: не интерфейс интерфейсов (сортировка, разбиение на страницы и т. Д.) Диктует, что будет делать запрос REST GET? Поскольку у вас уже есть REST API, я думаю, что вам может потребоваться изучить другой инструмент, а не устранить пробел, выполняющий утверждения против необработанных SQL-запросов и инструмент тестирования на основе браузера, который не создает прямых подключений к базе данных (поскольку это просто симулятор веб-браузера).

Если вы хотите протестировать API, используйте инструмент тестирования API, такой как Runscope - http://runscope.com. Вы можете определить тест с несколькими запросами API (например, один для POST новых данных с использованием REST API, другой - для получения данных с любыми параметрами/параметрами сортировки/разбивки на страницы и т. Д.) И простых утверждений для проверки данных.

Смежные вопросы