feat: extract session variable from referenced testcase step

This commit is contained in:
debugtalk
2020-06-04 18:20:55 +08:00
parent 0fdb9d426a
commit 81d6f2d65b
12 changed files with 111 additions and 15 deletions

View File

@@ -10,6 +10,7 @@ class TestCaseRequestWithFunctions(HttpRunner):
.variables(**{"foo1": "session_bar1", "var1": "testsuite_val1"})
.base_url("https://postman-echo.com")
.verify(False)
.export(*["session_foo2"])
)
teststeps = [

View File

@@ -26,6 +26,23 @@ class TestCaseRequestWithTestcaseReference(HttpRunner):
RunTestCase("request with functions")
.with_variables(**{"foo1": "override_bar1"})
.call(RequestWithFunctions)
.extract(*["session_foo2"])
),
Step(
RunRequest("post form data")
.with_variables(**{"foo1": "bar1"})
.post("/post")
.with_headers(
**{
"User-Agent": "HttpRunner/${get_httprunner_version()}",
"Content-Type": "application/x-www-form-urlencoded",
}
)
.with_data("foo1=$foo1&foo2=$session_foo2")
.validate()
.assert_equal("status_code", 200)
.assert_equal("body.form.foo1", "session_bar1")
.assert_equal("body.form.foo2", "session_bar2")
),
]

View File

@@ -4,6 +4,7 @@ config:
foo1: session_bar1
base_url: "https://postman-echo.com"
verify: False
export: ["session_foo2"]
teststeps:
-

View File

@@ -10,6 +10,7 @@ class TestCaseRequestWithFunctions(HttpRunner):
.variables(**{"foo1": "session_bar1"})
.base_url("https://postman-echo.com")
.verify(False)
.export(*["session_foo2"])
)
teststeps = [

View File

@@ -11,3 +11,20 @@ teststeps:
variables:
foo1: override_bar1
testcase: request_methods/request_with_functions.yml
extract:
- session_foo2
-
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=$session_foo2"
validate:
- eq: ["status_code", 200]
- eq: ["body.form.foo1", "session_bar1"]
- eq: ["body.form.foo2", "session_bar2"]

View File

@@ -26,6 +26,23 @@ class TestCaseRequestWithTestcaseReference(HttpRunner):
RunTestCase("request with functions")
.with_variables(**{"foo1": "override_bar1"})
.call(RequestWithFunctions)
.extract(*["session_foo2"])
),
Step(
RunRequest("post form data")
.with_variables(**{"foo1": "bar1"})
.post("/post")
.with_headers(
**{
"User-Agent": "HttpRunner/${get_httprunner_version()}",
"Content-Type": "application/x-www-form-urlencoded",
}
)
.with_data("foo1=$foo1&foo2=$session_foo2")
.validate()
.assert_equal("status_code", 200)
.assert_equal("body.form.foo1", "session_bar1")
.assert_equal("body.form.foo2", "session_bar2")
),
]