mirror of
https://github.com/httprunner/httprunner.git
synced 2026-05-12 02:21:29 +08:00
merge main
This commit is contained in:
53
docs/BUILTIN.md
Normal file
53
docs/BUILTIN.md
Normal file
@@ -0,0 +1,53 @@
|
||||
# Builtin
|
||||
|
||||
## Builtin assertions
|
||||
|
||||
HttpRunner+ validation should follow the following format. `check`, `assert` and `expect` are required field.
|
||||
|
||||
```json
|
||||
{
|
||||
"check": "status_code", // target field, usually used with jmespath
|
||||
"assert": "equals", // assertion method, you can use builtin method or custom defined function
|
||||
"expect": 200, // expected value
|
||||
"msg": "check response status code" // optional, print this message if assertion failed
|
||||
}
|
||||
```
|
||||
|
||||
The `assert` method name will be mapped to a built-in function with the following function signature.
|
||||
|
||||
```go
|
||||
func(t assert.TestingT, expected interface{}, actual interface{}, msgAndArgs ...interface{}) bool
|
||||
```
|
||||
|
||||
Currently, HttpRunner+ has the following built-in assertion functions.
|
||||
|
||||
| `assert` | Description | A(check), B(expect) | examples |
|
||||
| -- | -- | -- | -- |
|
||||
| `eq`, `equals`, `equal` | value is equal | A == B | 9 eq 9 |
|
||||
| `lt`, `less_than` | less than | A < B | 7 lt 8 |
|
||||
| `le`, `less_or_equals` | less than or equals | A <= B | 7 le 8, 8 le 8 |
|
||||
| `gt`, `greater_than` | greater than | A > B | 8 gt 7 |
|
||||
| `ge`, `greater_or_equals` | greater than or equals | A >= B | 8 ge 7, 8 ge 8 |
|
||||
| `ne`, `not_equal` | not equals | A != B | 6 ne 9 |
|
||||
| `str_eq`, `string_equals` | string equals | str(A) == str(B) | 123 str_eq '123' |
|
||||
| `len_eq`, `length_equals`, `length_equal` | length equals | len(A) == B | 'abc' len_eq 3, [1,2] len_eq 2 |
|
||||
| `len_gt`, `count_gt` | length greater than | len(A) > B | 'abc' len_gt 2, [1,2,3] len_gt 2 |
|
||||
| `len_ge`, `count_ge` | length greater than or equals | len(A) >= B | 'abc' len_ge 3, [1,2,3] len_gt 3 |
|
||||
| `len_lt`, `count_lt` | length less than | len(A) < B | 'abc' len_lt 4, [1,2,3] len_lt 4 |
|
||||
| `len_le`, `count_le` | length less than or equals | len(A) <= B | 'abc' len_le 3, [1,2,3] len_le 3 |
|
||||
| `contains` | contains | [1, 2] contains 1 | 'abc' contains 'a', [1,2,3] len_lt 4 |
|
||||
| `contained_by` | contained by | A in B | 'a' contained_by 'abc', 1 contained_by [1,2] |
|
||||
| `type_match` | A and B are in the same type | type(A) == type(B) | 123 type_match 1 |
|
||||
| `regex_match` | regex matches | re.match(B, A) | 'abcdef' regex 'a\w+d' |
|
||||
| `startswith` | starts with | A.startswith(B) is True | 'abc' startswith 'ab' |
|
||||
| `endswith` | ends with | A.endswith(B) is True | 'abc' endswith 'bc' |
|
||||
|
||||
## Builtin functions
|
||||
|
||||
| Name | Arguments | Description |
|
||||
| --- | --- | --- |
|
||||
| `get_timestamp` | () | get the thirteen-digit timestamp of current time. |
|
||||
| `sleep` | (n int) | sleep n seconds to simulate the thinking time. |
|
||||
| `gen_random_string` | (n int) | get the n-digit random string. |
|
||||
| `max` | (m,n int) | get the maximum of two numbers m and n. |
|
||||
| `md5` | (s string) | get the MD5 of the input string s. |
|
||||
@@ -1,8 +1,15 @@
|
||||
# Release History
|
||||
|
||||
## v0.4.0 (2021-12-28)
|
||||
## v0.4.0 (2022-01-05)
|
||||
|
||||
- feat: support creating and calling custom functions with `go plugin`
|
||||
- feat: implement `parameterize` mechanism for data driven
|
||||
- feat: support creating and calling custom functions with [go plugin](https://pkg.go.dev/plugin)
|
||||
- feat: add multiple builtin assertion methods and builtin functions
|
||||
|
||||
## v0.3.1 (2021-12-30)
|
||||
|
||||
- fix: set ulimit to 10240 before load testing
|
||||
- fix: concurrent map writes in load testing
|
||||
|
||||
## v0.3.0 (2021-12-24)
|
||||
|
||||
|
||||
@@ -2,7 +2,7 @@
|
||||
|
||||
- Homepage: https://httprunner.com
|
||||
- Docs
|
||||
- English: https://httprunner.com/docs
|
||||
- 中文: https://httprunner.com/zh/docs
|
||||
- 中文: https://httprunner.com/docs
|
||||
- English: https://httprunner.com/en/docs
|
||||
- [hrp command help](cmd/hrp.md)
|
||||
- Blog: https://httprunner.com/blog
|
||||
|
||||
@@ -32,4 +32,4 @@ Copyright 2021 debugtalk
|
||||
* [hrp har2case](hrp_har2case.md) - Convert HAR to json/yaml testcase files
|
||||
* [hrp run](hrp_run.md) - run API test
|
||||
|
||||
###### Auto generated by spf13/cobra on 29-Dec-2021
|
||||
###### Auto generated by spf13/cobra on 6-Jan-2022
|
||||
|
||||
@@ -38,4 +38,4 @@ hrp boom [flags]
|
||||
|
||||
* [hrp](hrp.md) - One-stop solution for HTTP(S) testing.
|
||||
|
||||
###### Auto generated by spf13/cobra on 29-Dec-2021
|
||||
###### Auto generated by spf13/cobra on 6-Jan-2022
|
||||
|
||||
@@ -23,4 +23,4 @@ hrp har2case harPath... [flags]
|
||||
|
||||
* [hrp](hrp.md) - One-stop solution for HTTP(S) testing.
|
||||
|
||||
###### Auto generated by spf13/cobra on 29-Dec-2021
|
||||
###### Auto generated by spf13/cobra on 6-Jan-2022
|
||||
|
||||
@@ -31,4 +31,4 @@ hrp run path... [flags]
|
||||
|
||||
* [hrp](hrp.md) - One-stop solution for HTTP(S) testing.
|
||||
|
||||
###### Auto generated by spf13/cobra on 29-Dec-2021
|
||||
###### Auto generated by spf13/cobra on 6-Jan-2022
|
||||
|
||||
Reference in New Issue
Block a user