From 9e68daa92947c183c70ce921052638a74b725655 Mon Sep 17 00:00:00 2001 From: debugtalk Date: Thu, 27 Dec 2018 16:48:54 +0800 Subject: [PATCH] update prepare_locust_tests --- httprunner/api.py | 22 +++---------- ...locust_with_layer.yml => demo_locusts.yml} | 0 tests/locust_tests/demo_simple_locust.yml | 33 ------------------- tests/test_api.py | 17 +++------- tests/testsuites/create_users.yml | 2 -- .../create_users_with_parameters.yml | 1 - 6 files changed, 8 insertions(+), 67 deletions(-) rename tests/locust_tests/{demo_locust_with_layer.yml => demo_locusts.yml} (100%) delete mode 100644 tests/locust_tests/demo_simple_locust.yml diff --git a/httprunner/api.py b/httprunner/api.py index 902f2970..15edefc6 100644 --- a/httprunner/api.py +++ b/httprunner/api.py @@ -241,7 +241,7 @@ def prepare_locust_tests(path): { "functions": {}, - "teststeps": [] + "tests": [] } """ @@ -253,23 +253,9 @@ def prepare_locust_tests(path): tests = [] for testcase in parsed_tests_mapping["testcases"]: - testcase_weight = testcase.get("config", {}).get("weight", 1) - items = testcase.get("teststeps", []) - - testcase_tests = [] - for item in items: - if "config" in item: - # embeded testcase - weight = item["config"].get("weight", 1) - else: - # API test - weight = item.get("weight", 1) - - # implement weight for tests - for _ in range(weight): - testcase_tests.append(item) - - tests.extend(testcase_tests * testcase_weight) + testcase_weight = testcase.get("config", {}).pop("weight", 1) + for _ in range(testcase_weight): + tests.append(testcase) return { "functions": functions, diff --git a/tests/locust_tests/demo_locust_with_layer.yml b/tests/locust_tests/demo_locusts.yml similarity index 100% rename from tests/locust_tests/demo_locust_with_layer.yml rename to tests/locust_tests/demo_locusts.yml diff --git a/tests/locust_tests/demo_simple_locust.yml b/tests/locust_tests/demo_simple_locust.yml deleted file mode 100644 index baab4ae5..00000000 --- a/tests/locust_tests/demo_simple_locust.yml +++ /dev/null @@ -1,33 +0,0 @@ -- config: - name: basic test with httpbin - base_url: https://httpbin.org/ - -- test: - name: index - weight: 5 - request: - url: / - method: GET - validate: - - eq: ["status_code", 200] - - contains: [content, "HTTP Request & Response Service"] - -- test: - name: headers - weight: 3 - request: - url: /headers - method: GET - validate: - - eq: ["status_code", 200] - - eq: [content.headers.Host, "httpbin.org"] - -- test: - name: user-agent - weight: 2 - request: - url: /user-agent - method: GET - validate: - - eq: ["status_code", 200] - - startswith: [content.user-agent, "python-requests"] diff --git a/tests/test_api.py b/tests/test_api.py index 243cdfa7..ead0a57e 100644 --- a/tests/test_api.py +++ b/tests/test_api.py @@ -610,18 +610,9 @@ class TestLocust(unittest.TestCase): def test_prepare_locust_tests(self): path = os.path.join( - os.getcwd(), 'tests/locust_tests/demo_simple_locust.yml') + os.getcwd(), 'tests/locust_tests/demo_locusts.yml') locust_tests = prepare_locust_tests(path) self.assertIn("gen_md5", locust_tests["functions"]) - self.assertEqual(len(locust_tests["tests"]), 10) - self.assertEqual(locust_tests["tests"][0]["name"], "index") - self.assertEqual(locust_tests["tests"][9]["name"], "user-agent") - - def test_prepare_locust_tests_with_layer(self): - path = os.path.join( - os.getcwd(), 'tests/locust_tests/demo_locust_with_layer.yml') - locust_tests = prepare_locust_tests(path) - self.assertIn("gen_md5", locust_tests["functions"]) - self.assertEqual(len(locust_tests["tests"]), 4 * 2 + 4 * 3) - self.assertIn("setup and reset all (override)", locust_tests["tests"][0]["config"]["name"]) - self.assertIn("check if user ", locust_tests["tests"][19]["name"]) + self.assertEqual(len(locust_tests["tests"]), 2 + 3) + self.assertIn("create user 1000 and check result.", locust_tests["tests"][0]["config"]["name"]) + self.assertIn("create user 1001 and check result.", locust_tests["tests"][4]["config"]["name"]) diff --git a/tests/testsuites/create_users.yml b/tests/testsuites/create_users.yml index 8f772467..ca5d1eff 100644 --- a/tests/testsuites/create_users.yml +++ b/tests/testsuites/create_users.yml @@ -7,12 +7,10 @@ config: testcases: create user 1000 and check result.: testcase: testcases/create_and_check.yml - weight: 2 variables: uid: 1000 create user 1001 and check result.: testcase: testcases/create_and_check.yml - weight: 23423 variables: uid: 1001 diff --git a/tests/testsuites/create_users_with_parameters.yml b/tests/testsuites/create_users_with_parameters.yml index 7374f409..ae2cd939 100644 --- a/tests/testsuites/create_users_with_parameters.yml +++ b/tests/testsuites/create_users_with_parameters.yml @@ -7,7 +7,6 @@ config: testcases: create user $uid and check result for $device_sn.: testcase: testcases/create_and_check.yml - weight: 2 variables: uid: 1000 device_sn: TESTSUITE_XXX