Gatling for Load Tests part 4

Phai Panda
3 min readSep 19, 2019

--

Gatling by sbt (build tool for Scala, Java and more)

Installation

มีหลากหลายวิธีในการเริ่มต้น Gatling ครับ

ไม่ว่าจะเป็น Maven, Sbt, Gradle หรือจะใช้ IDE โดยหนนี้จะมาแนะนำ Sbt แทนการใช้ IDEA (จาก part ก่อน)

รู้จักกับ Sbt

มันคือ build tool สำหรับ Scala, Java และอื่นๆเพื่อทำเรื่อง Test โดยเฉพาะ

ให้ตรงไปยังหัวข้อ Demo sample เพราะเราต้องการรีบใช้ไวๆ

ในนี้แสดงให้เห็นว่าโครงสร้างโปรเจกต์ของ sbt ประกอบได้วย

project, src และ build.sbt

โดยภายใน project folder ประกอบด้วย build.properties และ plugins.sbt

ส่วนภายใน src folder ประกอบด้วย package (ตั้งตามใจชอบ) และ test folder

ภายใน test folder ประกอบด้วย resources และ scala folders

ที่น่าสนใจคือ scala folder ประกอบด้วย package (ตั้งตามใจชอบ)

ติดตั้ง Sbt

ค้น google ด้วยคำว่า

sbt test framework

จะพบกับ

ให้มองหา Download ก็จะพบกับหน้านี้

ผมจึงติดตั้งด้วย brew

brew install sbt@1

เริ่มต้น Sbt

หลังจากติดตั้ง sbt สำเร็จแล้ว ตัว build tool ได้เตรียมวิธีการ say Hello แบบเร่งด่วนมาให้ ฉะนั้นจัดเตรียมแหล่งพื้นที่ที่ต้องการแล้วพิมพ์

sbt new sbt/scala-seed.g8

ให้มันโหลดและจัดการตัวเองสักพักใหญ่ จากนั้นมันจะถามหาชื่อโปรเจกต์ที่ต้องการให้สร้าง ซึ่งพิมพ์ไปก็ไม่เห็นอะไร แต่ผมพิมพ์ไปว่า hello

ms visual studio code terminal

โครงสร้าง

ไม่รอช้า เข้าไปที่โปรเจกต์นี้

cd hello

แล้วสั่งเข้า sbt mode

sbt
sbt mode

ตามด้วย

run
working in src/main/scala

ทีนี้ลอง

test
working in src/test/scala

และออกจาก sbt mode

exit

เริ่มต้น Gatling กับ Sbt

ตรงไปยัง src/test/scala แล้วสร้าง folder ชื่อ mygatling ภายในนี้สร้างคลาส FirstTest.scala

แน่นอนว่าโปรเจกต์ด้วย sbt ข้างต้นนี้ยังไม่รู้จัก Gatling เหตุนี้เราจึงต้องกลับไปที่หัวข้อ Demo sample ของ Gatling อีกครั้งเพื่อ config ให้เรียบร้อย

ไฟล์ build.sbt ตามนี้

project folder ไฟล์ build.properties ตามนี้

sbt.version=1.2.8

project folder สร้างไฟล์ชื่อ plugins.sbt เนื้อหาตามนี้

addSbtPlugin("io.gatling" % "gatling-sbt" % "3.0.0")

*เพิ่มเติมที่ folder ของโปรเจต์ จะสร้างไฟล์ .gitignore ด้วยก็ได้ (ถ้าต้องการใช้ Git)

สำเร็จแล้วให้ออกจาก sbt mode ก่อน (ถ้ายังไม่ได้ออก) เสร็จแล้วกลับเข้าไปใน sbt mode อีกครั้งเพื่อให้เกิดการโหลด Libraries

รันทดสอบ

gatling:test

หรือกำหนดเป็นรายตัว

gatling:testOnly mygatling.FirstTest

ผลลัพธ์

พังเพราะไม่รู้จัก ดังนั้นลบ example folder และไฟล์ HelloSpec.scala ออก

รัน gatling:test ใหม่

ลองรัน gatling:testOnly mygatling.FirstTest

งดงามมาก

part ถัดไปเราจะเริ่มดูคำสั่งที่เกี่ยวกับการ laod users เพื่อจําลองสถานการณ์กันครับ

อ่านต่อ part 5

--

--

No responses yet