Проводится интеграция простой автоматизированной системы тестирования, которая позволяет осуществлять полную запись онлайн-трафика. В настоящее время поддерживается выборка данных из MySQL, в будущем планируется поддержка ES, Kafka, RocketMQ и других систем. В следующей версии будет рассмотрена поддержка теневых библиотек.
Добавить модуль BSF в зависимости проекта.
<dependency>
<artifactId>free-bsf-core</artifactId>
<groupId>com.free.bsf</groupId>
<version>1.7-SNAPSHOT</version>
</dependency>
<dependency>
<artifactId>free-bsf-autotest</artifactId>
<groupId>com.free.bsf</groupId>
<version>1.7-SNAPSHOT</version>
</dependency>
Конфигурация BSF
spring.application.name=free-demo-provider
# Переключатель для включения одним щелчком мыши, по умолчанию false, вступает в силу после перезапуска
autotest.enabled=false
# Включить ли запись трафика, по умолчанию false, переключатель реального времени вступает в силу
autotest.record.enabled=false
# Тип класса упаковки запроса записи, поддерживает AutoTestCachedRequestWrapper (поддерживает только json) или AutoTestContentCachingRequestWrapper (совместимый с различными типами данных)
autotest.record.wrapperType=AutoTestCachedRequestWrapper
# Частота записи, по умолчанию 1, то есть 1:1 запись; <=0 означает, что сбор не производится; вступает в силу в реальном времени
autotest.record.frequency=1
# Пропустить часть URL при записи, поддержка префикса * и суффикса * для сопоставления с подстановочными знаками, поддержка разделения нескольких URL запятыми, по умолчанию пусто
autotest.record.skip.urls=
# Максимальное количество пакетов кэша при пакетной записи, по умолчанию 5000
autotest.record.cache.max=5000
# Для микросервисов, включить ли отслеживание цепочки вызовов при записи трафика, поддерживать только вызовы feign http; после включения заголовок http будет содержать autotest-traceid
autotest.traceid.enabled=true
# При записи трафика автоматически определять, является ли операция только запросом или операцией, в настоящее время поддерживает только обнаружение sql в среде mybatis; insert, update, delete считаются операциями
autotest.operatortype.enabled=false
# Период обновления постоянного хранения записанного трафика, единица измерения - мс, по умолчанию - 5000 мс
autotest.store.flush.timespan=5000
# Тип хранилища записанного трафика, по умолчанию mysql, в будущем поддержит es, kafka, rocketmq
autotest.store.type=mysql
### Хранилище mysql
autotest.store.mysql.driver=com.mysql.cj.jdbc.Driver
# Обратите внимание на включение: rewriteBatchedStatements=true
autotest.store.mysql.url=jdbc:mysql://{заполнить информацию о db}:3306/autotest?useSSL=false&serverTimezone=Asia/Shanghai&autoReconnect=true&rewriteBatchedStatements=true
autotest.store.mysql.user={заполнить имя пользователя}
autotest.store.mysql.password={заполнить пароль}
# Включать ли атрибут аннотации, после включения информация об атрибутах будет синхронизирована с файлом образца
autotest.attribute.enabled=false
# Окружающая среда BSF, обычно используется вместе с атрибутом аннотации
bsf.env=dev
Интерфейс конфигурации BSF для атрибутов аннотаций Объяснение полей аннотаций:
// Пример, информация аннотации будет отображаться в образце автотеста и отчёте о тестировании, без аннотации это не повлияет на запись трафика API.
@PostMapping("/test")
@AutoTestAttribute(author = "川乌",apiType = Attributes.ApiTypeEnum.OPERATOR, test = Attributes.TestEnum.NEED,level = Attributes.LevelEnum.CORE, extMap = "{'aaa':'bbb'}")
public ApiResponseEntity<String> test(String str) {
return ApiResponseEntity.success("ok");
}
by 车江毅
Вы можете оставить комментарий после Вход в систему
Неприемлемый контент может быть отображен здесь и не будет показан на странице. Вы можете проверить и изменить его с помощью соответствующей функции редактирования.
Если вы подтверждаете, что содержание не содержит непристойной лексики/перенаправления на рекламу/насилия/вульгарной порнографии/нарушений/пиратства/ложного/незначительного или незаконного контента, связанного с национальными законами и предписаниями, вы можете нажать «Отправить» для подачи апелляции, и мы обработаем ее как можно скорее.
Опубликовать ( 0 )