tests: update tests

This commit is contained in:
debugtalk
2020-06-08 16:56:55 +08:00
parent 2237b34901
commit 30461e8037
4 changed files with 61 additions and 26 deletions

View File

@@ -42,16 +42,20 @@ def create_scaffold(project_name):
config:
name: "request methods testcase with functions"
variables:
foo1: session_bar1
foo1: config_bar1
foo2: config_bar2
expect_foo1: config_bar1
expect_foo2: config_bar2
base_url: "https://postman-echo.com"
verify: False
export: ["foo3"]
teststeps:
-
name: get with params
variables:
foo1: bar1
foo2: session_bar2
foo1: bar11
foo2: bar21
sum_v: "${sum_two(1, 2)}"
request:
method: GET
@@ -63,43 +67,78 @@ teststeps:
headers:
User-Agent: HttpRunner/${get_httprunner_version()}
extract:
session_foo2: "body.args.foo2"
foo3: "body.args.foo2"
validate:
- eq: ["status_code", 200]
- eq: ["body.args.foo1", "session_bar1"]
- eq: ["body.args.foo1", "bar11"]
- eq: ["body.args.sum_v", "3"]
- eq: ["body.args.foo2", "session_bar2"]
- eq: ["body.args.foo2", "bar21"]
-
name: post raw text
variables:
foo1: "hello world"
foo3: "$session_foo2"
foo1: "bar12"
foo3: "bar32"
request:
method: POST
url: /post
headers:
User-Agent: HttpRunner/${get_httprunner_version()}
Content-Type: "text/plain"
data: "This is expected to be sent back as part of response body: $foo1-$foo3."
data: "This is expected to be sent back as part of response body: $foo1-$foo2-$foo3."
validate:
- eq: ["status_code", 200]
- eq: ["body.data", "This is expected to be sent back as part of response body: session_bar1-session_bar2."]
- eq: ["body.data", "This is expected to be sent back as part of response body: bar12-$expect_foo2-bar21."]
-
name: post form data
variables:
foo2: bar23
request:
method: POST
url: /post
headers:
User-Agent: HttpRunner/${get_httprunner_version()}
Content-Type: "application/x-www-form-urlencoded"
data: "foo1=$foo1&foo2=$foo2&foo3=$foo3"
validate:
- eq: ["status_code", 200]
- eq: ["body.form.foo1", "$expect_foo1"]
- eq: ["body.form.foo2", "bar23"]
- eq: ["body.form.foo3", "bar21"]
"""
demo_testcase_with_ref_content = """
config:
name: "request methods testcase: reference testcase"
variables:
foo1: session_bar1
foo1: testsuite_config_bar1
expect_foo1: testsuite_config_bar1
expect_foo2: config_bar2
base_url: "https://postman-echo.com"
verify: False
teststeps:
-
name: request with referenced testcase
name: request with functions
variables:
foo1: override_bar1
# NOTICE: relative testcase path based on debugtalk.py
foo1: testcase_ref_bar1
expect_foo1: testcase_ref_bar1
testcase: testcases/demo_testcase_request.yml
export:
- foo3
-
name: post form data
variables:
foo1: bar1
request:
method: POST
url: /post
headers:
User-Agent: HttpRunner/${get_httprunner_version()}
Content-Type: "application/x-www-form-urlencoded"
data: "foo1=$foo1&foo2=$foo3"
validate:
- eq: ["status_code", 200]
- eq: ["body.form.foo1", "bar1"]
- eq: ["body.form.foo2", "bar21"]
"""
ignore_content = "\n".join(
[".env", "reports/*", "__pycache__/*", "*.pyc", ".python-version", "logs/*"]

View File

@@ -1,7 +1,8 @@
config:
name: "request methods testcase with functions"
variables:
foo1: session_bar1
foo1: config_bar1
foo2: config_bar2
base_url: "https://postman-echo.com"
verify: False
@@ -10,7 +11,6 @@ teststeps:
name: get with params
variables:
foo1: bar1
foo2: session_bar2
sum_v: "${sum_two(1, 2)}"
request:
method: GET
@@ -25,6 +25,6 @@ teststeps:
session_foo2: "body.args.foo2"
validate:
- eq: ["status_code", 200]
- eq: ["body.args.foo1", "session_bar1"]
- eq: ["body.args.foo1", "bar1"]
- eq: ["body.args.sum_v", "3"]
- eq: ["body.args.foo2", "session_bar2"]
- eq: ["body.args.foo2", "config_bar2"]

View File

@@ -1,22 +1,18 @@
config:
name: "reference testcase unittest for abnormal folder path"
variables:
foo1: session_bar1
base_url: "https://postman-echo.com"
verify: False
teststeps:
-
name: request with functions
variables:
foo1: override_bar1
testcase: 1.yml
export:
- session_foo2
-
name: post form data
variables:
foo1: bar1
foo1: bar12
request:
method: POST
url: /post
@@ -26,5 +22,5 @@ teststeps:
data: "foo1=$foo1&foo2=$session_foo2"
validate:
- eq: ["status_code", 200]
- eq: ["body.form.foo1", "session_bar1"]
- eq: ["body.form.foo2", "session_bar2"]
- eq: ["body.form.foo1", "bar12"]
- eq: ["body.form.foo2", "config_bar2"]

View File

@@ -139,5 +139,5 @@ class TestUtils(unittest.TestCase):
config_variables = {"base_url": "https://httpbin.org", "foo1": "bar111"}
self.assertEqual(
override_config_variables(step_variables, config_variables),
{"base_url": "https://httpbin.org", "foo1": "bar111"},
{"base_url": "https://httpbin.org", "foo1": "bar1"},
)