mirror of
https://github.com/httprunner/httprunner.git
synced 2026-05-18 21:17:37 +08:00
feat: data-driven.
This commit is contained in:
4
examples/account.csv
Normal file
4
examples/account.csv
Normal file
@@ -0,0 +1,4 @@
|
||||
username,password
|
||||
test1,111111
|
||||
test2,222222
|
||||
test3,333333
|
||||
|
@@ -7,11 +7,6 @@ config:
|
||||
"n": 5
|
||||
varFoo1: ${gen_random_string($n)}
|
||||
varFoo2: ${max($a, $b)}
|
||||
parameters:
|
||||
username-password: ${parameterize(examples/account.csv)}
|
||||
user_agent: ["iOS/10.1", "iOS/10.2"]
|
||||
parameters_setting:
|
||||
strategy: random
|
||||
teststeps:
|
||||
- name: transaction 1 start
|
||||
transaction:
|
||||
@@ -24,8 +19,6 @@ teststeps:
|
||||
params:
|
||||
foo1: $varFoo1
|
||||
foo2: $varFoo2
|
||||
foo3: $username
|
||||
foo4: $password
|
||||
headers:
|
||||
User-Agent: HttpRunnerPlus
|
||||
variables:
|
||||
|
||||
57
examples/parameters_test.json
Normal file
57
examples/parameters_test.json
Normal file
@@ -0,0 +1,57 @@
|
||||
{
|
||||
"config": {
|
||||
"name": "request methods testcase: validate with parameters",
|
||||
"parameters": {
|
||||
"user_agent": [
|
||||
"iOS/10.1",
|
||||
"iOS/10.2"
|
||||
],
|
||||
"username-password": "${parameterize(examples/account.csv)}",
|
||||
"app_version": "${getAppVersion()}"
|
||||
},
|
||||
"parameters_setting": {
|
||||
"strategy": "random"
|
||||
},
|
||||
"variables": {
|
||||
"app_version": "f1"
|
||||
},
|
||||
"base_url": "https://postman-echo.com",
|
||||
"verify": false
|
||||
},
|
||||
"teststeps": [
|
||||
{
|
||||
"name": "get with params",
|
||||
"variables": {
|
||||
"foo1": "$username",
|
||||
"foo2": "$password",
|
||||
"foo3": "$app_version"
|
||||
},
|
||||
"request": {
|
||||
"method": "GET",
|
||||
"url": "/get",
|
||||
"params": {
|
||||
"foo1": "$foo1",
|
||||
"foo2": "$foo2",
|
||||
"foo3": "$foo3"
|
||||
},
|
||||
"headers": {
|
||||
"User-Agent": "$user_agent,$app_version"
|
||||
}
|
||||
},
|
||||
"validate": [
|
||||
{
|
||||
"check": "status_code",
|
||||
"assert": "equals",
|
||||
"expect": 200,
|
||||
"msg": "check status code"
|
||||
},
|
||||
{
|
||||
"check": "body.args.foo3",
|
||||
"assert": "not_equal",
|
||||
"expect": "f1",
|
||||
"msg": "check app version"
|
||||
}
|
||||
]
|
||||
}
|
||||
]
|
||||
}
|
||||
38
examples/parameters_test.yaml
Normal file
38
examples/parameters_test.yaml
Normal file
@@ -0,0 +1,38 @@
|
||||
config:
|
||||
name: "request methods testcase: validate with parameters"
|
||||
parameters:
|
||||
user_agent: ["iOS/10.1", "iOS/10.2"]
|
||||
username-password: ${parameterize(examples/account.csv)}
|
||||
app_version: ${getAppVersion()}
|
||||
parameters_setting:
|
||||
strategy: random
|
||||
variables:
|
||||
app_version: f1
|
||||
base_url: "https://postman-echo.com"
|
||||
verify: False
|
||||
|
||||
teststeps:
|
||||
-
|
||||
name: get with params
|
||||
variables:
|
||||
foo1: $username
|
||||
foo2: $password
|
||||
foo3: $app_version
|
||||
request:
|
||||
method: GET
|
||||
url: /get
|
||||
params:
|
||||
foo1: $foo1
|
||||
foo2: $foo2
|
||||
foo3: $foo3
|
||||
headers:
|
||||
User-Agent: $user_agent,$app_version
|
||||
validate:
|
||||
- check: status_code
|
||||
assert: equals
|
||||
expect: 200
|
||||
msg: check status code
|
||||
- check: body.args.foo3
|
||||
assert: not_equal
|
||||
expect: f1
|
||||
msg: check app version
|
||||
Reference in New Issue
Block a user