mirror of
https://github.com/httprunner/httprunner.git
synced 2026-07-07 23:41:22 +08:00
bump version to v4.0.0-beta
This commit is contained in:
@@ -1,6 +1,6 @@
|
|||||||
# Release History
|
# Release History
|
||||||
|
|
||||||
## v4.0.0-alpha
|
## v4.0.0-beta (2022-04-24)
|
||||||
|
|
||||||
- refactor: merge [hrp] into httprunner v4, which will include golang and python dual engine
|
- refactor: merge [hrp] into httprunner v4, which will include golang and python dual engine
|
||||||
- refactor: redesign `IStep` to make step extensible to support implementing new protocols and test types
|
- refactor: redesign `IStep` to make step extensible to support implementing new protocols and test types
|
||||||
@@ -165,6 +165,10 @@
|
|||||||
- test: add CI test with [github actions][github-actions]
|
- test: add CI test with [github actions][github-actions]
|
||||||
- test: integrate [sentry sdk][sentry sdk] for event reporting and analysis
|
- test: integrate [sentry sdk][sentry sdk] for event reporting and analysis
|
||||||
|
|
||||||
|
## 3.1.11 (2022-04-24)
|
||||||
|
|
||||||
|
- fix #1273: ImportError by cannot import name '_unicodefun' from 'click'
|
||||||
|
|
||||||
## 3.1.10 (2022-04-18)
|
## 3.1.10 (2022-04-18)
|
||||||
|
|
||||||
- fix #1249: catch exceptions when requesting with disabling allow_redirects
|
- fix #1249: catch exceptions when requesting with disabling allow_redirects
|
||||||
|
|||||||
@@ -1,4 +1,4 @@
|
|||||||
# NOTE: Generated By HttpRunner v4.0.0-alpha
|
# NOTE: Generated By HttpRunner v4.0.0-beta
|
||||||
# FROM: a-b.c/1.yml
|
# FROM: a-b.c/1.yml
|
||||||
|
|
||||||
|
|
||||||
|
|||||||
@@ -1,4 +1,4 @@
|
|||||||
# NOTE: Generated By HttpRunner v4.0.0-alpha
|
# NOTE: Generated By HttpRunner v4.0.0-beta
|
||||||
# FROM: a-b.c/2 3.yml
|
# FROM: a-b.c/2 3.yml
|
||||||
|
|
||||||
|
|
||||||
|
|||||||
@@ -42,7 +42,7 @@ func TeardownHookExample(args string) string {
|
|||||||
}
|
}
|
||||||
|
|
||||||
func GetVersion() string {
|
func GetVersion() string {
|
||||||
return "v4.0.0-alpha"
|
return "v4.0.0-beta"
|
||||||
}
|
}
|
||||||
|
|
||||||
func main() {
|
func main() {
|
||||||
|
|||||||
@@ -6,7 +6,7 @@ import funppy
|
|||||||
|
|
||||||
|
|
||||||
def get_httprunner_version():
|
def get_httprunner_version():
|
||||||
return "v4.0.0-alpha"
|
return "v4.0.0-beta"
|
||||||
|
|
||||||
|
|
||||||
def sleep(n_secs):
|
def sleep(n_secs):
|
||||||
|
|||||||
@@ -1,4 +1,4 @@
|
|||||||
# NOTE: Generated By HttpRunner v4.0.0-alpha
|
# NOTE: Generated By HttpRunner v4.0.0-beta
|
||||||
# FROM: basic.yml
|
# FROM: basic.yml
|
||||||
|
|
||||||
|
|
||||||
|
|||||||
@@ -1,4 +1,4 @@
|
|||||||
# NOTE: Generated By HttpRunner v4.0.0-alpha
|
# NOTE: Generated By HttpRunner v4.0.0-beta
|
||||||
# FROM: hooks.yml
|
# FROM: hooks.yml
|
||||||
|
|
||||||
|
|
||||||
|
|||||||
@@ -1,4 +1,4 @@
|
|||||||
# NOTE: Generated By HttpRunner v4.0.0-alpha
|
# NOTE: Generated By HttpRunner v4.0.0-beta
|
||||||
# FROM: load_image.yml
|
# FROM: load_image.yml
|
||||||
|
|
||||||
|
|
||||||
|
|||||||
@@ -1,4 +1,4 @@
|
|||||||
# NOTE: Generated By HttpRunner v4.0.0-alpha
|
# NOTE: Generated By HttpRunner v4.0.0-beta
|
||||||
# FROM: upload.yml
|
# FROM: upload.yml
|
||||||
|
|
||||||
|
|
||||||
|
|||||||
@@ -1,4 +1,4 @@
|
|||||||
# NOTE: Generated By HttpRunner v4.0.0-alpha
|
# NOTE: Generated By HttpRunner v4.0.0-beta
|
||||||
# FROM: validate.yml
|
# FROM: validate.yml
|
||||||
|
|
||||||
|
|
||||||
|
|||||||
@@ -1,4 +1,4 @@
|
|||||||
# NOTE: Generated By HttpRunner v3.1.7
|
# NOTE: Generated By HttpRunner v4.0.0-beta
|
||||||
# FROM: cookie_manipulation/hardcode.yml
|
# FROM: cookie_manipulation/hardcode.yml
|
||||||
|
|
||||||
|
|
||||||
|
|||||||
@@ -1,4 +1,4 @@
|
|||||||
# NOTE: Generated By HttpRunner v3.1.7
|
# NOTE: Generated By HttpRunner v4.0.0-beta
|
||||||
# FROM: cookie_manipulation/set_delete_cookies.yml
|
# FROM: cookie_manipulation/set_delete_cookies.yml
|
||||||
|
|
||||||
|
|
||||||
|
|||||||
@@ -1 +0,0 @@
|
|||||||
# NOTICE: Generated By HttpRunner. DO NOT EDIT!
|
|
||||||
@@ -1,86 +0,0 @@
|
|||||||
# NOTE: Generated By HttpRunner v4.0.0-alpha
|
|
||||||
# FROM: request_methods/request_with_functions.yml
|
|
||||||
|
|
||||||
|
|
||||||
from httprunner import HttpRunner, Config, Step, RunRequest, RunTestCase
|
|
||||||
|
|
||||||
|
|
||||||
class TestCaseRequestWithFunctions(HttpRunner):
|
|
||||||
|
|
||||||
config = (
|
|
||||||
Config("request with functions")
|
|
||||||
.variables(
|
|
||||||
**{
|
|
||||||
"foo1": "testcase_ref_bar11",
|
|
||||||
"foo2": "testsuite_config_bar2",
|
|
||||||
"expect_foo1": "testcase_ref_bar11",
|
|
||||||
"expect_foo2": "testsuite_config_bar2",
|
|
||||||
}
|
|
||||||
)
|
|
||||||
.base_url("https://postman-echo.com")
|
|
||||||
.verify(False)
|
|
||||||
.export(*["foo3"])
|
|
||||||
)
|
|
||||||
|
|
||||||
teststeps = [
|
|
||||||
Step(
|
|
||||||
RunRequest("get with params")
|
|
||||||
.with_variables(
|
|
||||||
**{"foo1": "bar11", "foo2": "bar21", "sum_v": "${sum_two(1, 2)}"}
|
|
||||||
)
|
|
||||||
.get("/get")
|
|
||||||
.with_params(**{"foo1": "$foo1", "foo2": "$foo2", "sum_v": "$sum_v"})
|
|
||||||
.with_headers(**{"User-Agent": "HttpRunner/${get_httprunner_version()}"})
|
|
||||||
.extract()
|
|
||||||
.with_jmespath("body.args.foo2", "foo3")
|
|
||||||
.validate()
|
|
||||||
.assert_equal("status_code", 200)
|
|
||||||
.assert_equal("body.args.foo1", "bar11")
|
|
||||||
.assert_equal("body.args.sum_v", "3")
|
|
||||||
.assert_equal("body.args.foo2", "bar21")
|
|
||||||
),
|
|
||||||
Step(
|
|
||||||
RunRequest("post raw text")
|
|
||||||
.with_variables(**{"foo1": "bar12", "foo3": "bar32"})
|
|
||||||
.post("/post")
|
|
||||||
.with_headers(
|
|
||||||
**{
|
|
||||||
"User-Agent": "HttpRunner/${get_httprunner_version()}",
|
|
||||||
"Content-Type": "text/plain",
|
|
||||||
}
|
|
||||||
)
|
|
||||||
.with_data(
|
|
||||||
"This is expected to be sent back as part of response body: $foo1-$foo2-$foo3."
|
|
||||||
)
|
|
||||||
.validate()
|
|
||||||
.assert_equal("status_code", 200)
|
|
||||||
.assert_equal(
|
|
||||||
"body.data",
|
|
||||||
"This is expected to be sent back as part of response body: bar12-$expect_foo2-bar32.",
|
|
||||||
)
|
|
||||||
.assert_type_match("body.json", "None")
|
|
||||||
.assert_type_match("body.json", "NoneType")
|
|
||||||
.assert_type_match("body.json", None)
|
|
||||||
),
|
|
||||||
Step(
|
|
||||||
RunRequest("post form data")
|
|
||||||
.with_variables(**{"foo2": "bar23"})
|
|
||||||
.post("/post")
|
|
||||||
.with_headers(
|
|
||||||
**{
|
|
||||||
"User-Agent": "HttpRunner/${get_httprunner_version()}",
|
|
||||||
"Content-Type": "application/x-www-form-urlencoded",
|
|
||||||
}
|
|
||||||
)
|
|
||||||
.with_data("foo1=$foo1&foo2=$foo2&foo3=$foo3")
|
|
||||||
.validate()
|
|
||||||
.assert_equal("status_code", 200, "response status code should be 200")
|
|
||||||
.assert_equal("body.form.foo1", "$expect_foo1")
|
|
||||||
.assert_equal("body.form.foo2", "bar23")
|
|
||||||
.assert_equal("body.form.foo3", "bar21")
|
|
||||||
),
|
|
||||||
]
|
|
||||||
|
|
||||||
|
|
||||||
if __name__ == "__main__":
|
|
||||||
TestCaseRequestWithFunctions().test_start()
|
|
||||||
@@ -1,65 +0,0 @@
|
|||||||
# NOTE: Generated By HttpRunner v4.0.0-alpha
|
|
||||||
# FROM: request_methods/request_with_testcase_reference.yml
|
|
||||||
|
|
||||||
|
|
||||||
import sys
|
|
||||||
from pathlib import Path
|
|
||||||
|
|
||||||
sys.path.insert(0, str(Path(__file__).parent.parent))
|
|
||||||
|
|
||||||
|
|
||||||
from httprunner import HttpRunner, Config, Step, RunRequest, RunTestCase
|
|
||||||
|
|
||||||
from request_methods.request_with_functions_test import (
|
|
||||||
TestCaseRequestWithFunctions as RequestWithFunctions,
|
|
||||||
)
|
|
||||||
|
|
||||||
|
|
||||||
class TestCaseRequestWithTestcaseReference(HttpRunner):
|
|
||||||
|
|
||||||
config = (
|
|
||||||
Config("request with referenced testcase")
|
|
||||||
.variables(
|
|
||||||
**{
|
|
||||||
"foo1": "testcase_ref_bar12",
|
|
||||||
"expect_foo1": "testcase_ref_bar12",
|
|
||||||
"expect_foo2": "testcase_ref_bar22",
|
|
||||||
"foo2": "testcase_ref_bar22",
|
|
||||||
}
|
|
||||||
)
|
|
||||||
.base_url("https://postman-echo.com")
|
|
||||||
.verify(False)
|
|
||||||
)
|
|
||||||
|
|
||||||
teststeps = [
|
|
||||||
Step(
|
|
||||||
RunTestCase("request with functions")
|
|
||||||
.with_variables(
|
|
||||||
**{"foo1": "testcase_ref_bar1", "expect_foo1": "testcase_ref_bar1"}
|
|
||||||
)
|
|
||||||
.setup_hook("${sleep(0.1)}")
|
|
||||||
.call(RequestWithFunctions)
|
|
||||||
.teardown_hook("${sleep(0.2)}")
|
|
||||||
.export(*["foo3"])
|
|
||||||
),
|
|
||||||
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=$foo3")
|
|
||||||
.validate()
|
|
||||||
.assert_equal("status_code", 200)
|
|
||||||
.assert_equal("body.form.foo1", "bar1")
|
|
||||||
.assert_equal("body.form.foo2", "bar21")
|
|
||||||
),
|
|
||||||
]
|
|
||||||
|
|
||||||
|
|
||||||
if __name__ == "__main__":
|
|
||||||
TestCaseRequestWithTestcaseReference().test_start()
|
|
||||||
@@ -1,4 +1,4 @@
|
|||||||
# NOTE: Generated By HttpRunner v4.0.0-alpha
|
# NOTE: Generated By HttpRunner v4.0.0-beta
|
||||||
# FROM: request_methods/hardcode.yml
|
# FROM: request_methods/hardcode.yml
|
||||||
|
|
||||||
|
|
||||||
|
|||||||
@@ -1,4 +1,4 @@
|
|||||||
# NOTE: Generated By HttpRunner v4.0.0-alpha
|
# NOTE: Generated By HttpRunner v4.0.0-beta
|
||||||
# FROM: request_methods/request_with_functions.yml
|
# FROM: request_methods/request_with_functions.yml
|
||||||
|
|
||||||
|
|
||||||
|
|||||||
@@ -1,4 +1,4 @@
|
|||||||
# NOTE: Generated By HttpRunner v4.0.0-alpha
|
# NOTE: Generated By HttpRunner v4.0.0-beta
|
||||||
# FROM: request_methods/request_with_parameters.yml
|
# FROM: request_methods/request_with_parameters.yml
|
||||||
|
|
||||||
|
|
||||||
|
|||||||
@@ -1,4 +1,4 @@
|
|||||||
# NOTE: Generated By HttpRunner v4.0.0-alpha
|
# NOTE: Generated By HttpRunner v4.0.0-beta
|
||||||
# FROM: request_methods/request_with_testcase_reference.yml
|
# FROM: request_methods/request_with_testcase_reference.yml
|
||||||
|
|
||||||
|
|
||||||
|
|||||||
@@ -1,4 +1,4 @@
|
|||||||
# NOTE: Generated By HttpRunner v4.0.0-alpha
|
# NOTE: Generated By HttpRunner v4.0.0-beta
|
||||||
# FROM: request_methods/request_with_variables.yml
|
# FROM: request_methods/request_with_variables.yml
|
||||||
|
|
||||||
|
|
||||||
|
|||||||
@@ -1,4 +1,4 @@
|
|||||||
# NOTE: Generated By HttpRunner v4.0.0-alpha
|
# NOTE: Generated By HttpRunner v4.0.0-beta
|
||||||
# FROM: request_methods/validate_with_functions.yml
|
# FROM: request_methods/validate_with_functions.yml
|
||||||
|
|
||||||
|
|
||||||
|
|||||||
@@ -1,4 +1,4 @@
|
|||||||
# NOTE: Generated By HttpRunner v4.0.0-alpha
|
# NOTE: Generated By HttpRunner v4.0.0-beta
|
||||||
# FROM: request_methods/validate_with_variables.yml
|
# FROM: request_methods/validate_with_variables.yml
|
||||||
|
|
||||||
|
|
||||||
|
|||||||
@@ -42,7 +42,7 @@ func TeardownHookExample(args string) string {
|
|||||||
}
|
}
|
||||||
|
|
||||||
func GetVersion() string {
|
func GetVersion() string {
|
||||||
return "v4.0.0-alpha"
|
return "v4.0.0-beta"
|
||||||
}
|
}
|
||||||
|
|
||||||
func main() {
|
func main() {
|
||||||
|
|||||||
@@ -6,7 +6,7 @@ import funppy
|
|||||||
|
|
||||||
|
|
||||||
def get_httprunner_version():
|
def get_httprunner_version():
|
||||||
return "v4.0.0-alpha"
|
return "v4.0.0-beta"
|
||||||
|
|
||||||
|
|
||||||
def sleep(n_secs):
|
def sleep(n_secs):
|
||||||
|
|||||||
@@ -1,4 +1,4 @@
|
|||||||
# NOTE: Generated By HttpRunner v4.0.0-alpha
|
# NOTE: Generated By HttpRunner v4.0.0-beta
|
||||||
# FROM: testcases/demo_ref_testcase.yml
|
# FROM: testcases/demo_ref_testcase.yml
|
||||||
|
|
||||||
|
|
||||||
|
|||||||
@@ -1,4 +1,4 @@
|
|||||||
# NOTE: Generated By HttpRunner v4.0.0-alpha
|
# NOTE: Generated By HttpRunner v4.0.0-beta
|
||||||
# FROM: testcases/demo_requests.yml
|
# FROM: testcases/demo_requests.yml
|
||||||
|
|
||||||
|
|
||||||
|
|||||||
@@ -1,3 +1,3 @@
|
|||||||
package version
|
package version
|
||||||
|
|
||||||
const VERSION = "v4.0.0-alpha"
|
const VERSION = "v4.0.0-beta"
|
||||||
|
|||||||
@@ -1,4 +1,4 @@
|
|||||||
__version__ = "4.0.0-alpha"
|
__version__ = "4.0.0-beta"
|
||||||
__description__ = "One-stop solution for HTTP(S) testing."
|
__description__ = "One-stop solution for HTTP(S) testing."
|
||||||
|
|
||||||
from httprunner.config import Config
|
from httprunner.config import Config
|
||||||
|
|||||||
@@ -1,6 +1,6 @@
|
|||||||
[tool.poetry]
|
[tool.poetry]
|
||||||
name = "httprunner"
|
name = "httprunner"
|
||||||
version = "4.0.0-alpha"
|
version = "4.0.0-beta"
|
||||||
description = "One-stop solution for HTTP(S) testing."
|
description = "One-stop solution for HTTP(S) testing."
|
||||||
license = "Apache-2.0"
|
license = "Apache-2.0"
|
||||||
readme = "README.md"
|
readme = "README.md"
|
||||||
|
|||||||
@@ -2,7 +2,7 @@
|
|||||||
# install hrp with one shell command
|
# install hrp with one shell command
|
||||||
# bash -c "$(curl -ksSL https://httprunner.oss-cn-beijing.aliyuncs.com/install.sh)"
|
# bash -c "$(curl -ksSL https://httprunner.oss-cn-beijing.aliyuncs.com/install.sh)"
|
||||||
|
|
||||||
LATEST_VERSION="v4.0.0-alpha"
|
LATEST_VERSION="v4.0.0-beta"
|
||||||
|
|
||||||
set -e
|
set -e
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user