Перевод статьи подготовлен в преддверии старта курса «Нагрузочное тестирование».
Предисловие
Недавно, благодаря комментарию одного из студентов, изучающих мой курс Gatling Fundamentals, я узнал о том, что вы можете создавать Gatling скрипты с помощью Visual Studio Code. Я, честно говоря, понятия не имел, что это возможно, — но был приятно удивлен, обнаружив, насколько хорошо это работает!
В этом посте мы рассмотрим, как настроить вашу среду разработки Gatling скриптов в VS Code. Мы рассмотрим инструменты сборки Maven и SBT.
Установка Metals
Первое, что нужно сделать, планируете ли вы работать с Maven или SBT, это установить плагин Scala Metals внутри VS Code. Этот плагин позволит языковому серверу Scala работать в VS Code и предоставит типичные функции, которые вы ожидаете от современного IDE.
Установите плагин из VS Code самым стандартным способом, перейдя на вкладку Extensions
и выполнив поиск Scala
(Metals):
Имея установленный Metals, давайте сначала посмотрим, как запустить Gatling в VS Code с помощью Maven.
Gatling VScode с Maven
Во-первых, вам нужно установить Maven — вы можете скачать Maven с официального сайта и следовать инструкциям по установке на его странице.
Затем установите плагин Maven for Java внутри VS Code:
По-прежнему внутри VS Code, откройте Command Pallette (View > Command Pallette)
и выберите Maven: Update Maven Archetype Catalog
:
Как и следовало ожидать, это обновит каталог доступных архетипов Maven.
Теперь мы хотим создать новый проект Gatling из архетипа Gatling Maven. Для этого сначала откройте Command Pallette
и выберите Maven: Create Maven Project
. При выборе архетипа, нажмите more
. Введите Gatling
, после чего должен появиться архетип Gatling. Дальше смотрите видео ниже:
Сохраните проект в подходящем месте на вашем компьютере. Затем откройте проект как обычно в VS Code. Возможно, на этом этапе вам придется импортировать сборку. Для этого перейдите на вкладку Metals в VS Code и нажмите Import Build
:
Это заставит Maven собрать ваш проект.
Теперь самым ординарным способом добавьте свой код Gatling симуляции. Если вы просто следуете моему примеру и вам нужен пример Gatling скрипта, вы можете использовать этот базовый скрипт ниже:
package computerdatabase
import io.gatling.core.Predef._
import io.gatling.http.Predef._
import scala.concurrent.duration._
class BasicSimulation extends Simulation {
val httpProtocol = http
.baseUrl("http://computer-database.gatling.io")
// Здесь находится корень для всех относительных URL
.acceptHeader(
"text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8"
// Вот общие заголовки
.acceptEncodingHeader("gzip, deflate")
.acceptLanguageHeader("en-US,en;q=0.5")
.userAgentHeader(
"Mozilla/5.0 (Macintosh; Intel Mac OS X 10.8; rv:16.0) Gecko/20100101 Firefox/16.0"
)
val scn =
scenario("Scenario Name") // A scenario is a chain of requests and pauses
.exec(
http("request_1")
.get("/")
)
.pause(7) // Note that Gatling has recorder real time pauses
setUp(scn.inject(atOnceUsers(1)).protocols(httpProtocol))
}
Чтобы запустить скрипт, откройте терминал в VS Code, и введите mvn gatling:test
. Если вы хотите запустить определенный тестовый сценарий, вы можете вместо этого выполнить
mvn gatling:test -Dgatling.simulationClass=computerdatabase.BasicSimulation
Советую вам узнать больше о плагине Gatling Maven.
Gatling VScode с SBT
Если вы предпочитаете запускать и создавать свои Gatling проекты с помощью Scala Build Tool (SBT), я считаю, что проще всего сначала клонировать проект Gatling SBT Plugin Demo.
Как только вы клонировали проект, откройте его как обычно в VS Code. Перейдите на вкладку Metals в VS Code и нажмите Import Build
:
VS Code теперь должен собрать ваш проект Gatling с помощью SBT.
Чтобы запустить все тесты в вашем проекте, откройте терминал и введите sbt gatling:test
. Или же чтобы запустить конкретный тестовый скрипт, вы можете выполнить команду sbt gatling:testOnly computerdatabase.BasicSimulation
.
Вы можете узнать больше о плагине Gatling SBT в его документации.
Резюме
В этой статье мы узнали, как использовать Visual Studio Code для создания наших Gatling скриптов. Мы рассмотрели, как создать и запустить Gatling проект с инструментами сборки Maven и SBT.
Несмотря на то, что IntelliJ IDEA остается моей предпочтительной средой разработки для разработки кода Scala и Gatling, здорово иметь возможность использовать и более популярный VS Code!
Узнать подробнее о курсе «Нагрузочное тестирование»