A k6 extension for random fake data generation.
Altought there is several good JavaScript fake data generator, but using these as remote module in k6 tests has several disadvantages (download size, memory usage, startup time, etc). The xk6-faker implemented as a golang extension, so tests starts faster and use less memory. The price is a little bit smaller feature set compared with popular JavaScript fake data generators.
The underlying implementation is https://github.com/brianvoe/gofakeit.
The main generator class is Faker.
import { Faker } from "k6/x/faker"
let f = new Faker();
console.log(f.name());
Pass a random seed number to Faker constructor if you want to get deterministic random values.
import { Faker } from "k6/x/faker"
let f = new Faker(1234);
console.log(f.name());
For easier usage, the module's default export is a Faker instance too, so you can use generator functions without instantiating the Faker class:
import faker from "k6/x/faker"
console.log(faker.name())
You can pass random seed value in XK6_FAKER_SEED
env if you want deterministic generated random values.
General purpose generator functions:
- lexify(str) will replace
?
with random generated letters - numerify(str) will replace
#
with random numerical values - generate(str) will replace values within
{}
with generator function return values
For complete generated API documentation click here!
To build a k6
binary with this extension, first ensure you have the prerequisites:
- Go toolchain
- Git
Then:
- Install
xk6
:
$ go install go.k6.io/xk6/cmd/xk6@latest
- Build the binary:
$ xk6 build --with github.com/szkiba/xk6-faker@latest