mirror of
https://github.com/httprunner/httprunner.git
synced 2026-06-01 13:59:37 +08:00
refactor parameterization:
1, support parameters in test block; 2, refactor parameterization code.
This commit is contained in:
@@ -2,10 +2,7 @@
|
||||
name: "user management testset."
|
||||
parameters:
|
||||
- user_agent: ["iOS/10.1", "iOS/10.2", "iOS/10.3"]
|
||||
- app_version: ${gen_app_version()}
|
||||
- username: ${parameterize(account.csv)}
|
||||
variables:
|
||||
- user_agent: 'iOS/10.3'
|
||||
- device_sn: ${gen_random_string(15)}
|
||||
- os_platform: 'ios'
|
||||
request:
|
||||
@@ -17,10 +14,22 @@
|
||||
- token
|
||||
|
||||
- test:
|
||||
name: get token with $user_agent and $app_version, username $username
|
||||
name: get token with $user_agent and $app_version
|
||||
parameters:
|
||||
- app_version: ${gen_app_version()}
|
||||
api: get_token($user_agent, $device_sn, $os_platform, $app_version)
|
||||
extract:
|
||||
- token: content.token
|
||||
validate:
|
||||
- "eq": ["status_code", 200]
|
||||
- "len_eq": ["content.token", 16]
|
||||
|
||||
# - test:
|
||||
# name: create user
|
||||
# parameters:
|
||||
# - user_id: [1001, 1002, 1003]
|
||||
# - username-password: ${parameterize(account.csv)}
|
||||
# api: create_user($user_id, $username, $password, $token)
|
||||
# validate:
|
||||
# - {"check": "status_code", "expect": 201}
|
||||
# - {"check": "content.success", "expect": true}
|
||||
|
||||
@@ -14,7 +14,7 @@
|
||||
- token
|
||||
|
||||
- test:
|
||||
name: get token
|
||||
name: get token with $user_agent, $app_version
|
||||
api: get_token($user_agent, $device_sn, $os_platform, $app_version)
|
||||
extract:
|
||||
- token: content.token
|
||||
|
||||
@@ -121,7 +121,8 @@ class TestRunner(ApiServerUnittest):
|
||||
os.getcwd(), 'tests/data/demo_testset_layer.yml')
|
||||
result = HttpRunner(testcase_file_path).run()
|
||||
self.assertTrue(result["success"])
|
||||
self.assertIn("token", result["output"])
|
||||
self.assertIn("token", result["output"][0]["out"])
|
||||
self.assertEqual(len(result["output"]), 13)
|
||||
|
||||
def test_run_testset_with_variables_mapping(self):
|
||||
testcase_file_path = os.path.join(
|
||||
@@ -131,7 +132,8 @@ class TestRunner(ApiServerUnittest):
|
||||
}
|
||||
result = HttpRunner(testcase_file_path).run(mapping=variables_mapping)
|
||||
self.assertTrue(result["success"])
|
||||
self.assertIn("token", result["output"])
|
||||
self.assertIn("token", result["output"][0]["out"])
|
||||
self.assertEqual(len(result["output"]), 13)
|
||||
|
||||
def test_run_testcase_with_empty_header(self):
|
||||
testcase_file_path = os.path.join(
|
||||
@@ -163,5 +165,5 @@ class TestRunner(ApiServerUnittest):
|
||||
os.getcwd(), 'tests/data/demo_parameters.yml')
|
||||
result = HttpRunner(testcase_file_path).run()
|
||||
self.assertTrue(result["success"])
|
||||
self.assertIn("token", result["output"])
|
||||
self.assertEqual(result["stat"]["testsRun"], 3 * 2 * 3)
|
||||
self.assertEqual(len(result["output"]), 3 * 2)
|
||||
self.assertEqual(result["stat"]["testsRun"], 3 * 2)
|
||||
|
||||
Reference in New Issue
Block a user