test: add example tests on httpbin

This commit is contained in:
debugtalk
2020-05-16 12:55:30 +08:00
parent e028b56d7e
commit fe6772f84c
5 changed files with 170 additions and 2 deletions

View File

@@ -0,0 +1,36 @@
config:
name: basic test with httpbin
base_url: ${get_httpbin_server()}
setup_hooks:
- ${hook_print(setup)}
teardown_hooks:
- ${hook_print(teardown)}
teststeps:
-
name: headers
variables:
a: 123
request:
url: /headers
method: GET
setup_hooks:
- ${setup_hook_add_kwargs($request)}
- ${setup_hook_remove_kwargs($request)}
teardown_hooks:
- ${teardown_hook_sleep_N_secs($response, 1)}
validate:
- eq: ["status_code", 200]
- contained_by: [body.headers.Host, "${get_httpbin_server()}"]
-
name: alter response
request:
url: /headers
method: GET
teardown_hooks:
- ${alter_response($response)}
validate:
- eq: ["status_code", 200]
# - eq: ["headers.content-type", "html/text"]
- eq: [body.headers.Host, "httpbin.org"]

View File

@@ -0,0 +1,48 @@
# NOTICE: Generated By HttpRunner. DO'NOT EDIT!
from httprunner import HttpRunner, TConfig, TStep
class TestCaseHooks(HttpRunner):
config = TConfig(
**{
"name": "basic test with httpbin",
"base_url": "${get_httpbin_server()}",
"setup_hooks": ["${hook_print(setup)}"],
"teardown_hooks": ["${hook_print(teardown)}"],
"path": "examples/httpbin/hooks_test.py",
}
)
teststeps = [
TStep(
**{
"name": "headers",
"variables": {"a": 123},
"request": {"url": "/headers", "method": "GET"},
"setup_hooks": [
"${setup_hook_add_kwargs($request)}",
"${setup_hook_remove_kwargs($request)}",
],
"teardown_hooks": ["${teardown_hook_sleep_N_secs($response, 1)}"],
"validate": [
{"eq": ["status_code", 200]},
{"contained_by": ["body.headers.Host", "${get_httpbin_server()}"]},
],
}
),
TStep(
**{
"name": "alter response",
"request": {"url": "/headers", "method": "GET"},
"teardown_hooks": ["${alter_response($response)}"],
"validate": [
{"eq": ["status_code", 200]},
{"eq": ["body.headers.Host", "httpbin.org"]},
],
}
),
]
if __name__ == "__main__":
TestCaseHooks().test_start()

View File

@@ -0,0 +1,37 @@
config:
name: load images
base_url: ${get_httpbin_server()}
teststeps:
-
name: get png image
request:
url: /image/png
method: GET
validate:
- eq: ["status_code", 200]
-
name: get jpeg image
request:
url: /image/jpeg
method: GET
validate:
- eq: ["status_code", 200]
-
name: get webp image
request:
url: /image/webp
method: GET
validate:
- eq: ["status_code", 200]
-
name: get svg image
request:
url: /image/svg
method: GET
validate:
- eq: ["status_code", 200]

View File

@@ -0,0 +1,47 @@
# NOTICE: Generated By HttpRunner. DO'NOT EDIT!
from httprunner import HttpRunner, TConfig, TStep
class TestCaseLoadImage(HttpRunner):
config = TConfig(
**{
"name": "load images",
"base_url": "${get_httpbin_server()}",
"path": "examples/httpbin/load_image_test.py",
}
)
teststeps = [
TStep(
**{
"name": "get png image",
"request": {"url": "/image/png", "method": "GET"},
"validate": [{"eq": ["status_code", 200]}],
}
),
TStep(
**{
"name": "get jpeg image",
"request": {"url": "/image/jpeg", "method": "GET"},
"validate": [{"eq": ["status_code", 200]}],
}
),
TStep(
**{
"name": "get webp image",
"request": {"url": "/image/webp", "method": "GET"},
"validate": [{"eq": ["status_code", 200]}],
}
),
TStep(
**{
"name": "get svg image",
"request": {"url": "/image/svg", "method": "GET"},
"validate": [{"eq": ["status_code", 200]}],
}
),
]
if __name__ == "__main__":
TestCaseLoadImage().test_start()