mirror of
https://github.com/httprunner/httprunner.git
synced 2026-07-21 04:22:30 +08:00
rename teststeps to tests
This commit is contained in:
@@ -28,7 +28,7 @@ class TestHttpRunner(ApiServerUnittest):
|
||||
},
|
||||
'variables': []
|
||||
},
|
||||
'teststeps': [
|
||||
'tests': [
|
||||
{
|
||||
'name': '/api/get-token',
|
||||
'request': {
|
||||
@@ -119,7 +119,7 @@ class TestHttpRunner(ApiServerUnittest):
|
||||
},
|
||||
'variables': []
|
||||
},
|
||||
"teststeps": [
|
||||
"tests": [
|
||||
{
|
||||
"name": "post data",
|
||||
"request": {
|
||||
@@ -182,7 +182,7 @@ class TestHttpRunner(ApiServerUnittest):
|
||||
testcases = [
|
||||
{
|
||||
"config": {"name": "test teardown hooks"},
|
||||
"teststeps": [
|
||||
"tests": [
|
||||
{
|
||||
"name": "test teardown hooks",
|
||||
"request": {
|
||||
@@ -222,7 +222,7 @@ class TestHttpRunner(ApiServerUnittest):
|
||||
"config": {
|
||||
"name": "test teardown hooks"
|
||||
},
|
||||
"teststeps": [
|
||||
"tests": [
|
||||
{
|
||||
"name": "test teardown hooks",
|
||||
"request": {
|
||||
@@ -256,7 +256,7 @@ class TestHttpRunner(ApiServerUnittest):
|
||||
"config": {
|
||||
"name": "test teardown hooks"
|
||||
},
|
||||
"teststeps": [
|
||||
"tests": [
|
||||
{
|
||||
"name": "test teardown hooks",
|
||||
"request": {
|
||||
@@ -368,28 +368,28 @@ class TestHttpRunner(ApiServerUnittest):
|
||||
test_suite = runner._add_tests(tests_mapping)
|
||||
|
||||
self.assertEqual(
|
||||
test_suite._tests[0].teststeps[0]['name'],
|
||||
test_suite._tests[0].tests[0]['name'],
|
||||
'get token with iOS/10.1 and test1'
|
||||
)
|
||||
# TODO: add parameterize
|
||||
# self.assertEqual(
|
||||
# test_suite._tests[1].teststeps[0]['name'],
|
||||
# test_suite._tests[1].tests[0]['name'],
|
||||
# 'get token with iOS/10.1 and test2'
|
||||
# )
|
||||
# self.assertEqual(
|
||||
# test_suite._tests[2].teststeps[0]['name'],
|
||||
# test_suite._tests[2].tests[0]['name'],
|
||||
# 'get token with iOS/10.2 and test1'
|
||||
# )
|
||||
# self.assertEqual(
|
||||
# test_suite._tests[3].teststeps[0]['name'],
|
||||
# test_suite._tests[3].tests[0]['name'],
|
||||
# 'get token with iOS/10.2 and test2'
|
||||
# )
|
||||
# self.assertEqual(
|
||||
# test_suite._tests[4].teststeps[0]['name'],
|
||||
# test_suite._tests[4].tests[0]['name'],
|
||||
# 'get token with iOS/10.3 and test1'
|
||||
# )
|
||||
# self.assertEqual(
|
||||
# test_suite._tests[5].teststeps[0]['name'],
|
||||
# test_suite._tests[5].tests[0]['name'],
|
||||
# 'get token with iOS/10.3 and test2'
|
||||
# )
|
||||
|
||||
@@ -419,13 +419,13 @@ class TestApi(ApiServerUnittest):
|
||||
self.assertEqual(testcase_config["name"], "setup and reset all.")
|
||||
self.assertIn("path", testcase_config)
|
||||
|
||||
testcase_teststeps = testcases[0]["teststeps"]
|
||||
self.assertEqual(len(testcase_teststeps), 2)
|
||||
self.assertIn("api", testcase_teststeps[0])
|
||||
self.assertEqual(testcase_teststeps[0]["name"], "get token (setup)")
|
||||
self.assertIsInstance(testcase_teststeps[0]["variables"], list)
|
||||
self.assertIn("api_def", testcase_teststeps[0])
|
||||
self.assertEqual(testcase_teststeps[0]["api_def"]["request"]["url"], "/api/get-token")
|
||||
testcase_tests = testcases[0]["tests"]
|
||||
self.assertEqual(len(testcase_tests), 2)
|
||||
self.assertIn("api", testcase_tests[0])
|
||||
self.assertEqual(testcase_tests[0]["name"], "get token (setup)")
|
||||
self.assertIsInstance(testcase_tests[0]["variables"], list)
|
||||
self.assertIn("api_def", testcase_tests[0])
|
||||
self.assertEqual(testcase_tests[0]["api_def"]["request"]["url"], "/api/get-token")
|
||||
|
||||
def test_testcase_parser(self):
|
||||
testcase_path = "tests/testcases/setup.yml"
|
||||
@@ -437,13 +437,13 @@ class TestApi(ApiServerUnittest):
|
||||
self.assertEqual(len(parsed_testcases), 1)
|
||||
|
||||
self.assertNotIn("variables", parsed_testcases[0]["config"])
|
||||
self.assertEqual(len(parsed_testcases[0]["teststeps"]), 2)
|
||||
self.assertEqual(len(parsed_testcases[0]["tests"]), 2)
|
||||
|
||||
teststep1 = parsed_testcases[0]["teststeps"][0]
|
||||
self.assertEqual(teststep1["name"], "get token (setup)")
|
||||
self.assertNotIn("api_def", teststep1)
|
||||
self.assertEqual(teststep1["variables"]["device_sn"], "TESTCASE_SETUP_XXX")
|
||||
self.assertEqual(teststep1["request"]["url"], "http://127.0.0.1:5000/api/get-token")
|
||||
test_dict1 = parsed_testcases[0]["tests"][0]
|
||||
self.assertEqual(test_dict1["name"], "get token (setup)")
|
||||
self.assertNotIn("api_def", test_dict1)
|
||||
self.assertEqual(test_dict1["variables"]["device_sn"], "TESTCASE_SETUP_XXX")
|
||||
self.assertEqual(test_dict1["request"]["url"], "http://127.0.0.1:5000/api/get-token")
|
||||
|
||||
def test_testcase_add_tests(self):
|
||||
testcase_path = "tests/testcases/setup.yml"
|
||||
@@ -454,10 +454,10 @@ class TestApi(ApiServerUnittest):
|
||||
test_suite = runner._add_tests(tests_mapping)
|
||||
|
||||
self.assertEqual(len(test_suite._tests), 1)
|
||||
teststeps = test_suite._tests[0].teststeps
|
||||
self.assertEqual(teststeps[0]["name"], "get token (setup)")
|
||||
self.assertEqual(teststeps[0]["variables"]["device_sn"], "TESTCASE_SETUP_XXX")
|
||||
self.assertIn("api", teststeps[0])
|
||||
tests = test_suite._tests[0].tests
|
||||
self.assertEqual(tests[0]["name"], "get token (setup)")
|
||||
self.assertEqual(tests[0]["variables"]["device_sn"], "TESTCASE_SETUP_XXX")
|
||||
self.assertIn("api", tests[0])
|
||||
|
||||
def test_testcase_simple_run_suite(self):
|
||||
testcase_path = "tests/testcases/setup.yml"
|
||||
@@ -504,14 +504,14 @@ class TestApi(ApiServerUnittest):
|
||||
self.assertEqual(testcase_config["name"], "create users with uid")
|
||||
self.assertIn("path", testcase_config)
|
||||
|
||||
testcase_teststeps = testcases[0]["teststeps"]
|
||||
self.assertEqual(len(testcase_teststeps), 2)
|
||||
self.assertIn("testcase_def", testcase_teststeps[0])
|
||||
self.assertEqual(testcase_teststeps[0]["name"], "create user 1000 and check result.")
|
||||
self.assertIsInstance(testcase_teststeps[0]["testcase_def"], dict)
|
||||
self.assertEqual(testcase_teststeps[0]["testcase_def"]["config"]["name"], "create user and check result.")
|
||||
self.assertEqual(len(testcase_teststeps[0]["testcase_def"]["teststeps"]), 4)
|
||||
self.assertEqual(testcase_teststeps[0]["testcase_def"]["teststeps"][0]["name"], "setup and reset all (override).")
|
||||
testcase_tests = testcases[0]["tests"]
|
||||
self.assertEqual(len(testcase_tests), 2)
|
||||
self.assertIn("testcase_def", testcase_tests[0])
|
||||
self.assertEqual(testcase_tests[0]["name"], "create user 1000 and check result.")
|
||||
self.assertIsInstance(testcase_tests[0]["testcase_def"], dict)
|
||||
self.assertEqual(testcase_tests[0]["testcase_def"]["config"]["name"], "create user and check result.")
|
||||
self.assertEqual(len(testcase_tests[0]["testcase_def"]["tests"]), 4)
|
||||
self.assertEqual(testcase_tests[0]["testcase_def"]["tests"][0]["name"], "setup and reset all (override).")
|
||||
|
||||
def test_testsuite_parser(self):
|
||||
testcase_path = "tests/testsuites/create_users.yml"
|
||||
@@ -521,17 +521,17 @@ class TestApi(ApiServerUnittest):
|
||||
|
||||
parsed_testcases = tests_mapping["testcases"]
|
||||
self.assertEqual(len(parsed_testcases), 1)
|
||||
self.assertEqual(len(parsed_testcases[0]["teststeps"]), 2)
|
||||
self.assertEqual(len(parsed_testcases[0]["tests"]), 2)
|
||||
|
||||
testcase1 = parsed_testcases[0]["teststeps"][0]
|
||||
testcase1 = parsed_testcases[0]["tests"][0]
|
||||
self.assertEqual(testcase1["config"]["name"], "create user 1000 and check result.")
|
||||
self.assertNotIn("testcase_def", testcase1)
|
||||
self.assertEqual(len(testcase1["teststeps"]), 4)
|
||||
self.assertEqual(len(testcase1["tests"]), 4)
|
||||
self.assertEqual(
|
||||
testcase1["teststeps"][0]["teststeps"][0]["request"]["url"],
|
||||
testcase1["tests"][0]["tests"][0]["request"]["url"],
|
||||
"http://127.0.0.1:5000/api/get-token"
|
||||
)
|
||||
self.assertEqual(len(testcase1["teststeps"][0]["teststeps"][0]["variables"]["device_sn"]), 15)
|
||||
self.assertEqual(len(testcase1["tests"][0]["tests"][0]["variables"]["device_sn"]), 15)
|
||||
|
||||
def test_testsuite_add_tests(self):
|
||||
testcase_path = "tests/testsuites/create_users.yml"
|
||||
@@ -542,8 +542,8 @@ class TestApi(ApiServerUnittest):
|
||||
test_suite = runner._add_tests(tests_mapping)
|
||||
|
||||
self.assertEqual(len(test_suite._tests), 1)
|
||||
teststeps = test_suite._tests[0].teststeps
|
||||
self.assertEqual(teststeps[0]["config"]["name"], "create user 1000 and check result.")
|
||||
tests = test_suite._tests[0].tests
|
||||
self.assertEqual(tests[0]["config"]["name"], "create user 1000 and check result.")
|
||||
|
||||
def test_testsuite_run_suite(self):
|
||||
testcase_path = "tests/testsuites/create_users.yml"
|
||||
|
||||
@@ -22,9 +22,9 @@ class TestContext(ApiServerUnittest):
|
||||
context_functions = self.context.FUNCTIONS_MAPPING
|
||||
self.assertIn("gen_md5", context_functions)
|
||||
|
||||
def test_init_teststep_variables(self):
|
||||
def test_init_test_variables(self):
|
||||
self.assertEqual(
|
||||
self.context.teststep_variables_mapping,
|
||||
self.context.test_variables_mapping,
|
||||
{'SECRET_KEY': 'DebugTalk'}
|
||||
)
|
||||
|
||||
@@ -63,7 +63,7 @@ class TestContext(ApiServerUnittest):
|
||||
{"data": '{"name": "user", "password": "123456"}'},
|
||||
{"authorization": "${gen_md5($TOKEN, $data, $random)}"}
|
||||
]
|
||||
self.context.init_teststep_variables(variables)
|
||||
self.context.init_test_variables(variables)
|
||||
|
||||
request = {
|
||||
"url": "http://127.0.0.1:5000/api/users/1000",
|
||||
@@ -110,7 +110,7 @@ class TestContext(ApiServerUnittest):
|
||||
{"resp_status_code": 200},
|
||||
{"resp_body_success": True}
|
||||
]
|
||||
self.context.init_teststep_variables(variables)
|
||||
self.context.init_test_variables(variables)
|
||||
|
||||
with self.assertRaises(exceptions.ValidationFailure):
|
||||
self.context.validate(validators, resp_obj)
|
||||
@@ -125,7 +125,7 @@ class TestContext(ApiServerUnittest):
|
||||
{"resp_status_code": 201},
|
||||
{"resp_body_success": True}
|
||||
]
|
||||
self.context.init_teststep_variables(variables)
|
||||
self.context.init_test_variables(variables)
|
||||
self.context.validate(validators, resp_obj)
|
||||
|
||||
def test_validate_exception(self):
|
||||
@@ -139,7 +139,7 @@ class TestContext(ApiServerUnittest):
|
||||
{"check": "$resp_status_code", "comparator": "eq", "expect": 201}
|
||||
]
|
||||
variables = []
|
||||
self.context.init_teststep_variables(variables)
|
||||
self.context.init_test_variables(variables)
|
||||
|
||||
with self.assertRaises(exceptions.VariableNotFound):
|
||||
self.context.validate(validators, resp_obj)
|
||||
@@ -148,7 +148,7 @@ class TestContext(ApiServerUnittest):
|
||||
variables = [
|
||||
{"resp_status_code": 200}
|
||||
]
|
||||
self.context.init_teststep_variables(variables)
|
||||
self.context.init_test_variables(variables)
|
||||
|
||||
with self.assertRaises(exceptions.ValidationFailure):
|
||||
self.context.validate(validators, resp_obj)
|
||||
|
||||
@@ -264,8 +264,8 @@ class TestSuiteLoader(unittest.TestCase):
|
||||
cls.project_mapping = loader.project_mapping
|
||||
cls.tests_def_mapping = loader.tests_def_mapping
|
||||
|
||||
def test_load_teststep_testcase(self):
|
||||
raw_teststep = {
|
||||
def test_load_test_testcase(self):
|
||||
raw_test = {
|
||||
"name": "setup and reset all (override).",
|
||||
"testcase": "testcases/setup.yml",
|
||||
"variables": [
|
||||
@@ -273,24 +273,24 @@ class TestSuiteLoader(unittest.TestCase):
|
||||
],
|
||||
"output": ["token", "device_sn"]
|
||||
}
|
||||
testcase = loader.load_teststep(raw_teststep)
|
||||
testcase = loader.load_test(raw_test)
|
||||
self.assertEqual(
|
||||
"setup and reset all (override).",
|
||||
testcase["name"]
|
||||
)
|
||||
teststeps = testcase["testcase_def"]["teststeps"]
|
||||
self.assertEqual(len(teststeps), 2)
|
||||
self.assertEqual(teststeps[0]["name"], "get token (setup)")
|
||||
self.assertEqual(teststeps[1]["name"], "reset all users")
|
||||
tests = testcase["testcase_def"]["tests"]
|
||||
self.assertEqual(len(tests), 2)
|
||||
self.assertEqual(tests[0]["name"], "get token (setup)")
|
||||
self.assertEqual(tests[1]["name"], "reset all users")
|
||||
|
||||
def test_load_testcase(self):
|
||||
raw_testcase = loader.load_file("tests/testsuites/create_users.yml")
|
||||
testcase = loader.load_testcase(raw_testcase)
|
||||
self.assertEqual(testcase["config"]["name"], "create users with uid")
|
||||
self.assertIn("device_sn", testcase["config"]["variables"][0])
|
||||
self.assertEqual(len(testcase["teststeps"]), 2)
|
||||
self.assertEqual(testcase["teststeps"][0]["name"], "create user 1000 and check result.")
|
||||
self.assertEqual(testcase["teststeps"][0]["testcase_def"]["config"]["name"], "create user and check result.")
|
||||
self.assertEqual(len(testcase["tests"]), 2)
|
||||
self.assertEqual(testcase["tests"][0]["name"], "create user 1000 and check result.")
|
||||
self.assertEqual(testcase["tests"][0]["testcase_def"]["config"]["name"], "create user and check result.")
|
||||
|
||||
def test_load_testcases_by_path_files(self):
|
||||
# absolute file path
|
||||
@@ -300,7 +300,7 @@ class TestSuiteLoader(unittest.TestCase):
|
||||
project_mapping = tests_mapping["project_mapping"]
|
||||
testcases_list = tests_mapping["testcases"]
|
||||
self.assertEqual(len(testcases_list), 1)
|
||||
self.assertEqual(len(testcases_list[0]["teststeps"]), 3)
|
||||
self.assertEqual(len(testcases_list[0]["tests"]), 3)
|
||||
self.assertIn("get_sign", project_mapping["functions"])
|
||||
|
||||
# relative file path
|
||||
@@ -309,7 +309,7 @@ class TestSuiteLoader(unittest.TestCase):
|
||||
project_mapping = tests_mapping["project_mapping"]
|
||||
testcases_list = tests_mapping["testcases"]
|
||||
self.assertEqual(len(testcases_list), 1)
|
||||
self.assertEqual(len(testcases_list[0]["teststeps"]), 3)
|
||||
self.assertEqual(len(testcases_list[0]["tests"]), 3)
|
||||
self.assertIn("get_sign", project_mapping["functions"])
|
||||
|
||||
# TODO: list/set container with file(s)
|
||||
@@ -319,17 +319,17 @@ class TestSuiteLoader(unittest.TestCase):
|
||||
# ]
|
||||
# testcases_list = loader.load_tests(path)
|
||||
# self.assertEqual(len(testcases_list), 2)
|
||||
# self.assertEqual(len(testcases_list[0]["teststeps"]), 3)
|
||||
# self.assertEqual(len(testcases_list[1]["teststeps"]), 3)
|
||||
# self.assertEqual(len(testcases_list[0]["tests"]), 3)
|
||||
# self.assertEqual(len(testcases_list[1]["tests"]), 3)
|
||||
# testcases_list.extend(testcases_list)
|
||||
# self.assertEqual(len(testcases_list), 4)
|
||||
|
||||
# for testcase in testcases_list:
|
||||
# for teststep in testcase["teststeps"]:
|
||||
# self.assertIn('name', teststep)
|
||||
# self.assertIn('request', teststep)
|
||||
# self.assertIn('url', teststep['request'])
|
||||
# self.assertIn('method', teststep['request'])
|
||||
# for test_dict in testcase["tests"]:
|
||||
# self.assertIn('name', test_dict)
|
||||
# self.assertIn('request', test_dict)
|
||||
# self.assertIn('url', test_dict['request'])
|
||||
# self.assertIn('method', test_dict['request'])
|
||||
|
||||
def test_load_testcases_by_path_folder(self):
|
||||
# absolute folder path
|
||||
@@ -381,15 +381,15 @@ class TestSuiteLoader(unittest.TestCase):
|
||||
self.assertIn({'device_sn': '${gen_random_string(15)}'}, testcases_list[0]["config"]["variables"])
|
||||
self.assertIn("gen_md5", project_mapping["functions"])
|
||||
self.assertIn("base_url", testcases_list[0]["config"])
|
||||
teststep0 = testcases_list[0]["teststeps"][0]
|
||||
test_dict0 = testcases_list[0]["tests"][0]
|
||||
self.assertEqual(
|
||||
"get token with $user_agent, $app_version",
|
||||
teststep0["name"]
|
||||
test_dict0["name"]
|
||||
)
|
||||
self.assertIn("/api/get-token", teststep0["api_def"]["request"]["url"])
|
||||
self.assertIn("/api/get-token", test_dict0["api_def"]["request"]["url"])
|
||||
self.assertIn(
|
||||
{'eq': ['status_code', 200]},
|
||||
teststep0["validate"]
|
||||
test_dict0["validate"]
|
||||
)
|
||||
|
||||
def test_load_testcases_with_testcase_ref(self):
|
||||
@@ -407,7 +407,7 @@ class TestSuiteLoader(unittest.TestCase):
|
||||
{'device_sn': '${gen_random_string(15)}'},
|
||||
testcases_list[0]["config"]["variables"][0]
|
||||
)
|
||||
testcase0 = testcases_list[0]["teststeps"][0]
|
||||
testcase0 = testcases_list[0]["tests"][0]
|
||||
self.assertEqual(
|
||||
"create user 1000 and check result.",
|
||||
testcase0["name"]
|
||||
@@ -417,7 +417,7 @@ class TestSuiteLoader(unittest.TestCase):
|
||||
testcase0["testcase_def"]["config"]["name"]
|
||||
)
|
||||
|
||||
testcase1 = testcases_list[0]["teststeps"][1]
|
||||
testcase1 = testcases_list[0]["tests"][1]
|
||||
self.assertEqual(
|
||||
"create user 1001 and check result.",
|
||||
testcase1["name"]
|
||||
|
||||
@@ -445,9 +445,9 @@ class TestParser(unittest.TestCase):
|
||||
parser.parse_tests(tests_mapping)
|
||||
parsed_testcases = tests_mapping["testcases"]
|
||||
self.assertIsInstance(parsed_testcases, list)
|
||||
teststep1 = parsed_testcases[0]["teststeps"][0]
|
||||
self.assertEqual(teststep1["variables"]["var_c"], 3)
|
||||
self.assertEqual(teststep1["variables"]["PROJECT_KEY"], "ABCDEFGH")
|
||||
test_dict1 = parsed_testcases[0]["tests"][0]
|
||||
self.assertEqual(test_dict1["variables"]["var_c"], 3)
|
||||
self.assertEqual(test_dict1["variables"]["PROJECT_KEY"], "ABCDEFGH")
|
||||
# TODO: parameters
|
||||
# self.assertEqual(len(parsed_testcases), 2 * 2)
|
||||
self.assertEqual(parsed_testcases[0]["config"]["name"], '1230')
|
||||
@@ -479,11 +479,11 @@ class TestParser(unittest.TestCase):
|
||||
|
||||
def test_extend_with_api(self):
|
||||
loader.load_project_tests(os.path.join(os.getcwd(), "tests"))
|
||||
raw_stepinfo = {
|
||||
raw_testinfo = {
|
||||
"name": "get token",
|
||||
"api": "get_token",
|
||||
}
|
||||
api_def_dict = loader.load_teststep(raw_stepinfo)
|
||||
api_def_dict = loader.load_test(raw_testinfo)
|
||||
test_block = {
|
||||
"name": "override block",
|
||||
"times": 3,
|
||||
|
||||
@@ -215,7 +215,7 @@ class TestRunner(ApiServerUnittest):
|
||||
tests_mapping = loader.load_tests(testcase_file_path)
|
||||
testcase = tests_mapping["testcases"][0]
|
||||
config_dict_headers = testcase["config"]["request"]["headers"]
|
||||
test_dict_headers = testcase["teststeps"][0]["request"]["headers"]
|
||||
test_dict_headers = testcase["tests"][0]["request"]["headers"]
|
||||
headers = deep_update_dict(
|
||||
config_dict_headers,
|
||||
test_dict_headers
|
||||
|
||||
@@ -24,8 +24,8 @@ class TestValidator(unittest.TestCase):
|
||||
"path": "testcase1_path",
|
||||
"variables": [], # optional
|
||||
},
|
||||
"teststeps": [
|
||||
# teststep data structure
|
||||
"tests": [
|
||||
# test data structure
|
||||
{
|
||||
'name': 'test step desc1',
|
||||
'variables': [], # optional
|
||||
@@ -33,7 +33,7 @@ class TestValidator(unittest.TestCase):
|
||||
'validate': [],
|
||||
'request': {}
|
||||
},
|
||||
# teststep2 # another teststep dict
|
||||
# test_dict2 # another test dict
|
||||
]
|
||||
},
|
||||
# testcase_dict_2 # another testcase dict
|
||||
|
||||
Reference in New Issue
Block a user