Самым большим преимуществом Charles является анализ перехвата пакетов, и большинство используемых нами функций также основаны на функции перехвата пакетов, но не забывайте, что Charles также может выполнять тестирование интерфейса. Что касается Mock, то он фактически был введен при изменении данных запросов и ответов. Брат Хонг здесь, чтобы кратко представить свои теоретические знания. Сегодня мы в основном представляем и делимся практическими операциями тестирования интерфейса с использованием Charles.
В энциклопедии Baidu говорится следующее: Макетное тестирование — это метод тестирования, в котором виртуальный объект используется для создания метода тестирования для определенных объектов, которые нелегко создать или получить в процессе тестирования.
Mock означает, что в процессе тестирования для некоторых объектов, которые сложно создать/получить, создается Mock-объект для имитации поведения объекта.
Метод Mock — распространенная технология модульного тестирования. Его основная функция — моделировать некоторые объекты, которые сложно создать или которые являются относительно сложными в приложении, тем самым изолируя тест от объектов за пределами границ теста.
В процессе разработки, пока взаимодействующие стороны определяют интерфейс, команды могут работать параллельно, процессы не влияют друг на друга, и нет необходимости ждать прогресса друг друга. Вам нужно только согласовать взаимные данные. спецификации (документы интерфейса), и вы можете использовать макеты для сборки. Определите доступные интерфейсы, а затем как можно скорее разработайте и выполните самотестирование, чтобы заранее обнаружить дефекты.
Модульное тестирование является краеугольным камнем реализации TDD, и TDD часто сталкивается с ситуациями, когда модули для совместной работы еще не разработаны. Однако с помощью макетов тестировщики могут получить доступ к тестированию заранее, что повышает эффективность тестирования. После определения интерфейса тестировщики могут создать макет. добавляет интерфейс в среду автоматизированного тестирования и заранее создает тесты.
Если интерфейс включает входные параметры или бизнес-логика сложна, некоторые сценарии невозможно реализовать обычными средствами. Однако с помощью имитации виртуального моделирования можно эффективно расширить охват.
Если интерфейс возвращает разные значения в разных состояниях, общий подход состоит в том, чтобы воспроизвести это состояние, а затем запросить интерфейс. Однако при использовании определенных интерфейсов может произойти сбой из-за неправильного времени или метода работы и даже загрязниться обратная связь. конечное хранилище. Например, базы данных и т. д., чтобы избежать загрязнения системной базы данных, интерфейс можно настроить в режим Mock, чтобы обеспечить чистоту базы данных.
Mock — не панацея, и использование Mock сопряжено с риском. Вам нужно решить, использовать ли Mock, исходя из реальной ситуации и конкретных потребностей проекта.
Если в процессе тестирования используется большое количество макетов, сценарии макетного тестирования теряют свою аутентичность, что может привести к тому, что ошибки будут обнаружены только в последующих систематических тестах, что приведет к обнаружению дефектов позже, что может привести к увеличению затрат на последующий ремонт.
Документы интерфейса подключены, но внутренний интерфейс еще не разработан. Тестировщикам необходимо заранее выполнить модульное тестирование или автоматическое тестирование интерфейса, а также использовать макетный контент, возвращаемый различными запросами.
Когда фронтенд-персонал выполнил задачи по разработке, но бэк-энд-персонал еще не завершил разработку и разработку интерфейса, и им необходимо совместно провести тестирование с фронтенд-персоналом, им необходимо создать Mock-сервис.
Ладно, на этом знакомство с теорией Mock. Если вам интересно, можете проверить информацию приватно. Далее давайте перейдем к сегодняшней теме: использованию Charles для тестирования интерфейса.
Для тестирования с помощью Charles мы в основном используем функцию Composer. Это похоже на инструмент Fiddler. Composer позволяет отправлять на сервер собственные запросы, а новый запрос можно создать вручную. Конкретные шаги заключаются в следующем:
1.Откройте Чарльза,Нажмите【Tools】-->【Compose】или【Compose New...】 . Как показано ниже:
2. Заполните информацию об интерфейсе, который вы хотите протестировать. Если есть документ интерфейса, заполните его в соответствии с документом интерфейса. Если нет, просто запишите пакет и заполните его самостоятельно, как показано на следующем рисунке:
1. Выберите захваченную информацию запроса интерфейса.,Щелкните правой кнопкой мыши-->【Compose】,Как показано ниже:
2. Появится информация, связанная с запросом интерфейса. Как показано ниже:
Опишите функции интерфейса Composer согласно отмеченным позициям на рисунке ниже.
1. Метод запроса: нажмите, чтобы выбрать протокол запроса: получение, отправку и т. д.
2.адресная строка URL: введите запрошенный URL-адрес.
3. Нажмите кнопку «Выполнить», чтобы выполнить запрос.
4. После завершения выполнения в области «История» справа будет создана запись истории.
5.http-версия: вы можете проверить http-версию.
6. Добавьте параметры запроса
В настоящее время сложно найти бесплатные интерфейсы. После долгих поисков я нашел один в Python. Раньше я также использовал его в Fiddler. Давайте использовать это в качестве примера.
Информация об интерфейсе:
Информация об интерфейсе | описывать |
---|---|
https://httpbin.org/post | адрес интерфейса |
Метод запроса | HTTP POST |
Параметры запроса | Параметры Формат запроса JSON |
Формат параметра:
{
"form": {
"comments": "Пекин ХонгеpostТестирование интерфейса",
"custemail": "19182XX@qq.com",
"custname": "Пекин Хонге",
"custtel": "13045032408",
"delivery": "15:45"
}
}
Итак, как использовать Charles для отладки запроса POST с данными в формате json. Конкретные шаги заключаются в следующем:
1. Запустите Charles и откройте панель «Создание». Введите URL-адрес на новой панели «Создание» (введите адрес интерфейса запроса) и выберите «Метод POST» в раскрывающемся списке. запроса,Как показано ниже:
2. После нажатия [Написать], как показано на рисунке ниже:
3. Нажмите [Текст JSON], затем введите запрошенные данные JSON и, наконец, нажмите [Выполнить], как показано на рисунке ниже:
4. Нажмите «Выполнить». Если вы видите результат в списке сеансов и возвращаете 200, это означает, что операция прошла успешно, как показано на рисунке ниже:
5. Просмотрите результат ответа на запрос в Инспекторах.,Мы заранее знаем, что интерфейс возвращает данные в формате json.,Нажмите json в части ответа, чтобы отформатировать данные.,Легко читать. Как показано ниже:
Информация об интерфейсе: параметризованный get Запрос, например поиск по Douban: Journey to the West, url Адрес: https://www.douban.com/search?q=Путешествие на Запад. Конкретные операции показаны на рисунке ниже:
1. Запустите Charles и откройте панель «Создание». Введите URL-адрес на панели «Композитор» и выберите GETМетод в раскрывающемся списке. запроса,Как показано ниже:
2. Введите параметры интерфейса запроса, как показано на рисунке ниже:
3. Нажмите «Выполнить». Если вы видите результат в списке сеансов и возвращаете 200, это означает, что операция прошла успешно, как показано на рисунке ниже:
Сегодня я в основном объясняю и рассказываю, как использовать Charles для проведения Тестирования. Два вида метода в интерфейсе запроса,Остальные запросы аналогичны! ! ! хорошо,Сегодня еще не рано,Брат Хун объяснит и поделится здесь.,Спасибо за ваше терпение при чтении! ! !