FHIR server performance and load testing tool.
Tests
- CRUD - basic FHIR CRUD api testing on US CORE profile Patient
- Validation - testing
$validate
operation for 6 different profiles - Search - perform different search operations
MAC OS
brew install k6
Debian/ubuntu
sudo gpg -k
sudo gpg --no-default-keyring --keyring /usr/share/keyrings/k6-archive-keyring.gpg --keyserver hkp://keyserver.ubuntu.com:80 --recv-keys C5AD17C747E3415A3642D57D77C6C491D6AC1D69
echo "deb [signed-by=/usr/share/keyrings/k6-archive-keyring.gpg] https://dl.k6.io/deb stable main" | sudo tee /etc/apt/sources.list.d/k6.list
sudo apt-get update
sudo apt-get install k6
Required only for crud.js tests.
MAC OS
brew install go
go install go.k6.io/xk6/cmd/xk6@latest
https://github.com/oleiade/xk6-kv
cd bin
xk6 build --with github.com/oleiade/xk6-kv
k6 run test/crud.js \
--tag runid=RUNID_001 \
--tag suite=CRUD \
--env BASE_URL='https://fhir.server.org/fhir' \
--env AUTH_USER='_user_' \
--env AUTH_PASSWORD='_password_'
k6 run test/validate.js \
--tag runid=RUNID_001 \
--tag suite=VALIDATE \
--env BASE_URL='https://fhir.server.org/fhir' \
--env AUTH_USER='_user_' \
--env AUTH_PASSWORD='_password_'
k6 run test/search.js \
--tag runid=RUNID_001 \
--tag suite=SEARCH \
--env BASE_URL='https://fhir.server.org/fhir' \
--env AUTH_USER='_user_' \
--env AUTH_PASSWORD='_password_'