Gatling for Load Tests part 4
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
โครงสร้าง
ไม่รอช้า เข้าไปที่โปรเจกต์นี้
cd hello
แล้วสั่งเข้า sbt mode
sbt
ตามด้วย
run
ทีนี้ลอง
test
และออกจาก 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