iT邦幫忙

2

手把手從開發 k6 插件程式到編譯出 k6 插件

雷N 2025-02-13 01:31:411260 瀏覽
  • 分享至 

  • xImage
  •  

完整內容在此, 幹話王_Grafana xk6

最近因為任務,需要對公司的平台做 smoke testing 與一些基本的 load testing。但因為我們是 Web3 的產品有點麻煩,登入要 OTP 驗證,還有很多簽章的流程需要處理。剛好又是做借貸撮合的平台,需要開多個瀏覽器登入不同角色跟帳號進行操作。剛好 k6 有提供 xk6 來建置出 k6 的插件。

除此之外這測試腳本還是能跟原本的 k6 http load testing 腳本混合執行。同時能執行瀏覽器的測試以及 API 的壓測的 solution 不算多,k6 算是其中之一。

但這篇先來寫 xk6 .


Using k6 browser | Grafana k6 documentation

Grafana k6 Browser previos version

k6 Browser 本來也是 k6 的插件之一,也是用 xk6 來編譯使用的,但到了 k6 0.56 版本後,就被合併到 k6 的主要程式庫當中了。剛好在寫文章當下也是最新版本也是 0.56

Starting from k6 version v0.56, this codebase has been merged and is now part of the main k6 repository.

但我們能看一下它原本是怎麼透過 xk6 編譯的。根目錄中的 Makefile 中的 build job.

go install go.k6.io/xk6/cmd/xk6@latest && 
xk6 build --output xk6-browser --with github.com/grafana/xk6-browser=.

xk6

https://github.com/grafana/xk6 xk6 主要是利用 Go 語言的 package 管理器來進行套件的下載與編譯出 k6 套件的, 所以套件開發者需要安裝 Go 才方便編譯 xk6 撰寫的套件.

** 安裝 xk6 **

# Install xk6
go install go.k6.io/xk6/cmd/xk6@latest

然後用 Go 指令新建一個專案, 這裡我用簡單的 OTP 產生器為例子. 以下是檔案目錄.

├── otp
│   ├── go.mod
│   ├── go.sum
│   └── otp.go

完整內容在此, 幹話王_Grafana xk6


.

尚未有邦友留言

立即登入留言