Tôi đang cố gắng mô đun hóa một loạt các thử nghiệm hiệu suất trong Gatling.Các kịch bản mô phỏng để chạy theo trình tự bằng cách sử dụng Gatling
Một số thử nghiệm thực thi cùng một đường dẫn ban đầu thông qua các trang, vì vậy tôi nghĩ rằng tôi có thể chia nhỏ chúng thành một loạt các kịch bản, mỗi kịch bản là một loạt các hành động được chia sẻ được xác định trong tệp riêng của nó. Định nghĩa mô phỏng chỉ đơn giản là thực thi các kịch bản được chỉ định sau cái khác.
Điều tôi cần là để Mô phỏng chạy các kịch bản đó theo thứ tự; nhưng tôi chỉ có thể tìm cách chạy chúng đồng thời, hoặc với độ trễ được chỉ định giữa mỗi lần. Có tùy chọn Thiết lập mô phỏng nào để chạy các kịch bản được xác định sau cái khác mà không xác định độ trễ tùy ý không?
EDIT
Hiện nay, tôi đã sau đây tập hợp các tập tin:
homepageHeaders.scala
package advanced
object homepageHeaders {
val homepage_headers_1 = Map(
"Accept" -> """text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8""",
"If-Modified-Since" -> """Wed, 20 Mar 2013 15:36:31 +0000""",
"If-None-Match" -> """"1363793791""""
)
}
homepageChain.scala
package advanced
import com.excilys.ebi.gatling.core.Predef._
import com.excilys.ebi.gatling.http.Predef._
import com.excilys.ebi.gatling.jdbc.Predef._
import akka.util.duration._
import homepageHeaders._
object homepageChain {
val homepageChain =
//Homepage
exec(http("homepage")
.get("/")
.headers(homepageHeaders.homepage_headers_1)
)
}
pageHeaders.scala
012.351.package advanced
object pageHeaders {
val page_headers_1 = Map(
"Accept" -> """text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8"""
)
}
pageChain.scala
package advanced
import com.excilys.ebi.gatling.core.Predef._
import com.excilys.ebi.gatling.http.Predef._
import com.excilys.ebi.gatling.jdbc.Predef._
import akka.util.duration._
import pageHeaders._
object pageChain {
val pageChain =
//Page Menu
exec(http("page request")
.get("/page1")
.headers(pageHeaders.page_headers_1)
)
}
pageSimulation.scala
package advanced
import com.excilys.ebi.gatling.core.Predef._
import com.excilys.ebi.gatling.http.Predef._
import com.excilys.ebi.gatling.jdbc.Predef._
import homepageChain._
import pageChain._
class pageSimulation extends Simulation {
val urlBase = "http://www.mytestsite.com"
val httpConf = httpConfig
.baseURL(urlBase)
.acceptHeader("image/png,image/*;q=0.8,*/*;q=0.5")
.acceptEncodingHeader("gzip, deflate")
.acceptLanguageHeader("en-gb,en;q=0.5")
.userAgentHeader("Mozilla/5.0 (Windows NT 6.1; WOW64; rv:17.0) Gecko/20100101 Firefox/17.0")
val pageScenario = scenario("Bodycare Scenario")
.exec(homepageChain.homepageChain)
.exec(pageChain.pageChain)
setUp(
homepageScenario.users(1).protocolConfig(httpConf)
)
}
Các lỗi mà tôi nhận được là:
14:40:50.800 [ERROR] c.e.e.g.a.ZincCompiler$ - /Gatling/user-files/simulations/advanced/pageChain.scala:13: not found: value exec
14:40:50.807 [ERROR] c.e.e.g.a.ZincCompiler$ - exec(http("page request")
14:40:50.808 [ERROR] c.e.e.g.a.ZincCompiler$ - ^
14:40:53.988 [ERROR] c.e.e.g.a.ZincCompiler$ - /Gatling/user-files/simulations/advanced/homepageChain.scala:13: not found: value exec
14:40:53.989 [ERROR] c.e.e.g.a.ZincCompiler$ - exec(http("homepage")
14:40:53.989 [ERROR] c.e.e.g.a.ZincCompiler$ - ^
14:41:17.274 [ERROR] c.e.e.g.a.ZincCompiler$ - two errors found
Exception in thread "main" Compilation failed
Rõ ràng tôi là thiếu một cái gì đó trong tôi định nghĩa, nhưng tôi chỉ không hiểu nó là gì
tôi có thể thấy các nguyên tắc chung, nhưng đang gặp khó khăn để thực hiện nó trong thực tế - tôi thiếu java/scala là thực sự bắt đầu để đạt nhà –
Tại thời điểm này, đó là nhiều hơn một vấn đề Gatling DSL (docu, có thể) hơn một Scala một. Dưới đây là ví dụ: https://github.com/excilys/gatling-hands-on/blob/master/gatling-hands-on-demo/src/test/scala/computerdatabase/Step10.scala –
Về chỉnh sửa của bạn: bạn đang thiếu một số hàng nhập khẩu (chúng đã ở đây chắc chắn nếu bạn đã sử dụng Máy ghi âm). Ở đây, một trong những thiếu cho biên dịch là bootstrap, nhưng bạn sẽ đánh những người khác sớm hay muộn. Vui lòng xem mẫu tôi đã cung cấp và thêm tất cả chúng. –