Beetle
Beetle is a Web API load testing library written in Crystal and inspired by Locust.
Installation
- Add the dependency to your application's
shard.yml:
dependencies:
beetle:
gitlab: steve-baldwin/beetle
- Run
shards install
Usage
require "beetle"
module MyBeetleTasks
class SomeClass
include JSON::Serializable
property customer_id : String
end
class MyTask1 < Beetle::Task
def submit
payload = SomeClass.new
@client.post("/endpoint1", body: payload.to_json.to_s)
end
end
end
s = Beetle::Server.new
s.register_task MyBeetleTasks::MyTask1
s.listen
Start by looking at the documentation for Server, then Task, Job and Exec. Hopefully by then you should get an idea if or how this library might help you.
Contributing
- Fork it (https://gitlab.com/steve-baldwin/beetle/forks/new)
- Create your feature branch (
git checkout -b my-new-feature) - Commit your changes (
git commit -am 'Add some feature') - Push to the branch (
git push origin my-new-feature) - Create a new Pull Request
Contributors
- Steve Baldwin - creator and maintainer