- feat: support hashicorp python plugin over gRPC
- feat: create scaffold with plugin option,
--py
(default),--go
,--ignore-plugin
- feat: print statistics summary after load testing finished
- feat: support think time for api/load testing
- fix: update prometheus state to stopped on quit
- feat: support API layer for testcase #94
- feat: support global headers for testcase #95
- feat: support call referenced testcase by path in YAML/JSON testcases
- fix: decode failure when content-encoding is deflate
- fix: unstable RPS when load testing in high concurrency
- feat: both support gRPC(default) and net/rpc mode in hashicorp plugin, switch with environment
HRP_PLUGIN_TYPE
- refactor: move submodule
plugin
to separate repogithub.com/httprunner/funplugin
- refactor: replace builtin json library with
json-iterator/go
to improve performance
- feat: support customized setup/teardown hooks (variable assignment not supported)
- feat: add flag
--log-plugin
to turn on plugin logging - change: add short flag
-c
for--continue-on-failure
- change: use
--log-requests-off
flag to turn off request & response details logging - fix: support posting body in json array format
- fix: testcase format compatibility with HttpRunner
- feat: support text/html extraction with regex
- change: json unmarshal to json.Number when parsing data
- fix: omit pseudo header names for HTTP/1, e.g. :authority
- fix: generate
headers.\"Content-Type\"
in har2case - fix: incorrect data type when extracting data using jmespath
- fix: decode response body in brotli/gzip/deflate formats
- fix: omit print request/response body for non-text content
- fix: parse data for request cookie value
- change: json unmarshal to float64 when parsing data
- fix: set request Content-Type for posting json only when not specified
- fix: failed to generate API test report when data is null
- fix: panic when assertion function not exists
- fix: broadcast to all rendezvous at once when spawn done
- feat: implement
rendezvous
mechanism for data driven - feat: upload release artifacts to aliyun oss
- feat: dump tests summary for execution results
- feat: generate html report for API testing
- change: remove sentry sdk
- change: download package assets from aliyun OSS
- fix: disable color logging on Windows
- fix: print stderr when exec command failed
- fix: build hashicorp plugin failed when creating scaffold
- feat: support creating and calling custom functions with hashicorp/go-plugin
- feat: add scaffold demo with hashicorp plugin
- feat: report events for initializing plugin
- fix: log failures when the assertion failed
- feat: support specifying running cycles for load testing
- fix: ensure last stats reported when stop running
- feat: support creating and calling custom functions with go plugin
- feat: install hrp with one shell command
- feat: add
startproject
sub-command for creating scaffold project - feat: report GA event for loading go plugin
- feat: implement
parameterize
mechanism for data driven - feat: add multiple builtin assertion methods and builtin functions
- fix: set ulimit to 10240 before load testing
- fix: concurrent map writes in load testing
- feat: implement
transaction
mechanism for load test - feat: continue running next step when failure occurs with
--continue-on-failure
flag, default to failfast - feat: report GA events with version
- feat: run load test with the given limit and burst as rate limiter, use
--spawn-count
,--spawn-rate
and--request-increase-rate
flag - feat: report runner state to prometheus
- refactor: fork boomer as submodule initially and made a lot of changes
- change: update API models
- refactor: update models to make API more concise
- change: remove mkdocs, move to repo
- feat: push load testing metrics to Prometheus Pushgateway
- feat: report events with Google Analytics
- feat: deploy mkdocs to github pages when PR merged
- feat: release hrp cli binaries automatically with github actions
- feat: add Makefile for running unittest and building hrp cli binary
- feat: full support for HTTP(S)/1.1 methods
- feat: integrate zerolog for logging, include json log and pretty color console log
- feat: implement
har2case
for converting HAR to JSON/YAML testcases - feat: extract and validate json response with
jmespath
- feat: run JSON/YAML testcases with builtin functions
- feat: support testcase and teststep level variables mechanism
- feat: integrate
boomer
standalone mode for load testing - docs: init documentation website with
mkdocs
- docs: add project badges, including go report card, codecov, github actions, FOSSA, etc.
- test: add CI test with github actions
- test: integrate sentry sdk for event reporting and analysis