rename extractor/extractors to extract

This commit is contained in:
httprunner
2017-11-01 14:30:36 +08:00
parent 577cb01dcf
commit 62c64e9309
14 changed files with 20 additions and 21 deletions
+1 -1
View File
@@ -98,7 +98,7 @@ And here is testset example of typical scenario: get `token` at the beginning, a
app_version: $app_version app_version: $app_version
json: json:
sign: ${get_sign($user_agent, $device_sn, $os_platform, $app_version)} sign: ${get_sign($user_agent, $device_sn, $os_platform, $app_version)}
extractors: extract:
- token: content.token - token: content.token
validators: validators:
- {"check": "status_code", "comparator": "eq", "expected": 200} - {"check": "status_code", "comparator": "eq", "expected": 200}
+3 -4
View File
@@ -85,7 +85,7 @@ class Runner(object):
}, },
"body": '{"name": "user", "password": "123456"}' "body": '{"name": "user", "password": "123456"}'
}, },
"extractors": [], # optional "extract": [], # optional
"validators": [], # optional "validators": [], # optional
"setup": [], # optional "setup": [], # optional
"teardown": [] # optional "teardown": [] # optional
@@ -102,8 +102,7 @@ class Runner(object):
raise exception.ParamsError("URL or METHOD missed!") raise exception.ParamsError("URL or METHOD missed!")
run_times = int(testcase.get("times", 1)) run_times = int(testcase.get("times", 1))
extractors = testcase.get("extractors") \ extractors = testcase.get("extract") \
or testcase.get("extractor") \
or testcase.get("extract_binds", []) or testcase.get("extract_binds", [])
validators = testcase.get("validators", []) validators = testcase.get("validators", [])
setup_actions = testcase.get("setup", []) setup_actions = testcase.get("setup", [])
@@ -157,7 +156,7 @@ class Runner(object):
"name": "testcase description", "name": "testcase description",
"variables": [], # optional, override "variables": [], # optional, override
"request": {}, "request": {},
"extractors": {}, # optional "extract": {}, # optional
"validators": {} # optional "validators": {} # optional
}, },
testcase12 testcase12
+2 -2
View File
@@ -24,7 +24,7 @@ Suppose we get the following HTTP response.
} }
``` ```
In `extractors` and `validators`, we can do chain operation to extract data field in HTTP response. In `extract` and `validators`, we can do chain operation to extract data field in HTTP response.
For instance, if we want to get `Content-Type` in response headers, then we can specify `headers.content-type`; if we want to get `first_name` in response content, we can specify `content.person.name.first_name`. For instance, if we want to get `Content-Type` in response headers, then we can specify `headers.content-type`; if we want to get `first_name` in response content, we can specify `content.person.name.first_name`.
@@ -46,7 +46,7 @@ content.person.cities.1
``` ```
```yaml ```yaml
extractors: extract:
- content_type: headers.content-type - content_type: headers.content-type
- first_name: content.person.name.first_name - first_name: content.person.name.first_name
validators: validators:
+4 -4
View File
@@ -120,7 +120,7 @@ To fix this problem, we should correlate `token` field in the second API test ca
app_version: 2.8.6 app_version: 2.8.6
json: json:
sign: 19067cf712265eb5426db8d3664026c1ccea02b9 sign: 19067cf712265eb5426db8d3664026c1ccea02b9
extractors: extract:
- token: content.token - token: content.token
validators: validators:
- {"check": "status_code", "comparator": "eq", "expected": 200} - {"check": "status_code", "comparator": "eq", "expected": 200}
@@ -142,7 +142,7 @@ To fix this problem, we should correlate `token` field in the second API test ca
- {"check": "content.success", "comparator": "eq", "expected": true} - {"check": "content.success", "comparator": "eq", "expected": true}
``` ```
As you see, the `token` field is no longer hardcoded, instead it is extracted from the first API request with `extractors` mechanism. In the meanwhile, it is assigned to `token` variable, which can be referenced by the subsequent API requests. As you see, the `token` field is no longer hardcoded, instead it is extracted from the first API request with `extract` mechanism. In the meanwhile, it is assigned to `token` variable, which can be referenced by the subsequent API requests.
Now we save the test cases to [`quickstart-demo-rev-1.yml`][quickstart-demo-rev-1] and rerun it, and we will find that both API requests to be successful. Now we save the test cases to [`quickstart-demo-rev-1.yml`][quickstart-demo-rev-1] and rerun it, and we will find that both API requests to be successful.
@@ -202,7 +202,7 @@ And then, we can revise our demo test case and reference the functions. Suppose
app_version: $app_version app_version: $app_version
json: json:
sign: ${get_sign($user_agent, $device_sn, $os_platform, $app_version)} sign: ${get_sign($user_agent, $device_sn, $os_platform, $app_version)}
extractors: extract:
- token: content.token - token: content.token
validators: validators:
- {"check": "status_code", "comparator": "eq", "expected": 200} - {"check": "status_code", "comparator": "eq", "expected": 200}
@@ -266,7 +266,7 @@ To handle this case, overall `config` block is supported in `ApiTestEngine`. If
app_version: $app_version app_version: $app_version
json: json:
sign: ${get_sign($user_agent, $device_sn, $os_platform, $app_version)} sign: ${get_sign($user_agent, $device_sn, $os_platform, $app_version)}
extractors: extract:
- token: content.token - token: content.token
validators: validators:
- {"check": "status_code", "comparator": "eq", "expected": 200} - {"check": "status_code", "comparator": "eq", "expected": 200}
+1 -1
View File
@@ -10,7 +10,7 @@
app_version: 2.8.6 app_version: 2.8.6
json: json:
sign: 19067cf712265eb5426db8d3664026c1ccea02b9 sign: 19067cf712265eb5426db8d3664026c1ccea02b9
extractors: extract:
- token: content.token - token: content.token
validators: validators:
- {"check": "status_code", "comparator": "eq", "expected": 200} - {"check": "status_code", "comparator": "eq", "expected": 200}
+1 -1
View File
@@ -15,7 +15,7 @@
app_version: $app_version app_version: $app_version
json: json:
sign: ${get_sign($user_agent, $device_sn, $os_platform, $app_version)} sign: ${get_sign($user_agent, $device_sn, $os_platform, $app_version)}
extractors: extract:
- token: content.token - token: content.token
validators: validators:
- {"check": "status_code", "comparator": "eq", "expected": 200} - {"check": "status_code", "comparator": "eq", "expected": 200}
+1 -1
View File
@@ -22,7 +22,7 @@
app_version: $app_version app_version: $app_version
json: json:
sign: ${get_sign($user_agent, $device_sn, $os_platform, $app_version)} sign: ${get_sign($user_agent, $device_sn, $os_platform, $app_version)}
extractors: extract:
- token: content.token - token: content.token
validators: validators:
- {"check": "status_code", "comparator": "eq", "expected": 200} - {"check": "status_code", "comparator": "eq", "expected": 200}
+1 -1
View File
@@ -16,7 +16,7 @@
"sign": "f1219719911caae89ccc301679857ebfda115ca2" "sign": "f1219719911caae89ccc301679857ebfda115ca2"
} }
}, },
"extractors": [ "extract": [
{ {
"token": "content.token" "token": "content.token"
} }
+1 -1
View File
@@ -11,7 +11,7 @@
app_version: '2.8.6' app_version: '2.8.6'
json: json:
sign: f1219719911caae89ccc301679857ebfda115ca2 sign: f1219719911caae89ccc301679857ebfda115ca2
extractors: extract:
- token: content.token - token: content.token
validators: validators:
- {"check": "status_code", "comparator": "eq", "expected": 200} - {"check": "status_code", "comparator": "eq", "expected": 200}
+1 -1
View File
@@ -16,7 +16,7 @@
- test: - test:
name: get token name: get token
api: get_token($user_agent, $device_sn, $os_platform, $app_version) api: get_token($user_agent, $device_sn, $os_platform, $app_version)
extractors: extract:
- token: content.token - token: content.token
- test: - test:
@@ -25,7 +25,7 @@
app_version: $app_version app_version: $app_version
json: json:
sign: ${get_sign($user_agent, $device_sn, $os_platform, $app_version)} sign: ${get_sign($user_agent, $device_sn, $os_platform, $app_version)}
extractors: extract:
- token: content.token - token: content.token
validators: validators:
- {"check": "status_code", "comparator": "eq", "expected": 200} - {"check": "status_code", "comparator": "eq", "expected": 200}
@@ -35,7 +35,7 @@
app_version: $app_version app_version: $app_version
json: json:
sign: ${get_sign_lambda($user_agent, $device_sn, $os_platform, $app_version)} sign: ${get_sign_lambda($user_agent, $device_sn, $os_platform, $app_version)}
extractors: extract:
- token: content.token - token: content.token
validators: validators:
- {"check": "status_code", "comparator": "eq", "expected": 200} - {"check": "status_code", "comparator": "eq", "expected": 200}
+1 -1
View File
@@ -26,7 +26,7 @@
app_version: $app_version app_version: $app_version
json: json:
sign: $sign sign: $sign
extractors: extract:
- token: content.token - token: content.token
validators: validators:
- {"check": "status_code", "comparator": "eq", "expected": 200} - {"check": "status_code", "comparator": "eq", "expected": 200}
+1 -1
View File
@@ -53,7 +53,7 @@ class TestRunner(ApiServerUnittest):
"sign": "f1219719911caae89ccc301679857ebfda115ca2" "sign": "f1219719911caae89ccc301679857ebfda115ca2"
} }
}, },
"extractors": [ "extract": [
{"token": "content.token"} {"token": "content.token"}
], ],
"validators": [ "validators": [