fix: extend with testcase reference in format version 2

This commit is contained in:
debugtalk
2019-06-25 15:51:24 +08:00
parent 22b2ba66d5
commit 7fc3280584
6 changed files with 45 additions and 6 deletions

View File

@@ -1,5 +1,11 @@
# Release History
## 2.2.1 (2019-06-25)
**Bugfixes**
- fix extend with testcase reference in format version 2
## 2.2.0 (2019-06-24)
**Features**

View File

@@ -1,7 +1,7 @@
__title__ = 'HttpRunner'
__description__ = 'One-stop solution for HTTP(S) testing.'
__url__ = 'https://github.com/HttpRunner/HttpRunner'
__version__ = '2.2.0'
__version__ = '2.2.1'
__author__ = 'debugtalk'
__author_email__ = 'mail@debugtalk.com'
__license__ = 'Apache-2.0'

View File

@@ -332,7 +332,18 @@ def __extend_with_testcase_ref(raw_testinfo):
project_mapping["PWD"],
*testcase_path.split("/")
)
testcase_dict = load_testcase(load_file(testcase_path))
loaded_testcase = load_file(testcase_path)
if isinstance(loaded_testcase, list):
# make compatible with version < 2.2.0
testcase_dict = load_testcase(loaded_testcase)
elif isinstance(loaded_testcase, dict) and "teststeps" in loaded_testcase:
# format version 2, implemented in 2.2.0
testcase_dict = load_testcase_v2(loaded_testcase)
else:
raise exceptions.FileFormatError(
"Invalid format testcase: {}".format(testcase_path))
tests_def_mapping[testcase_path] = testcase_dict
else:
testcase_dict = tests_def_mapping[testcase_path]

View File

@@ -0,0 +1,22 @@
config:
name: "create user and check result."
id: create_user
base_url: "http://127.0.0.1:5000"
variables:
uid: 9001
device_sn: "TESTCASE_CREATE_XXX"
output:
- session_token
teststeps:
-
name: setup and reset all (override) for $device_sn.
testcase: testcases/setup.yml
output:
- session_token
-
name: create user and check result.
variables:
token: $session_token
testcase: testcases/deps/check_and_create.yml

View File

@@ -11,7 +11,7 @@
"testcases": [
{
"name": "create user 1000 and check result.",
"testcase": "testcases/create_user.yml",
"testcase": "testcases/create_user.v2.yml",
"variables": {
"var_d": "$var_c",
"var_c": "${gen_random_string(5)}",
@@ -20,7 +20,7 @@
},
{
"name": "create user 1001 and check result.",
"testcase": "testcases/create_user.yml",
"testcase": "testcases/create_user.v2.yml",
"variables": {
"var_d": "$var_c",
"var_c": "${gen_random_string(5)}",

View File

@@ -9,7 +9,7 @@ config:
testcases:
-
name: create user 1000 and check result.
testcase: testcases/create_user.yml
testcase: testcases/create_user.v2.yml
variables:
uid: 1000
var_c: ${gen_random_string(5)}
@@ -17,7 +17,7 @@ testcases:
-
name: create user 1001 and check result.
testcase: testcases/create_user.yml
testcase: testcases/create_user.v2.yml
variables:
uid: 1001
var_c: ${gen_random_string(5)}