From 5d71d8516e71acaef8092a0f4891a1c3fad5ecb6 Mon Sep 17 00:00:00 2001 From: debugtalk Date: Tue, 16 Jun 2020 23:37:37 +0800 Subject: [PATCH] Deployed d0bf37f with MkDocs version: 1.1.2 --- images/httprunner-formats.png | Bin 0 -> 109674 bytes images/httprunner-step-request-validate.png | Bin 0 -> 362317 bytes search/search_index.json | 2 +- sitemap.xml | 14 +++--- sitemap.xml.gz | Bin 199 -> 198 bytes user/write_testcase/index.html | 47 ++++++++++++++++++-- 6 files changed, 52 insertions(+), 11 deletions(-) create mode 100644 images/httprunner-formats.png create mode 100644 images/httprunner-step-request-validate.png diff --git a/images/httprunner-formats.png b/images/httprunner-formats.png new file mode 100644 index 0000000000000000000000000000000000000000..e4e8b1ed44fb67ee2090b04593830f741d4ee2f0 GIT binary patch literal 109674 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
JRVNe(QYDxSf*J>1h|HQz8lQ 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

?yn^M?nWQgJdE$p4tgNnNB6yB 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 G`27z*2qp~x literal 0 HcmV?d00001 diff --git a/images/httprunner-step-request-validate.png b/images/httprunner-step-request-validate.png new file mode 100644 index 0000000000000000000000000000000000000000..a837da8dacc99ba8efaf793a5b6af42ef16afb43 GIT binary patch literal 362317 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

|mn)4t-ifwXgb3xt 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 DcDdYGAFsTME_z%uTBtH3XAgPh#pG%hXhC}`nZ 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 NsMIUT3UQ-={{orzEnNTr literal 0 HcmV?d00001 diff --git a/search/search_index.json b/search/search_index.json index 68b5d936..45a73284 100644 --- a/search/search_index.json +++ b/search/search_index.json @@ -1 +1 @@ -{"config":{"lang":["en"],"min_search_length":3,"prebuild_index":false,"separator":"[\\s\\-]+"},"docs":[{"location":"","text":"HttpRunner \u00b6 HttpRunner is a simple & elegant, yet powerful HTTP(S) testing framework. Enjoy! \u2728 \ud83d\ude80 \u2728 This docs site is corresponding to the latest version 3.x , for 2.x you can reference archive link . Design Philosophy \u00b6 Convention over configuration ROI matters Embrace open source, leverage requests , pytest , pydantic , allure and locust . Key Features \u00b6 Inherit all powerful features of requests , just have fun to handle HTTP(S) in human way. Define testcase in YAML or JSON format, run with pytest in concise and elegant manner. Record and generate testcases with HAR support. Supports variables / extract / validate / hooks mechanisms to create extremely complex test scenarios. With debugtalk.py plugin, any function can be used in any part of your testcase. With jmespath , extract and validate json response has never been easier. With pytest , hundreds of plugins are readily available. With allure , test report can be pretty nice and powerful. With reuse of locust , you can run performance test without extra work. CLI command supported, perfect combination with CI/CD . Subscribe \u00b6 \u5173\u6ce8 HttpRunner \u7684\u5fae\u4fe1\u516c\u4f17\u53f7\uff0c\u7b2c\u4e00\u65f6\u95f4\u83b7\u5f97\u6700\u65b0\u8d44\u8baf\u3002","title":"Introduction"},{"location":"#httprunner","text":"HttpRunner is a simple & elegant, yet powerful HTTP(S) testing framework. Enjoy! \u2728 \ud83d\ude80 \u2728 This docs site is corresponding to the latest version 3.x , for 2.x you can reference archive link .","title":"HttpRunner"},{"location":"#design-philosophy","text":"Convention over configuration ROI matters Embrace open source, leverage requests , pytest , pydantic , allure and locust .","title":"Design Philosophy"},{"location":"#key-features","text":"Inherit all powerful features of requests , just have fun to handle HTTP(S) in human way. Define testcase in YAML or JSON format, run with pytest in concise and elegant manner. Record and generate testcases with HAR support. Supports variables / extract / validate / hooks mechanisms to create extremely complex test scenarios. With debugtalk.py plugin, any function can be used in any part of your testcase. With jmespath , extract and validate json response has never been easier. With pytest , hundreds of plugins are readily available. With allure , test report can be pretty nice and powerful. With reuse of locust , you can run performance test without extra work. CLI command supported, perfect combination with CI/CD .","title":"Key Features"},{"location":"#subscribe","text":"\u5173\u6ce8 HttpRunner \u7684\u5fae\u4fe1\u516c\u4f17\u53f7\uff0c\u7b2c\u4e00\u65f6\u95f4\u83b7\u5f97\u6700\u65b0\u8d44\u8baf\u3002","title":"Subscribe"},{"location":"CHANGELOG/","text":"Release History \u00b6 3.0.13 (2020-06-15) \u00b6 Fixed fix: avoid '.csv' been converted to '_csv' fix: convert har to JSON format testcase fix: missing ${var} handling in overriding config variables fix: SyntaxError caused by quote in case of headers.\"Set-Cookie\" fix: FileExistsError when specified project name conflicts with existed file fix: testcase path handling error when path startswith \"./\" or \".\\\" 3.0.12 (2020-06-14) \u00b6 Fixed fix: compatibility with different path separators of Linux and Windows fix: IndexError in ensure_file_path_valid when file_path=os.getcwd() fix: ensure step referenced api, convert to v3 testcase fix: several other compatibility issues Changed change: skip reporting sentry for errors occurred in debugtalk.py 3.0.11 (2020-06-08) \u00b6 Changed change: override variables (1) testcase: session variables > step variables > config variables (2) testsuite: testcase variables > config variables (3) testsuite testcase variables > testcase config variables Fixed fix: incorrect summary success when testcase failed fix: reload to refresh previously loaded debugtalk module fix: escape $$ in variable value 3.0.10 (2020-06-07) \u00b6 Added feat: implement step setup/teardown hooks feat: support alter response in teardown hooks Fixed fix: ensure upload ready fix: add ExtendJSONEncoder to safely dump json data with python object, such as MultipartEncoder 3.0.9 (2020-06-07) \u00b6 Fixed fix: miss formatting referenced testcase fix: handle cases when parent directory name includes dot/hyphen/space Changed change: add export keyword in TStep to export session variables from referenced testcase change: rename TestCaseInOut field, config_vars and export_vars change: rename StepData field, export_vars change: add --tb=short for hrun command to use shorter traceback format by default change: search debugtalk.py upward recursively until system root dir 3.0.8 (2020-06-04) \u00b6 Added feat: add sentry sdk feat: extract session variable from referenced testcase step Fixed fix: missing request json fix: override testsuite/testcase config verify fix: only strip whitespaces and tabs, \\n\\r are left because they maybe used in changeset fix: log testcase duration before raise ValidationFailure Changed change: add httprunner version in generated pytest file 3.0.7 (2020-06-03) \u00b6 Added feat: make pytest files in chain style feat: hrun supports run pytest files feat: get raw testcase model from pytest file Fixed fix: convert jmespath.search result to int/float unintentionally fix: referenced testcase should not be run duplicately fix: requests.cookies.CookieConflictError, multiple cookies with name fix: missing exit code from pytest fix: skip invalid testcase/testsuite yaml/json file Changed change: har2case generate pytest file by default docs: update sponsor info 3.0.6 (2020-05-29) \u00b6 Added feat: make referenced testcase as pytest class Fixed fix: ensure converted python file in utf-8 encoding fix: duplicate running referenced testcase fix: ensure compatibility issues between testcase format v2 and v3 fix: ensure compatibility with deprecated cli args in v2, include --failfast/--report-file/--save-tests fix: UnicodeDecodeError when request body in protobuf Changed change: make allure-pytest , requests-toolbelt , filetype as optional dependencies change: move all unittests to tests folder change: save testcase log in PWD/logs/ directory 3.0.5 (2020-05-22) \u00b6 Added feat: each testcase has an unique id in uuid4 format feat: add default header HRUN-Request-ID for each testcase #721 feat: builtin allure report feat: dump log for each testcase Fixed fix: ensure referenced testcase share the same session Changed change: remove default added -s option for hrun 3.0.4 (2020-05-19) \u00b6 Added feat: make testsuite and run testsuite feat: testcase/testsuite config support getting variables by function feat: har2case with request cookies feat: log request/response headers and body with indent Fixed fix: extract response cookies fix: handle errors when no valid testcases generated Changed change: har2case do not ignore request headers, except for header startswith : 3.0.3 (2020-05-17) \u00b6 Fixed fix: compatibility with testcase file path includes dots, space and minus sign fix: testcase generator, validate content.xxx => body.xxx fix: scaffold for v3 3.0.2 (2020-05-16) \u00b6 Added feat: add make sub-command to generate python testcases from YAML/JSON feat: format generated python testcases with black test: add postman echo & httpbin as testcase examples Changed refactor all replace jsonschema validation with pydantic remove compatibility with testcase/testsuite format v1 replace unittest with pytest remove builtin html report, allure will be used with pytest later remove locust support temporarily update command line interface 3.0.1 (2020-03-24) \u00b6 Changed remove sentry sdk 3.0.0 (2020-03-10) \u00b6 Added feat: dump log for each testcase feat: add default header HRUN-Request-ID for each testcase #721 Changed remove support for Python 2.7 replace logging with loguru replace string format with f-string remove dependency colorama and colorlog generate reports/logs folder in current working directory remove cli --validate remove cli --pretty","title":"CHANGELOG"},{"location":"CHANGELOG/#release-history","text":"","title":"Release History"},{"location":"CHANGELOG/#3013-2020-06-15","text":"Fixed fix: avoid '.csv' been converted to '_csv' fix: convert har to JSON format testcase fix: missing ${var} handling in overriding config variables fix: SyntaxError caused by quote in case of headers.\"Set-Cookie\" fix: FileExistsError when specified project name conflicts with existed file fix: testcase path handling error when path startswith \"./\" or \".\\\"","title":"3.0.13 (2020-06-15)"},{"location":"CHANGELOG/#3012-2020-06-14","text":"Fixed fix: compatibility with different path separators of Linux and Windows fix: IndexError in ensure_file_path_valid when file_path=os.getcwd() fix: ensure step referenced api, convert to v3 testcase fix: several other compatibility issues Changed change: skip reporting sentry for errors occurred in debugtalk.py","title":"3.0.12 (2020-06-14)"},{"location":"CHANGELOG/#3011-2020-06-08","text":"Changed change: override variables (1) testcase: session variables > step variables > config variables (2) testsuite: testcase variables > config variables (3) testsuite testcase variables > testcase config variables Fixed fix: incorrect summary success when testcase failed fix: reload to refresh previously loaded debugtalk module fix: escape $$ in variable value","title":"3.0.11 (2020-06-08)"},{"location":"CHANGELOG/#3010-2020-06-07","text":"Added feat: implement step setup/teardown hooks feat: support alter response in teardown hooks Fixed fix: ensure upload ready fix: add ExtendJSONEncoder to safely dump json data with python object, such as MultipartEncoder","title":"3.0.10 (2020-06-07)"},{"location":"CHANGELOG/#309-2020-06-07","text":"Fixed fix: miss formatting referenced testcase fix: handle cases when parent directory name includes dot/hyphen/space Changed change: add export keyword in TStep to export session variables from referenced testcase change: rename TestCaseInOut field, config_vars and export_vars change: rename StepData field, export_vars change: add --tb=short for hrun command to use shorter traceback format by default change: search debugtalk.py upward recursively until system root dir","title":"3.0.9 (2020-06-07)"},{"location":"CHANGELOG/#308-2020-06-04","text":"Added feat: add sentry sdk feat: extract session variable from referenced testcase step Fixed fix: missing request json fix: override testsuite/testcase config verify fix: only strip whitespaces and tabs, \\n\\r are left because they maybe used in changeset fix: log testcase duration before raise ValidationFailure Changed change: add httprunner version in generated pytest file","title":"3.0.8 (2020-06-04)"},{"location":"CHANGELOG/#307-2020-06-03","text":"Added feat: make pytest files in chain style feat: hrun supports run pytest files feat: get raw testcase model from pytest file Fixed fix: convert jmespath.search result to int/float unintentionally fix: referenced testcase should not be run duplicately fix: requests.cookies.CookieConflictError, multiple cookies with name fix: missing exit code from pytest fix: skip invalid testcase/testsuite yaml/json file Changed change: har2case generate pytest file by default docs: update sponsor info","title":"3.0.7 (2020-06-03)"},{"location":"CHANGELOG/#306-2020-05-29","text":"Added feat: make referenced testcase as pytest class Fixed fix: ensure converted python file in utf-8 encoding fix: duplicate running referenced testcase fix: ensure compatibility issues between testcase format v2 and v3 fix: ensure compatibility with deprecated cli args in v2, include --failfast/--report-file/--save-tests fix: UnicodeDecodeError when request body in protobuf Changed change: make allure-pytest , requests-toolbelt , filetype as optional dependencies change: move all unittests to tests folder change: save testcase log in PWD/logs/ directory","title":"3.0.6 (2020-05-29)"},{"location":"CHANGELOG/#305-2020-05-22","text":"Added feat: each testcase has an unique id in uuid4 format feat: add default header HRUN-Request-ID for each testcase #721 feat: builtin allure report feat: dump log for each testcase Fixed fix: ensure referenced testcase share the same session Changed change: remove default added -s option for hrun","title":"3.0.5 (2020-05-22)"},{"location":"CHANGELOG/#304-2020-05-19","text":"Added feat: make testsuite and run testsuite feat: testcase/testsuite config support getting variables by function feat: har2case with request cookies feat: log request/response headers and body with indent Fixed fix: extract response cookies fix: handle errors when no valid testcases generated Changed change: har2case do not ignore request headers, except for header startswith :","title":"3.0.4 (2020-05-19)"},{"location":"CHANGELOG/#303-2020-05-17","text":"Fixed fix: compatibility with testcase file path includes dots, space and minus sign fix: testcase generator, validate content.xxx => body.xxx fix: scaffold for v3","title":"3.0.3 (2020-05-17)"},{"location":"CHANGELOG/#302-2020-05-16","text":"Added feat: add make sub-command to generate python testcases from YAML/JSON feat: format generated python testcases with black test: add postman echo & httpbin as testcase examples Changed refactor all replace jsonschema validation with pydantic remove compatibility with testcase/testsuite format v1 replace unittest with pytest remove builtin html report, allure will be used with pytest later remove locust support temporarily update command line interface","title":"3.0.2 (2020-05-16)"},{"location":"CHANGELOG/#301-2020-03-24","text":"Changed remove sentry sdk","title":"3.0.1 (2020-03-24)"},{"location":"CHANGELOG/#300-2020-03-10","text":"Added feat: dump log for each testcase feat: add default header HRUN-Request-ID for each testcase #721 Changed remove support for Python 2.7 replace logging with loguru replace string format with f-string remove dependency colorama and colorlog generate reports/logs folder in current working directory remove cli --validate remove cli --pretty","title":"3.0.0 (2020-03-10)"},{"location":"installation/","text":"HttpRunner is developed with Python, it supports Python 3.6+ and most operating systems. Combination of Python 3.6/3.7/3.8 and macOS/Linux/Windows are tested continuously on GitHub-Actions . Installation \u00b6 HttpRunner is available on PyPI and can be installed through pip . $ pip3 install httprunner If you want to keep up with the latest version, you can install with github repository url. $ pip3 install git+https://github.com/httprunner/httprunner.git@master If\b you have installed HttpRunner before and want to upgrade to the latest version, you can use the -U option. $ pip3 install -U httprunner $ pip3 install -U git+https://github.com/httprunner/httprunner.git@master Check Installation \u00b6 When HttpRunner is installed, 4 commands will be added in your system. httprunner : main command, used for all functions hrun : alias for httprunner run , used to run YAML/JSON/pytest testcases hmake : alias for httprunner make , used to convert YAML/JSON testcases to pytest files har2case : alias for httprunner har2case , used to convert HAR to YAML/JSON testcases To see HttpRunner version: $ httprunner -V # hrun -V 3.0.10 To see available options, run: $ httprunner -h usage: httprunner [-h] [-V] {run,startproject,har2case,make} ... One-stop solution for HTTP(S) testing. positional arguments: {run,startproject,har2case,make} sub-command help run Make HttpRunner testcases and run with pytest. startproject Create a new project with template structure. har2case Convert HAR(HTTP Archive) to YAML/JSON testcases for HttpRunner. make Convert YAML/JSON testcases to pytest cases. optional arguments: -h, --help show this help message and exit -V, --version show version","title":"Installation"},{"location":"installation/#installation","text":"HttpRunner is available on PyPI and can be installed through pip . $ pip3 install httprunner If you want to keep up with the latest version, you can install with github repository url. $ pip3 install git+https://github.com/httprunner/httprunner.git@master If\b you have installed HttpRunner before and want to upgrade to the latest version, you can use the -U option. $ pip3 install -U httprunner $ pip3 install -U git+https://github.com/httprunner/httprunner.git@master","title":"Installation"},{"location":"installation/#check-installation","text":"When HttpRunner is installed, 4 commands will be added in your system. httprunner : main command, used for all functions hrun : alias for httprunner run , used to run YAML/JSON/pytest testcases hmake : alias for httprunner make , used to convert YAML/JSON testcases to pytest files har2case : alias for httprunner har2case , used to convert HAR to YAML/JSON testcases To see HttpRunner version: $ httprunner -V # hrun -V 3.0.10 To see available options, run: $ httprunner -h usage: httprunner [-h] [-V] {run,startproject,har2case,make} ... One-stop solution for HTTP(S) testing. positional arguments: {run,startproject,har2case,make} sub-command help run Make HttpRunner testcases and run with pytest. startproject Create a new project with template structure. har2case Convert HAR(HTTP Archive) to YAML/JSON testcases for HttpRunner. make Convert YAML/JSON testcases to pytest cases. optional arguments: -h, --help show this help message and exit -V, --version show version","title":"Check Installation"},{"location":"quickstart/","text":"Quick Start \u00b6 First of all, remember HttpRunner is a simple yet powerful HTTP(S) testing framework. This document will help you to learn HttpRunner in 10 minutes. Write the first test case \u00b6 Open your favorite text editor and you can write test cases like this. - test : name : get token request : url : http://127.0.0.1:5000/api/get-token method : POST headers : user_agent : iOS/10.3 device_sn : 9TN6O2Bn1vzfybF os_platform : ios app_version : 2.8.6 json : sign : 19067cf712265eb5426db8d3664026c1ccea02b9 - test : name : create user which does not exist request : url : http://127.0.0.1:5000/api/users/1000 method : POST headers : device_sn : 9TN6O2Bn1vzfybF token : F8prvGryC5beBr4g json : name : \"user1\" password : \"123456\" validate : - { \"check\" : \"status_code\" , \"comparator\" : \"eq\" , \"expect\" : 201 } - { \"check\" : \"content.success\" , \"comparator\" : \"eq\" , \"expect\" : true } As you see, each API request is described in a test block. And in the request field, it describes the detail of HTTP request, includes url, method, headers and data, which are in line with the captured traffic. You may wonder why we use the json field other than data . That's because the post data is in JSON format, when we use json to indicate the post data, we do not have to specify Content-Type to be application/json in request headers or dump data before request. Have you recalled some familiar scenes? Yes! That's what we did in requests.request ! Since HttpRunner takes full reuse of Requests , it inherits all powerful features of Requests , and we can handle HTTP request as the way we do before. Run test cases \u00b6 Suppose the test case file is named as quickstart-demo-rev-0.yml and is located in examples folder, then we can run it in this way. ate examples/demo-rev-0.yml Running tests... ---------------------------------------------------------------------- get token ... INFO:root: Start to POST http://127.0.0.1:5000/api/get-token INFO:root: status_code: 200, response_time: 48 ms, response_length: 46 bytes OK (0.049669)s create user which does not exist ... INFO:root: Start to POST http://127.0.0.1:5000/api/users/1000 ERROR:root: Failed to POST http://127.0.0.1:5000/api/users/1000! exception msg: 403 Client Error: FORBIDDEN for url: http://127.0.0.1:5000/api/users/1000 ERROR (0.006471)s ---------------------------------------------------------------------- Ran 2 tests in 0.056s FAILED (Errors=1) Oops! The second test case failed with 403 status code. That is because we request with the same data as we captured in Charles Proxy , while the token is generated dynamically, thus the recorded data can not be be used twice directly. Optimize test case: correlation \u00b6 To fix this problem, we should correlate token field in the second API test case, which is also called correlation . - test : name : get token request : url : http://127.0.0.1:5000/api/get-token method : POST headers : user_agent : iOS/10.3 device_sn : 9TN6O2Bn1vzfybF os_platform : ios app_version : 2.8.6 json : sign : 19067cf712265eb5426db8d3664026c1ccea02b9 extract : - token : content.token validate : - { \"check\" : \"status_code\" , \"comparator\" : \"eq\" , \"expect\" : 200 } - { \"check\" : \"content.token\" , \"comparator\" : \"len_eq\" , \"expect\" : 16 } - test : name : create user which does not exist request : url : http://127.0.0.1:5000/api/users/1000 method : POST headers : device_sn : 9TN6O2Bn1vzfybF token : $token json : name : \"user1\" password : \"123456\" validate : - { \"check\" : \"status_code\" , \"comparator\" : \"eq\" , \"expect\" : 201 } - { \"check\" : \"content.success\" , \"comparator\" : \"eq\" , \"expect\" : true } As you see, the token field is no longer hardcoded, instead it is extracted from the first API request with extract mechanism. In the meanwhile, it is assigned to token variable, which can be referenced by the subsequent API requests. Now we save the test cases to quickstart-demo-rev-1.yml and rerun it, and we will find that both API requests to be successful. Optimize test case: parameterization \u00b6 Let's look back to our test set quickstart-demo-rev-1.yml , and we can see the device_sn field is still hardcoded. This may be quite different from the actual scenarios. In actual scenarios, each user's device_sn is different, so we should parameterize the request parameters, which is also called parameterization . In the meanwhile, the sign field is calculated with other header fields, thus it may change significantly if any header field changes slightly. However, the test cases are only YAML documents, it is impossible to generate parameters dynamically in such text. Fortunately, we can combine Python scripts with YAML/JSON test cases in HttpRunner . To achieve this goal, we can utilize debugtalk.py plugin and variables mechanisms. To be specific, we can create a Python file ( examples/debugtalk.py ) and implement the related algorithm in it. The debugtalk.py file can not only be located beside YAML/JSON testcase file, but also can be in any upward recursive folder. Since we want debugtalk.py to be importable, we should put a __init__.py in its folder to make it as a Python module. import hashlib import hmac import random import string SECRET_KEY = \"DebugTalk\" def get_sign ( * args ): content = '' . join ( args ) . encode ( 'ascii' ) sign_key = SECRET_KEY . encode ( 'ascii' ) sign = hmac . new ( sign_key , content , hashlib . sha1 ) . hexdigest () return sign def gen_random_string ( str_len ): random_char_list = [] for _ in range ( str_len ): random_char = random . choice ( string . ascii_letters + string . digits ) random_char_list . append ( random_char ) random_string = '' . join ( random_char_list ) return random_string And then, we can revise our demo test case and reference the functions. Suppose the revised file named quickstart-demo-rev-2.yml . - test : name : get token variables : - user_agent : 'iOS/10.3' - device_sn : ${gen_random_string(15)} - os_platform : 'ios' - app_version : '2.8.6' request : url : http://127.0.0.1:5000/api/get-token method : POST headers : user_agent : $user_agent device_sn : $device_sn os_platform : $os_platform app_version : $app_version json : sign : ${get_sign($user_agent, $device_sn, $os_platform, $app_version)} extract : - token : content.token validate : - { \"check\" : \"status_code\" , \"comparator\" : \"eq\" , \"expect\" : 200 } - { \"check\" : \"content.token\" , \"comparator\" : \"len_eq\" , \"expect\" : 16 } - test : name : create user which does not exist request : url : http://127.0.0.1:5000/api/users/1000 method : POST headers : device_sn : $device_sn token : $token json : name : \"user1\" password : \"123456\" validate : - { \"check\" : \"status_code\" , \"comparator\" : \"eq\" , \"expect\" : 201 } - { \"check\" : \"content.success\" , \"comparator\" : \"eq\" , \"expect\" : true } In this revised test case, variable reference and function invoke mechanisms are both used. To make fields like device_sn can be used more than once, we bind values to variables in variables block. When we bind variables, we can not only bind exact value to a variable name, but also can call a function and bind the evaluated value to it. When we want to reference a variable in the test case, we can do this with a escape character $ . For example, $user_agent will not be taken as a normal string, and HttpRunner will consider it as a variable named user_agent , search and return its binding value. When we want to reference a function, we shall use another escape character ${} . Any content in ${} will be considered as function calling, so we should guarantee that we call functions in the right way. At the same time, variables can also be referenced as parameters of function. Optimize test case: overall config block \u00b6 There is still one issue unsolved. The device_sn field is defined in the first API test case, thus it may be impossible to reference it in other test cases. Context separation is a well-designed mechanism, and we should obey this good practice. To handle this case, overall config block is supported in HttpRunner . If we define variables or import functions in config block, these variables and functions will become global and can be referenced in the whole test set. # examples/quickstart-demo-rev-3.yml - config : name : \"smoketest for CRUD users.\" variables : - device_sn : ${gen_random_string(15)} request : base_url : http://127.0.0.1:5000 headers : device_sn : $device_sn - test : name : get token variables : - user_agent : 'iOS/10.3' - os_platform : 'ios' - app_version : '2.8.6' request : url : /api/get-token method : POST headers : user_agent : $user_agent os_platform : $os_platform app_version : $app_version json : sign : ${get_sign($user_agent, $device_sn, $os_platform, $app_version)} extract : - token : content.token validate : - { \"check\" : \"status_code\" , \"comparator\" : \"eq\" , \"expect\" : 200 } - { \"check\" : \"content.token\" , \"comparator\" : \"len_eq\" , \"expect\" : 16 } - test : name : create user which does not exist request : url : /api/users/1000 method : POST headers : token : $token json : name : \"user1\" password : \"123456\" validate : - { \"check\" : \"status_code\" , \"comparator\" : \"eq\" , \"expect\" : 201 } - { \"check\" : \"content.success\" , \"comparator\" : \"eq\" , \"expect\" : true } As you see, we define variables in config block. Also, we can set base_url in config block, thereby we can specify relative path in each API request url. Besides, we can also set common fields in config request , such as device_sn in headers. Until now, the test cases are finished and each detail is handled properly. Run test cases and generate report \u00b6 Finally, let's run test set quickstart-demo-rev-3.yml once more. $ ate examples/quickstart-demo-rev-4.yml Running tests... ---------------------------------------------------------------------- get token ... INFO:root: Start to POST http://127.0.0.1:5000/api/get-token INFO:root: status_code: 200, response_time: 33 ms, response_length: 46 bytes OK (0.037027)s create user which does not exist ... INFO:root: Start to POST http://127.0.0.1:5000/api/users/1000 INFO:root: status_code: 201, response_time: 15 ms, response_length: 54 bytes OK (0.016414)s ---------------------------------------------------------------------- Ran 2 tests in 0.054s OK Generating HTML reports... Template is not specified, load default template instead. Reports generated: /Users/Leo/MyProjects/HttpRunner/reports/quickstart-demo-rev-0/2017-08-01-16-51-51.html Great! The test case runs successfully and generates a HTML test report. Further more \u00b6 This is just a starting point, see the advanced guide for the advanced features. templating data extraction and validation comparator","title":"Quick Start"},{"location":"quickstart/#quick-start","text":"First of all, remember HttpRunner is a simple yet powerful HTTP(S) testing framework. This document will help you to learn HttpRunner in 10 minutes.","title":"Quick Start"},{"location":"quickstart/#write-the-first-test-case","text":"Open your favorite text editor and you can write test cases like this. - test : name : get token request : url : http://127.0.0.1:5000/api/get-token method : POST headers : user_agent : iOS/10.3 device_sn : 9TN6O2Bn1vzfybF os_platform : ios app_version : 2.8.6 json : sign : 19067cf712265eb5426db8d3664026c1ccea02b9 - test : name : create user which does not exist request : url : http://127.0.0.1:5000/api/users/1000 method : POST headers : device_sn : 9TN6O2Bn1vzfybF token : F8prvGryC5beBr4g json : name : \"user1\" password : \"123456\" validate : - { \"check\" : \"status_code\" , \"comparator\" : \"eq\" , \"expect\" : 201 } - { \"check\" : \"content.success\" , \"comparator\" : \"eq\" , \"expect\" : true } As you see, each API request is described in a test block. And in the request field, it describes the detail of HTTP request, includes url, method, headers and data, which are in line with the captured traffic. You may wonder why we use the json field other than data . That's because the post data is in JSON format, when we use json to indicate the post data, we do not have to specify Content-Type to be application/json in request headers or dump data before request. Have you recalled some familiar scenes? Yes! That's what we did in requests.request ! Since HttpRunner takes full reuse of Requests , it inherits all powerful features of Requests , and we can handle HTTP request as the way we do before.","title":"Write the first test case"},{"location":"quickstart/#run-test-cases","text":"Suppose the test case file is named as quickstart-demo-rev-0.yml and is located in examples folder, then we can run it in this way. ate examples/demo-rev-0.yml Running tests... ---------------------------------------------------------------------- get token ... INFO:root: Start to POST http://127.0.0.1:5000/api/get-token INFO:root: status_code: 200, response_time: 48 ms, response_length: 46 bytes OK (0.049669)s create user which does not exist ... INFO:root: Start to POST http://127.0.0.1:5000/api/users/1000 ERROR:root: Failed to POST http://127.0.0.1:5000/api/users/1000! exception msg: 403 Client Error: FORBIDDEN for url: http://127.0.0.1:5000/api/users/1000 ERROR (0.006471)s ---------------------------------------------------------------------- Ran 2 tests in 0.056s FAILED (Errors=1) Oops! The second test case failed with 403 status code. That is because we request with the same data as we captured in Charles Proxy , while the token is generated dynamically, thus the recorded data can not be be used twice directly.","title":"Run test cases"},{"location":"quickstart/#optimize-test-case-correlation","text":"To fix this problem, we should correlate token field in the second API test case, which is also called correlation . - test : name : get token request : url : http://127.0.0.1:5000/api/get-token method : POST headers : user_agent : iOS/10.3 device_sn : 9TN6O2Bn1vzfybF os_platform : ios app_version : 2.8.6 json : sign : 19067cf712265eb5426db8d3664026c1ccea02b9 extract : - token : content.token validate : - { \"check\" : \"status_code\" , \"comparator\" : \"eq\" , \"expect\" : 200 } - { \"check\" : \"content.token\" , \"comparator\" : \"len_eq\" , \"expect\" : 16 } - test : name : create user which does not exist request : url : http://127.0.0.1:5000/api/users/1000 method : POST headers : device_sn : 9TN6O2Bn1vzfybF token : $token json : name : \"user1\" password : \"123456\" validate : - { \"check\" : \"status_code\" , \"comparator\" : \"eq\" , \"expect\" : 201 } - { \"check\" : \"content.success\" , \"comparator\" : \"eq\" , \"expect\" : true } As you see, the token field is no longer hardcoded, instead it is extracted from the first API request with extract mechanism. In the meanwhile, it is assigned to token variable, which can be referenced by the subsequent API requests. Now we save the test cases to quickstart-demo-rev-1.yml and rerun it, and we will find that both API requests to be successful.","title":"Optimize test case: correlation"},{"location":"quickstart/#optimize-test-case-parameterization","text":"Let's look back to our test set quickstart-demo-rev-1.yml , and we can see the device_sn field is still hardcoded. This may be quite different from the actual scenarios. In actual scenarios, each user's device_sn is different, so we should parameterize the request parameters, which is also called parameterization . In the meanwhile, the sign field is calculated with other header fields, thus it may change significantly if any header field changes slightly. However, the test cases are only YAML documents, it is impossible to generate parameters dynamically in such text. Fortunately, we can combine Python scripts with YAML/JSON test cases in HttpRunner . To achieve this goal, we can utilize debugtalk.py plugin and variables mechanisms. To be specific, we can create a Python file ( examples/debugtalk.py ) and implement the related algorithm in it. The debugtalk.py file can not only be located beside YAML/JSON testcase file, but also can be in any upward recursive folder. Since we want debugtalk.py to be importable, we should put a __init__.py in its folder to make it as a Python module. import hashlib import hmac import random import string SECRET_KEY = \"DebugTalk\" def get_sign ( * args ): content = '' . join ( args ) . encode ( 'ascii' ) sign_key = SECRET_KEY . encode ( 'ascii' ) sign = hmac . new ( sign_key , content , hashlib . sha1 ) . hexdigest () return sign def gen_random_string ( str_len ): random_char_list = [] for _ in range ( str_len ): random_char = random . choice ( string . ascii_letters + string . digits ) random_char_list . append ( random_char ) random_string = '' . join ( random_char_list ) return random_string And then, we can revise our demo test case and reference the functions. Suppose the revised file named quickstart-demo-rev-2.yml . - test : name : get token variables : - user_agent : 'iOS/10.3' - device_sn : ${gen_random_string(15)} - os_platform : 'ios' - app_version : '2.8.6' request : url : http://127.0.0.1:5000/api/get-token method : POST headers : user_agent : $user_agent device_sn : $device_sn os_platform : $os_platform app_version : $app_version json : sign : ${get_sign($user_agent, $device_sn, $os_platform, $app_version)} extract : - token : content.token validate : - { \"check\" : \"status_code\" , \"comparator\" : \"eq\" , \"expect\" : 200 } - { \"check\" : \"content.token\" , \"comparator\" : \"len_eq\" , \"expect\" : 16 } - test : name : create user which does not exist request : url : http://127.0.0.1:5000/api/users/1000 method : POST headers : device_sn : $device_sn token : $token json : name : \"user1\" password : \"123456\" validate : - { \"check\" : \"status_code\" , \"comparator\" : \"eq\" , \"expect\" : 201 } - { \"check\" : \"content.success\" , \"comparator\" : \"eq\" , \"expect\" : true } In this revised test case, variable reference and function invoke mechanisms are both used. To make fields like device_sn can be used more than once, we bind values to variables in variables block. When we bind variables, we can not only bind exact value to a variable name, but also can call a function and bind the evaluated value to it. When we want to reference a variable in the test case, we can do this with a escape character $ . For example, $user_agent will not be taken as a normal string, and HttpRunner will consider it as a variable named user_agent , search and return its binding value. When we want to reference a function, we shall use another escape character ${} . Any content in ${} will be considered as function calling, so we should guarantee that we call functions in the right way. At the same time, variables can also be referenced as parameters of function.","title":"Optimize test case: parameterization"},{"location":"quickstart/#optimize-test-case-overall-config-block","text":"There is still one issue unsolved. The device_sn field is defined in the first API test case, thus it may be impossible to reference it in other test cases. Context separation is a well-designed mechanism, and we should obey this good practice. To handle this case, overall config block is supported in HttpRunner . If we define variables or import functions in config block, these variables and functions will become global and can be referenced in the whole test set. # examples/quickstart-demo-rev-3.yml - config : name : \"smoketest for CRUD users.\" variables : - device_sn : ${gen_random_string(15)} request : base_url : http://127.0.0.1:5000 headers : device_sn : $device_sn - test : name : get token variables : - user_agent : 'iOS/10.3' - os_platform : 'ios' - app_version : '2.8.6' request : url : /api/get-token method : POST headers : user_agent : $user_agent os_platform : $os_platform app_version : $app_version json : sign : ${get_sign($user_agent, $device_sn, $os_platform, $app_version)} extract : - token : content.token validate : - { \"check\" : \"status_code\" , \"comparator\" : \"eq\" , \"expect\" : 200 } - { \"check\" : \"content.token\" , \"comparator\" : \"len_eq\" , \"expect\" : 16 } - test : name : create user which does not exist request : url : /api/users/1000 method : POST headers : token : $token json : name : \"user1\" password : \"123456\" validate : - { \"check\" : \"status_code\" , \"comparator\" : \"eq\" , \"expect\" : 201 } - { \"check\" : \"content.success\" , \"comparator\" : \"eq\" , \"expect\" : true } As you see, we define variables in config block. Also, we can set base_url in config block, thereby we can specify relative path in each API request url. Besides, we can also set common fields in config request , such as device_sn in headers. Until now, the test cases are finished and each detail is handled properly.","title":"Optimize test case: overall config block"},{"location":"quickstart/#run-test-cases-and-generate-report","text":"Finally, let's run test set quickstart-demo-rev-3.yml once more. $ ate examples/quickstart-demo-rev-4.yml Running tests... ---------------------------------------------------------------------- get token ... INFO:root: Start to POST http://127.0.0.1:5000/api/get-token INFO:root: status_code: 200, response_time: 33 ms, response_length: 46 bytes OK (0.037027)s create user which does not exist ... INFO:root: Start to POST http://127.0.0.1:5000/api/users/1000 INFO:root: status_code: 201, response_time: 15 ms, response_length: 54 bytes OK (0.016414)s ---------------------------------------------------------------------- Ran 2 tests in 0.054s OK Generating HTML reports... Template is not specified, load default template instead. Reports generated: /Users/Leo/MyProjects/HttpRunner/reports/quickstart-demo-rev-0/2017-08-01-16-51-51.html Great! The test case runs successfully and generates a HTML test report.","title":"Run test cases and generate report"},{"location":"quickstart/#further-more","text":"This is just a starting point, see the advanced guide for the advanced features. templating data extraction and validation comparator","title":"Further more"},{"location":"sponsors/","text":"\u8d5e\u52a9\u5546 \u00b6 \u611f\u8c22\u5404\u4f4d\u5bf9 HttpRunner \u7684\u8d5e\u52a9\u652f\u6301\uff01 \u91d1\u724c\u8d5e\u52a9\u5546\uff08Gold Sponsor\uff09 \u00b6 \u970d\u683c\u6c83\u5179\u6d4b\u8bd5\u5b66\u9662 \u662f\u4e1a\u754c\u9886\u5148\u7684\u6d4b\u8bd5\u5f00\u53d1\u6280\u672f\u9ad8\u7aef\u6559\u80b2\u54c1\u724c\uff0c\u96b6\u5c5e\u4e8e\u6d4b\u5427\uff08\u5317\u4eac\uff09\u79d1\u6280\u6709\u9650\u516c\u53f8\u3002\u5b66\u9662\u8bfe\u7a0b\u5747\u7531 BAT \u4e00\u7ebf\u6d4b\u8bd5\u5927\u5496\u6267\u6559\uff0c\u63d0\u4f9b\u5b9e\u6218\u9a71\u52a8\u7684\u63a5\u53e3\u81ea\u52a8\u5316\u6d4b\u8bd5\u3001\u79fb\u52a8\u81ea\u52a8\u5316\u6d4b\u8bd5\u3001\u6027\u80fd\u6d4b\u8bd5\u3001\u6301\u7eed\u96c6\u6210\u4e0e DevOps \u7b49\u6280\u672f\u57f9\u8bad\uff0c\u4ee5\u53ca\u6d4b\u8bd5\u5f00\u53d1\u4f18\u79c0\u4eba\u624d\u5185\u63a8\u670d\u52a1\u3002 \u70b9\u51fb\u5b66\u4e60! \u970d\u683c\u6c83\u5179\u6d4b\u8bd5\u5b66\u9662 \u662f HttpRunner \u7684\u9996\u5bb6\u91d1\u724c\u8d5e\u52a9\u5546\u3002 \u5f00\u6e90\u670d\u52a1\u8d5e\u52a9\u5546\uff08Open Source Sponsor\uff09 \u00b6 HttpRunner is in Sentry Sponsored plan. \u6210\u4e3a\u8d5e\u52a9\u5546 \u00b6 \u5982\u679c\u4f60\u6240\u5728\u7684\u516c\u53f8\u6216\u4e2a\u4eba\u4e5f\u60f3\u5bf9 HttpRunner \u8fdb\u884c\u8d5e\u52a9\uff0c\u53ef\u53c2\u8003\u5982\u4e0b\u65b9\u6848\uff0c\u5177\u4f53\u53ef\u8054\u7cfb \u9879\u76ee\u4f5c\u8005 \u3002 \u7b49\u7ea7 \u91d1\u724c\u8d5e\u52a9\u5546 \uff08Gold Sponsor\uff09 \u94f6\u724c\u8d5e\u52a9\u5546 \uff08Silver Sponsor\uff09 \u4e2a\u4eba\u8d5e\u8d4f \u91d1\u989d \uffe510000/\u5e74 \uffe55000/\u5e74 \u4efb\u610f \u6743\u76ca \u516c\u53f8 logo\uff08\u5927\uff09\u548c\u94fe\u63a5\u5c55\u793a\u5728 README.md 150 \u5b57\u7684\u5ba3\u4f20\u6587\u6848 \u516c\u53f8 logo\uff08\u4e2d\uff09\u548c\u94fe\u63a5\u5c55\u793a\u5728 README.md 50 \u5b57\u7684\u5ba3\u4f20\u6587\u6848 \u4e2a\u4eba ID \u548c\u94fe\u63a5\u5c55\u793a\u5728 sponsors.md","title":"Sponsors"},{"location":"sponsors/#_1","text":"\u611f\u8c22\u5404\u4f4d\u5bf9 HttpRunner \u7684\u8d5e\u52a9\u652f\u6301\uff01","title":"\u8d5e\u52a9\u5546"},{"location":"sponsors/#gold-sponsor","text":"\u970d\u683c\u6c83\u5179\u6d4b\u8bd5\u5b66\u9662 \u662f\u4e1a\u754c\u9886\u5148\u7684\u6d4b\u8bd5\u5f00\u53d1\u6280\u672f\u9ad8\u7aef\u6559\u80b2\u54c1\u724c\uff0c\u96b6\u5c5e\u4e8e\u6d4b\u5427\uff08\u5317\u4eac\uff09\u79d1\u6280\u6709\u9650\u516c\u53f8\u3002\u5b66\u9662\u8bfe\u7a0b\u5747\u7531 BAT \u4e00\u7ebf\u6d4b\u8bd5\u5927\u5496\u6267\u6559\uff0c\u63d0\u4f9b\u5b9e\u6218\u9a71\u52a8\u7684\u63a5\u53e3\u81ea\u52a8\u5316\u6d4b\u8bd5\u3001\u79fb\u52a8\u81ea\u52a8\u5316\u6d4b\u8bd5\u3001\u6027\u80fd\u6d4b\u8bd5\u3001\u6301\u7eed\u96c6\u6210\u4e0e DevOps \u7b49\u6280\u672f\u57f9\u8bad\uff0c\u4ee5\u53ca\u6d4b\u8bd5\u5f00\u53d1\u4f18\u79c0\u4eba\u624d\u5185\u63a8\u670d\u52a1\u3002 \u70b9\u51fb\u5b66\u4e60! \u970d\u683c\u6c83\u5179\u6d4b\u8bd5\u5b66\u9662 \u662f HttpRunner \u7684\u9996\u5bb6\u91d1\u724c\u8d5e\u52a9\u5546\u3002","title":"\u91d1\u724c\u8d5e\u52a9\u5546\uff08Gold Sponsor\uff09"},{"location":"sponsors/#open-source-sponsor","text":"HttpRunner is in Sentry Sponsored plan.","title":"\u5f00\u6e90\u670d\u52a1\u8d5e\u52a9\u5546\uff08Open Source Sponsor\uff09"},{"location":"sponsors/#_2","text":"\u5982\u679c\u4f60\u6240\u5728\u7684\u516c\u53f8\u6216\u4e2a\u4eba\u4e5f\u60f3\u5bf9 HttpRunner \u8fdb\u884c\u8d5e\u52a9\uff0c\u53ef\u53c2\u8003\u5982\u4e0b\u65b9\u6848\uff0c\u5177\u4f53\u53ef\u8054\u7cfb \u9879\u76ee\u4f5c\u8005 \u3002 \u7b49\u7ea7 \u91d1\u724c\u8d5e\u52a9\u5546 \uff08Gold Sponsor\uff09 \u94f6\u724c\u8d5e\u52a9\u5546 \uff08Silver Sponsor\uff09 \u4e2a\u4eba\u8d5e\u8d4f \u91d1\u989d \uffe510000/\u5e74 \uffe55000/\u5e74 \u4efb\u610f \u6743\u76ca \u516c\u53f8 logo\uff08\u5927\uff09\u548c\u94fe\u63a5\u5c55\u793a\u5728 README.md 150 \u5b57\u7684\u5ba3\u4f20\u6587\u6848 \u516c\u53f8 logo\uff08\u4e2d\uff09\u548c\u94fe\u63a5\u5c55\u793a\u5728 README.md 50 \u5b57\u7684\u5ba3\u4f20\u6587\u6848 \u4e2a\u4eba ID \u548c\u94fe\u63a5\u5c55\u793a\u5728 sponsors.md","title":"\u6210\u4e3a\u8d5e\u52a9\u5546"},{"location":"dev/models/","text":"Models \u00b6 HttpRunner v3.x uses pydantic to define models of testcase.","title":"Models"},{"location":"dev/models/#models","text":"HttpRunner v3.x uses pydantic to define models of testcase.","title":"Models"},{"location":"user/gen_tests/","text":"Record & Generate testcase \u00b6 capture HTTP request and response \u00b6 Before we write testcases, we should know the details of the API. It is a good choice to use a web debugging proxy tool like Charles Proxy to capture the HTTP traffic. For example, the image below illustrates post form data to postman-echo.com . export sessions to HAR file \u00b6 Then we can select captured request & response and export sessions to HTTP archive (.har) file. generate testcase with har2case \u00b6 When you get HAR file, you can use builtin command har2case to convert it to HttpRunner testcase. help \u00b6 $ har2case -h usage: har2case har2case [-h] [-2y] [-2j] [--filter FILTER] [--exclude EXCLUDE] [har_source_file] positional arguments: har_source_file Specify HAR source file optional arguments: -h, --help show this help message and exit -2y, --to-yml, --to-yaml Convert to YAML format, if not specified, convert to pytest format by default. -2j, --to-json Convert to JSON format, if not specified, convert to pytest format by default. --filter FILTER Specify filter keyword, only url include filter string will be converted. --exclude EXCLUDE Specify exclude keyword, url that includes exclude string will be ignored, multiple keywords can be joined with '|' generate testcase (pytest) \u00b6 Since HttpRunner 3.0.7 , har2case will convert HAR file to pytest by default, and it is extremely recommended to write and maintain testcases in pytest format instead of former YAML/JSON format. $ har2case har/postman-echo-post-form.har 2020-06-15 15:08:01.187 | INFO | httprunner.ext.har2case.core:gen_testcase:332 - Start to generate testcase from har/postman-echo-post-form.har 2020-06-15 15:08:01.187 | INFO | httprunner.ext.har2case.core:_make_testcase:323 - Extract info from HAR file and prepare for testcase. 2020-06-15 15:08:01.191 | INFO | httprunner.loader:load_dot_env_file:130 - Loading environment variables from /Users/debugtalk/Desktop/demo/.env 2020-06-15 15:08:01.191 | DEBUG | httprunner.utils:set_os_environ:32 - Set OS environment variable: USERNAME 2020-06-15 15:08:01.191 | DEBUG | httprunner.utils:set_os_environ:32 - Set OS environment variable: PASSWORD 2020-06-15 15:08:01.193 | INFO | httprunner.make:make_testcase:310 - start to make testcase: /Users/debugtalk/Desktop/demo/har/postman-echo-post-form.har 2020-06-15 15:08:01.193 | INFO | httprunner.make:make_testcase:383 - generated testcase: /Users/debugtalk/Desktop/demo/har/postman_echo_post_form_test.py 2020-06-15 15:08:01.194 | INFO | httprunner.make:format_pytest_with_black:147 - format pytest cases with black ... reformatted /Users/debugtalk/Desktop/demo/har/postman_echo_post_form_test.py All done! \u2728 \ud83c\udf70 \u2728 1 file reformatted. 2020-06-15 15:08:01.469 | INFO | httprunner.ext.har2case.core:gen_testcase:353 - generated testcase: /Users/debugtalk/Desktop/demo/har/postman_echo_post_form_test.py The generated pytest file is a standard Python file shown as below. # NOTE: Generated By HttpRunner v3.0.12 # FROM: har/postman-echo-post-form.har from httprunner import HttpRunner , Config , Step , RunRequest , RunTestCase class TestCasePostmanEchoPostForm ( HttpRunner ): config = Config ( \"testcase description\" ) . verify ( False ) teststeps = [ Step ( RunRequest ( \"/get\" ) . get ( \"https://postman-echo.com/get\" ) . with_params ( ** { \"foo1\" : \"bar1\" , \"foo2\" : \"bar2\" }) . with_headers ( ** { \"User-Agent\" : \"PostmanRuntime/7.24.1\" , \"Accept\" : \"*/*\" , \"Cache-Control\" : \"no-cache\" , \"Postman-Token\" : \"6606343b-10e5-4165-a89f-6c301b762ce0\" , \"Host\" : \"postman-echo.com\" , \"Accept-Encoding\" : \"gzip, deflate, br\" , \"Connection\" : \"keep-alive\" , \"Cookie\" : \"sails.sid=s%3AQG_EVeNRw8k1xxZ6v_SG401VTpmJDSRu.fTAGx3JnZUT7S0c2 %2F rD9cxUhQemIsm78nifYZYHpPCU\" , } ) . with_cookies ( ** { \"sails.sid\" : \"s%3AQG_EVeNRw8k1xxZ6v_SG401VTpmJDSRu.fTAGx3JnZUT7S0c2 %2F rD9cxUhQemIsm78nifYZYHpPCU\" } ) . validate () . assert_equal ( \"status_code\" , 200 ) . assert_equal ( 'headers.\"Content-Type\"' , \"application/json; charset=utf-8\" ) . assert_equal ( \"body.url\" , \"https://postman-echo.com/get?foo1=bar1&foo2=bar2\" ) ), Step ( RunRequest ( \"/post\" ) . post ( \"https://postman-echo.com/post\" ) . with_headers ( ** { \"User-Agent\" : \"PostmanRuntime/7.24.1\" , \"Accept\" : \"*/*\" , \"Cache-Control\" : \"no-cache\" , \"Postman-Token\" : \"3e408e9d-25ca-4b31-b04b-7f4898a8cd49\" , \"Host\" : \"postman-echo.com\" , \"Accept-Encoding\" : \"gzip, deflate, br\" , \"Connection\" : \"keep-alive\" , \"Content-Type\" : \"application/x-www-form-urlencoded\" , \"Content-Length\" : \"19\" , \"Cookie\" : \"sails.sid=s%3AQG_EVeNRw8k1xxZ6v_SG401VTpmJDSRu.fTAGx3JnZUT7S0c2 %2F rD9cxUhQemIsm78nifYZYHpPCU\" , } ) . with_cookies ( ** { \"sails.sid\" : \"s%3AQG_EVeNRw8k1xxZ6v_SG401VTpmJDSRu.fTAGx3JnZUT7S0c2 %2F rD9cxUhQemIsm78nifYZYHpPCU\" } ) . with_data ({ \"foo1\" : \"bar1\" , \"foo2\" : \"bar2\" }) . validate () . assert_equal ( \"status_code\" , 200 ) . assert_equal ( 'headers.\"Content-Type\"' , \"application/json; charset=utf-8\" ) . assert_equal ( \"body.data\" , \"\" ) . assert_equal ( \"body.url\" , \"https://postman-echo.com/post\" ) ), ] if __name__ == \"__main__\" : TestCasePostmanEchoPostForm () . test_start () And it can be run with hrun command or the native pytest command. In fact, hrun is only a wrapper of pytest , thus the effect is basically the same. $ hrun har/postman_echo_post_form_test.py 2020-06-15 15:23:03.502 | INFO | httprunner.loader:load_dot_env_file:130 - Loading environment variables from /Users/debugtalk/Desktop/demo/.env 2020-06-15 15:23:03.502 | DEBUG | httprunner.utils:set_os_environ:32 - Set OS environment variable: USERNAME 2020-06-15 15:23:03.502 | DEBUG | httprunner.utils:set_os_environ:32 - Set OS environment variable: PASSWORD 2020-06-15 15:23:03.503 | INFO | httprunner.make:format_pytest_with_black:147 - format pytest cases with black ... All done! \u2728 \ud83c\udf70 \u2728 1 file left unchanged. 2020-06-15 15:23:03.662 | INFO | httprunner.cli:main_run:56 - start to run tests with pytest. HttpRunner version: 3.0.12 ====================================================================== test session starts ====================================================================== platform darwin -- Python 3.7.5, pytest-5.4.2, py-1.8.1, pluggy-0.13.1 rootdir: /Users/debugtalk/Desktop/demo plugins: metadata-1.9.0, allure-pytest-2.8.16, html-2.1.1 collected 1 item har/postman_echo_post_form_test.py . [100%] ======================================================================= 1 passed in 2.60s ======================================================================= $ pytest har/postman_echo_post_form_test.py ====================================================================== test session starts ====================================================================== platform darwin -- Python 3.7.5, pytest-5.4.2, py-1.8.1, pluggy-0.13.1 rootdir: /Users/debugtalk/Desktop/demo plugins: metadata-1.9.0, allure-pytest-2.8.16, html-2.1.1 collected 1 item har/postman_echo_post_form_test.py . [100%] ================================================================= 1 passed, 1 warning in 4.11s ================================================================== generate testcase (YAML/JSON) \u00b6 Of course, you can also generate former YAML/JSON testcase format. Just add -2y/--to-yml or -2j/--to-json argument to har2case . $ har2case har/postman-echo-post-form.har -2j 2020-06-15 15:32:02.955 | INFO | httprunner.ext.har2case.core:gen_testcase:332 - Start to generate testcase from har/postman-echo-post-form.har 2020-06-15 15:32:02.955 | INFO | httprunner.ext.har2case.core:_make_testcase:323 - Extract info from HAR file and prepare for testcase. 2020-06-15 15:32:02.958 | INFO | httprunner.ext.har2case.utils:dump_json:122 - dump testcase to JSON format. 2020-06-15 15:32:02.959 | INFO | httprunner.ext.har2case.utils:dump_json:131 - Generate JSON testcase successfully: har/postman-echo-post-form.json 2020-06-15 15:32:02.959 | INFO | httprunner.ext.har2case.core:gen_testcase:353 - generated testcase: har/postman-echo-post-form.json { \"config\" : { \"name\" : \"testcase description\" , \"variables\" : {}, \"verify\" : false }, \"teststeps\" : [ { \"name\" : \"/get\" , \"request\" : { \"url\" : \"https://postman-echo.com/get\" , \"params\" : { \"foo1\" : \"bar1\" , \"foo2\" : \"bar2\" }, \"method\" : \"GET\" , \"cookies\" : { \"sails.sid\" : \"s%3AQG_EVeNRw8k1xxZ6v_SG401VTpmJDSRu.fTAGx3JnZUT7S0c2%2FrD9cxUhQemIsm78nifYZYHpPCU\" }, \"headers\" : { \"User-Agent\" : \"PostmanRuntime/7.24.1\" , \"Accept\" : \"*/*\" , \"Cache-Control\" : \"no-cache\" , \"Postman-Token\" : \"6606343b-10e5-4165-a89f-6c301b762ce0\" , \"Host\" : \"postman-echo.com\" , \"Accept-Encoding\" : \"gzip, deflate, br\" , \"Connection\" : \"keep-alive\" , \"Cookie\" : \"sails.sid=s%3AQG_EVeNRw8k1xxZ6v_SG401VTpmJDSRu.fTAGx3JnZUT7S0c2%2FrD9cxUhQemIsm78nifYZYHpPCU\" } }, \"validate\" : [ { \"eq\" : [ \"status_code\" , 200 ] }, { \"eq\" : [ \"headers.Content-Type\" , \"application/json; charset=utf-8\" ] }, { \"eq\" : [ \"body.url\" , \"https://postman-echo.com/get?foo1=bar1&foo2=bar2\" ] } ] }, { \"name\" : \"/post\" , \"request\" : { \"url\" : \"https://postman-echo.com/post\" , \"method\" : \"POST\" , \"cookies\" : { \"sails.sid\" : \"s%3AQG_EVeNRw8k1xxZ6v_SG401VTpmJDSRu.fTAGx3JnZUT7S0c2%2FrD9cxUhQemIsm78nifYZYHpPCU\" }, \"headers\" : { \"User-Agent\" : \"PostmanRuntime/7.24.1\" , \"Accept\" : \"*/*\" , \"Cache-Control\" : \"no-cache\" , \"Postman-Token\" : \"3e408e9d-25ca-4b31-b04b-7f4898a8cd49\" , \"Host\" : \"postman-echo.com\" , \"Accept-Encoding\" : \"gzip, deflate, br\" , \"Connection\" : \"keep-alive\" , \"Content-Type\" : \"application/x-www-form-urlencoded\" , \"Content-Length\" : \"19\" , \"Cookie\" : \"sails.sid=s%3AQG_EVeNRw8k1xxZ6v_SG401VTpmJDSRu.fTAGx3JnZUT7S0c2%2FrD9cxUhQemIsm78nifYZYHpPCU\" }, \"data\" : { \"foo1\" : \"bar1\" , \"foo2\" : \"bar2\" } }, \"validate\" : [ { \"eq\" : [ \"status_code\" , 200 ] }, { \"eq\" : [ \"headers.Content-Type\" , \"application/json; charset=utf-8\" ] }, { \"eq\" : [ \"body.data\" , \"\" ] }, { \"eq\" : [ \"body.url\" , \"https://postman-echo.com/post\" ] } ] } ] } The YAML/JSON testcase has the same info with pytest testcase, and you can run YAML/JSON testcase with hrun command. $ hrun har/postman-echo-post-form.json 2020-06-15 15:37:15.621 | INFO | httprunner.loader:load_dot_env_file:130 - Loading environment variables from /Users/debugtalk/Desktop/demo/.env 2020-06-15 15:37:15.622 | DEBUG | httprunner.utils:set_os_environ:32 - Set OS environment variable: USERNAME 2020-06-15 15:37:15.622 | DEBUG | httprunner.utils:set_os_environ:32 - Set OS environment variable: PASSWORD 2020-06-15 15:37:15.623 | INFO | httprunner.make:make_testcase:310 - start to make testcase: /Users/debugtalk/Desktop/demo/har/postman-echo-post-form.json 2020-06-15 15:37:15.625 | INFO | httprunner.make:make_testcase:383 - generated testcase: /Users/debugtalk/Desktop/demo/har/postman_echo_post_form_test.py 2020-06-15 15:37:15.625 | INFO | httprunner.make:format_pytest_with_black:147 - format pytest cases with black ... reformatted /Users/debugtalk/Desktop/demo/har/postman_echo_post_form_test.py All done! \u2728 \ud83c\udf70 \u2728 1 file reformatted, 1 file left unchanged. 2020-06-15 15:37:15.962 | INFO | httprunner.cli:main_run:56 - start to run tests with pytest. HttpRunner version: 3.0.12 ====================================================================== test session starts ====================================================================== platform darwin -- Python 3.7.5, pytest-5.4.2, py-1.8.1, pluggy-0.13.1 rootdir: /Users/debugtalk/Desktop/demo plugins: metadata-1.9.0, allure-pytest-2.8.16, html-2.1.1 collected 1 item har/postman_echo_post_form_test.py . [100%] ======================================================================= 1 passed in 2.03s =======================================================================","title":"Record & Generate testcase"},{"location":"user/gen_tests/#record-generate-testcase","text":"","title":"Record & Generate testcase"},{"location":"user/gen_tests/#capture-http-request-and-response","text":"Before we write testcases, we should know the details of the API. It is a good choice to use a web debugging proxy tool like Charles Proxy to capture the HTTP traffic. For example, the image below illustrates post form data to postman-echo.com .","title":"capture HTTP request and response"},{"location":"user/gen_tests/#export-sessions-to-har-file","text":"Then we can select captured request & response and export sessions to HTTP archive (.har) file.","title":"export sessions to HAR file"},{"location":"user/gen_tests/#generate-testcase-with-har2case","text":"When you get HAR file, you can use builtin command har2case to convert it to HttpRunner testcase.","title":"generate testcase with har2case"},{"location":"user/gen_tests/#help","text":"$ har2case -h usage: har2case har2case [-h] [-2y] [-2j] [--filter FILTER] [--exclude EXCLUDE] [har_source_file] positional arguments: har_source_file Specify HAR source file optional arguments: -h, --help show this help message and exit -2y, --to-yml, --to-yaml Convert to YAML format, if not specified, convert to pytest format by default. -2j, --to-json Convert to JSON format, if not specified, convert to pytest format by default. --filter FILTER Specify filter keyword, only url include filter string will be converted. --exclude EXCLUDE Specify exclude keyword, url that includes exclude string will be ignored, multiple keywords can be joined with '|'","title":"help"},{"location":"user/gen_tests/#generate-testcase-pytest","text":"Since HttpRunner 3.0.7 , har2case will convert HAR file to pytest by default, and it is extremely recommended to write and maintain testcases in pytest format instead of former YAML/JSON format. $ har2case har/postman-echo-post-form.har 2020-06-15 15:08:01.187 | INFO | httprunner.ext.har2case.core:gen_testcase:332 - Start to generate testcase from har/postman-echo-post-form.har 2020-06-15 15:08:01.187 | INFO | httprunner.ext.har2case.core:_make_testcase:323 - Extract info from HAR file and prepare for testcase. 2020-06-15 15:08:01.191 | INFO | httprunner.loader:load_dot_env_file:130 - Loading environment variables from /Users/debugtalk/Desktop/demo/.env 2020-06-15 15:08:01.191 | DEBUG | httprunner.utils:set_os_environ:32 - Set OS environment variable: USERNAME 2020-06-15 15:08:01.191 | DEBUG | httprunner.utils:set_os_environ:32 - Set OS environment variable: PASSWORD 2020-06-15 15:08:01.193 | INFO | httprunner.make:make_testcase:310 - start to make testcase: /Users/debugtalk/Desktop/demo/har/postman-echo-post-form.har 2020-06-15 15:08:01.193 | INFO | httprunner.make:make_testcase:383 - generated testcase: /Users/debugtalk/Desktop/demo/har/postman_echo_post_form_test.py 2020-06-15 15:08:01.194 | INFO | httprunner.make:format_pytest_with_black:147 - format pytest cases with black ... reformatted /Users/debugtalk/Desktop/demo/har/postman_echo_post_form_test.py All done! \u2728 \ud83c\udf70 \u2728 1 file reformatted. 2020-06-15 15:08:01.469 | INFO | httprunner.ext.har2case.core:gen_testcase:353 - generated testcase: /Users/debugtalk/Desktop/demo/har/postman_echo_post_form_test.py The generated pytest file is a standard Python file shown as below. # NOTE: Generated By HttpRunner v3.0.12 # FROM: har/postman-echo-post-form.har from httprunner import HttpRunner , Config , Step , RunRequest , RunTestCase class TestCasePostmanEchoPostForm ( HttpRunner ): config = Config ( \"testcase description\" ) . verify ( False ) teststeps = [ Step ( RunRequest ( \"/get\" ) . get ( \"https://postman-echo.com/get\" ) . with_params ( ** { \"foo1\" : \"bar1\" , \"foo2\" : \"bar2\" }) . with_headers ( ** { \"User-Agent\" : \"PostmanRuntime/7.24.1\" , \"Accept\" : \"*/*\" , \"Cache-Control\" : \"no-cache\" , \"Postman-Token\" : \"6606343b-10e5-4165-a89f-6c301b762ce0\" , \"Host\" : \"postman-echo.com\" , \"Accept-Encoding\" : \"gzip, deflate, br\" , \"Connection\" : \"keep-alive\" , \"Cookie\" : \"sails.sid=s%3AQG_EVeNRw8k1xxZ6v_SG401VTpmJDSRu.fTAGx3JnZUT7S0c2 %2F rD9cxUhQemIsm78nifYZYHpPCU\" , } ) . with_cookies ( ** { \"sails.sid\" : \"s%3AQG_EVeNRw8k1xxZ6v_SG401VTpmJDSRu.fTAGx3JnZUT7S0c2 %2F rD9cxUhQemIsm78nifYZYHpPCU\" } ) . validate () . assert_equal ( \"status_code\" , 200 ) . assert_equal ( 'headers.\"Content-Type\"' , \"application/json; charset=utf-8\" ) . assert_equal ( \"body.url\" , \"https://postman-echo.com/get?foo1=bar1&foo2=bar2\" ) ), Step ( RunRequest ( \"/post\" ) . post ( \"https://postman-echo.com/post\" ) . with_headers ( ** { \"User-Agent\" : \"PostmanRuntime/7.24.1\" , \"Accept\" : \"*/*\" , \"Cache-Control\" : \"no-cache\" , \"Postman-Token\" : \"3e408e9d-25ca-4b31-b04b-7f4898a8cd49\" , \"Host\" : \"postman-echo.com\" , \"Accept-Encoding\" : \"gzip, deflate, br\" , \"Connection\" : \"keep-alive\" , \"Content-Type\" : \"application/x-www-form-urlencoded\" , \"Content-Length\" : \"19\" , \"Cookie\" : \"sails.sid=s%3AQG_EVeNRw8k1xxZ6v_SG401VTpmJDSRu.fTAGx3JnZUT7S0c2 %2F rD9cxUhQemIsm78nifYZYHpPCU\" , } ) . with_cookies ( ** { \"sails.sid\" : \"s%3AQG_EVeNRw8k1xxZ6v_SG401VTpmJDSRu.fTAGx3JnZUT7S0c2 %2F rD9cxUhQemIsm78nifYZYHpPCU\" } ) . with_data ({ \"foo1\" : \"bar1\" , \"foo2\" : \"bar2\" }) . validate () . assert_equal ( \"status_code\" , 200 ) . assert_equal ( 'headers.\"Content-Type\"' , \"application/json; charset=utf-8\" ) . assert_equal ( \"body.data\" , \"\" ) . assert_equal ( \"body.url\" , \"https://postman-echo.com/post\" ) ), ] if __name__ == \"__main__\" : TestCasePostmanEchoPostForm () . test_start () And it can be run with hrun command or the native pytest command. In fact, hrun is only a wrapper of pytest , thus the effect is basically the same. $ hrun har/postman_echo_post_form_test.py 2020-06-15 15:23:03.502 | INFO | httprunner.loader:load_dot_env_file:130 - Loading environment variables from /Users/debugtalk/Desktop/demo/.env 2020-06-15 15:23:03.502 | DEBUG | httprunner.utils:set_os_environ:32 - Set OS environment variable: USERNAME 2020-06-15 15:23:03.502 | DEBUG | httprunner.utils:set_os_environ:32 - Set OS environment variable: PASSWORD 2020-06-15 15:23:03.503 | INFO | httprunner.make:format_pytest_with_black:147 - format pytest cases with black ... All done! \u2728 \ud83c\udf70 \u2728 1 file left unchanged. 2020-06-15 15:23:03.662 | INFO | httprunner.cli:main_run:56 - start to run tests with pytest. HttpRunner version: 3.0.12 ====================================================================== test session starts ====================================================================== platform darwin -- Python 3.7.5, pytest-5.4.2, py-1.8.1, pluggy-0.13.1 rootdir: /Users/debugtalk/Desktop/demo plugins: metadata-1.9.0, allure-pytest-2.8.16, html-2.1.1 collected 1 item har/postman_echo_post_form_test.py . [100%] ======================================================================= 1 passed in 2.60s ======================================================================= $ pytest har/postman_echo_post_form_test.py ====================================================================== test session starts ====================================================================== platform darwin -- Python 3.7.5, pytest-5.4.2, py-1.8.1, pluggy-0.13.1 rootdir: /Users/debugtalk/Desktop/demo plugins: metadata-1.9.0, allure-pytest-2.8.16, html-2.1.1 collected 1 item har/postman_echo_post_form_test.py . [100%] ================================================================= 1 passed, 1 warning in 4.11s ==================================================================","title":"generate testcase (pytest)"},{"location":"user/gen_tests/#generate-testcase-yamljson","text":"Of course, you can also generate former YAML/JSON testcase format. Just add -2y/--to-yml or -2j/--to-json argument to har2case . $ har2case har/postman-echo-post-form.har -2j 2020-06-15 15:32:02.955 | INFO | httprunner.ext.har2case.core:gen_testcase:332 - Start to generate testcase from har/postman-echo-post-form.har 2020-06-15 15:32:02.955 | INFO | httprunner.ext.har2case.core:_make_testcase:323 - Extract info from HAR file and prepare for testcase. 2020-06-15 15:32:02.958 | INFO | httprunner.ext.har2case.utils:dump_json:122 - dump testcase to JSON format. 2020-06-15 15:32:02.959 | INFO | httprunner.ext.har2case.utils:dump_json:131 - Generate JSON testcase successfully: har/postman-echo-post-form.json 2020-06-15 15:32:02.959 | INFO | httprunner.ext.har2case.core:gen_testcase:353 - generated testcase: har/postman-echo-post-form.json { \"config\" : { \"name\" : \"testcase description\" , \"variables\" : {}, \"verify\" : false }, \"teststeps\" : [ { \"name\" : \"/get\" , \"request\" : { \"url\" : \"https://postman-echo.com/get\" , \"params\" : { \"foo1\" : \"bar1\" , \"foo2\" : \"bar2\" }, \"method\" : \"GET\" , \"cookies\" : { \"sails.sid\" : \"s%3AQG_EVeNRw8k1xxZ6v_SG401VTpmJDSRu.fTAGx3JnZUT7S0c2%2FrD9cxUhQemIsm78nifYZYHpPCU\" }, \"headers\" : { \"User-Agent\" : \"PostmanRuntime/7.24.1\" , \"Accept\" : \"*/*\" , \"Cache-Control\" : \"no-cache\" , \"Postman-Token\" : \"6606343b-10e5-4165-a89f-6c301b762ce0\" , \"Host\" : \"postman-echo.com\" , \"Accept-Encoding\" : \"gzip, deflate, br\" , \"Connection\" : \"keep-alive\" , \"Cookie\" : \"sails.sid=s%3AQG_EVeNRw8k1xxZ6v_SG401VTpmJDSRu.fTAGx3JnZUT7S0c2%2FrD9cxUhQemIsm78nifYZYHpPCU\" } }, \"validate\" : [ { \"eq\" : [ \"status_code\" , 200 ] }, { \"eq\" : [ \"headers.Content-Type\" , \"application/json; charset=utf-8\" ] }, { \"eq\" : [ \"body.url\" , \"https://postman-echo.com/get?foo1=bar1&foo2=bar2\" ] } ] }, { \"name\" : \"/post\" , \"request\" : { \"url\" : \"https://postman-echo.com/post\" , \"method\" : \"POST\" , \"cookies\" : { \"sails.sid\" : \"s%3AQG_EVeNRw8k1xxZ6v_SG401VTpmJDSRu.fTAGx3JnZUT7S0c2%2FrD9cxUhQemIsm78nifYZYHpPCU\" }, \"headers\" : { \"User-Agent\" : \"PostmanRuntime/7.24.1\" , \"Accept\" : \"*/*\" , \"Cache-Control\" : \"no-cache\" , \"Postman-Token\" : \"3e408e9d-25ca-4b31-b04b-7f4898a8cd49\" , \"Host\" : \"postman-echo.com\" , \"Accept-Encoding\" : \"gzip, deflate, br\" , \"Connection\" : \"keep-alive\" , \"Content-Type\" : \"application/x-www-form-urlencoded\" , \"Content-Length\" : \"19\" , \"Cookie\" : \"sails.sid=s%3AQG_EVeNRw8k1xxZ6v_SG401VTpmJDSRu.fTAGx3JnZUT7S0c2%2FrD9cxUhQemIsm78nifYZYHpPCU\" }, \"data\" : { \"foo1\" : \"bar1\" , \"foo2\" : \"bar2\" } }, \"validate\" : [ { \"eq\" : [ \"status_code\" , 200 ] }, { \"eq\" : [ \"headers.Content-Type\" , \"application/json; charset=utf-8\" ] }, { \"eq\" : [ \"body.data\" , \"\" ] }, { \"eq\" : [ \"body.url\" , \"https://postman-echo.com/post\" ] } ] } ] } The YAML/JSON testcase has the same info with pytest testcase, and you can run YAML/JSON testcase with hrun command. $ hrun har/postman-echo-post-form.json 2020-06-15 15:37:15.621 | INFO | httprunner.loader:load_dot_env_file:130 - Loading environment variables from /Users/debugtalk/Desktop/demo/.env 2020-06-15 15:37:15.622 | DEBUG | httprunner.utils:set_os_environ:32 - Set OS environment variable: USERNAME 2020-06-15 15:37:15.622 | DEBUG | httprunner.utils:set_os_environ:32 - Set OS environment variable: PASSWORD 2020-06-15 15:37:15.623 | INFO | httprunner.make:make_testcase:310 - start to make testcase: /Users/debugtalk/Desktop/demo/har/postman-echo-post-form.json 2020-06-15 15:37:15.625 | INFO | httprunner.make:make_testcase:383 - generated testcase: /Users/debugtalk/Desktop/demo/har/postman_echo_post_form_test.py 2020-06-15 15:37:15.625 | INFO | httprunner.make:format_pytest_with_black:147 - format pytest cases with black ... reformatted /Users/debugtalk/Desktop/demo/har/postman_echo_post_form_test.py All done! \u2728 \ud83c\udf70 \u2728 1 file reformatted, 1 file left unchanged. 2020-06-15 15:37:15.962 | INFO | httprunner.cli:main_run:56 - start to run tests with pytest. HttpRunner version: 3.0.12 ====================================================================== test session starts ====================================================================== platform darwin -- Python 3.7.5, pytest-5.4.2, py-1.8.1, pluggy-0.13.1 rootdir: /Users/debugtalk/Desktop/demo plugins: metadata-1.9.0, allure-pytest-2.8.16, html-2.1.1 collected 1 item har/postman_echo_post_form_test.py . [100%] ======================================================================= 1 passed in 2.03s =======================================================================","title":"generate testcase (YAML/JSON)"},{"location":"user/scaffold/","text":"Scaffold \u00b6 If you want to create a new project, you can use the scaffold to startup quickly. help \u00b6 $ httprunner startproject -h usage: httprunner startproject [-h] [project_name] positional arguments: project_name Specify new project name. optional arguments: -h, --help show this help message and exit create new project \u00b6 The only argument you need to specify is the project name. $ httprunner startproject demo 2020-06-15 11:53:25.498 | INFO | httprunner.scaffold:create_scaffold:37 - Create new project: demo Project Root Dir: /Users/debugtalk/MyProjects/HttpRunner-dev/HttpRunner/demo created folder: demo created folder: demo/har created folder: demo/testcases created folder: demo/reports created file: demo/testcases/demo_testcase_request.yml created file: demo/testcases/demo_testcase_ref.yml created file: demo/debugtalk.py created file: demo/.env created file: demo/.gitignore $ tree demo -a demo \u251c\u2500\u2500 .env \u251c\u2500\u2500 .gitignore \u251c\u2500\u2500 debugtalk.py \u251c\u2500\u2500 har \u251c\u2500\u2500 reports \u2514\u2500\u2500 testcases \u251c\u2500\u2500 demo_testcase_ref.yml \u2514\u2500\u2500 demo_testcase_request.yml 3 directories, 5 files If you specify a project name that already exists, you will get a warning. $ httprunner startproject demo 2020-06-15 11:55:03.192 | WARNING | httprunner.scaffold:create_scaffold:32 - Project demo exists, please specify a new project name. $ tree demo -a demo \u251c\u2500\u2500 .env \u251c\u2500\u2500 .gitignore \u251c\u2500\u2500 debugtalk.py \u251c\u2500\u2500 har \u251c\u2500\u2500 reports \u2514\u2500\u2500 testcases \u251c\u2500\u2500 demo_testcase_ref.yml \u2514\u2500\u2500 demo_testcase_request.yml 3 directories, 5 files run scaffold project \u00b6 The scaffold project has several valid testcases, so you can run tests without any edit. $ hrun demo 2020-06-15 11:57:15.883 | INFO | httprunner.loader:load_dot_env_file:130 - Loading environment variables from /Users/debugtalk/MyProjects/HttpRunner-dev/HttpRunner/demo/.env 2020-06-15 11:57:15.883 | DEBUG | httprunner.utils:set_os_environ:32 - Set OS environment variable: USERNAME 2020-06-15 11:57:15.884 | DEBUG | httprunner.utils:set_os_environ:32 - Set OS environment variable: PASSWORD 2020-06-15 11:57:15.885 | INFO | httprunner.make:make_testcase:310 - start to make testcase: /Users/debugtalk/MyProjects/HttpRunner-dev/HttpRunner/demo/testcases/demo_testcase_ref.yml 2020-06-15 11:57:15.898 | INFO | httprunner.make:make_testcase:310 - start to make testcase: /Users/debugtalk/MyProjects/HttpRunner-dev/HttpRunner/demo/testcases/demo_testcase_request.yml 2020-06-15 11:57:15.899 | INFO | httprunner.make:make_testcase:383 - generated testcase: /Users/debugtalk/MyProjects/HttpRunner-dev/HttpRunner/demo/testcases/demo_testcase_request_test.py 2020-06-15 11:57:15.900 | INFO | httprunner.make:make_testcase:383 - generated testcase: /Users/debugtalk/MyProjects/HttpRunner-dev/HttpRunner/demo/testcases/demo_testcase_ref_test.py 2020-06-15 11:57:15.911 | INFO | httprunner.make:make_testcase:310 - start to make testcase: /Users/debugtalk/MyProjects/HttpRunner-dev/HttpRunner/demo/testcases/demo_testcase_request.yml 2020-06-15 11:57:15.912 | INFO | httprunner.make:__ensure_project_meta_files:128 - copy .env to /Users/debugtalk/MyProjects/HttpRunner-dev/HttpRunner/demo/_env 2020-06-15 11:57:15.912 | INFO | httprunner.make:format_pytest_with_black:147 - format pytest cases with black ... reformatted /Users/debugtalk/MyProjects/HttpRunner-dev/HttpRunner/demo/testcases/demo_testcase_ref_test.py reformatted /Users/debugtalk/MyProjects/HttpRunner-dev/HttpRunner/demo/testcases/demo_testcase_request_test.py All done! \u2728 \ud83c\udf70 \u2728 2 files reformatted, 1 file left unchanged. 2020-06-15 11:57:16.299 | INFO | httprunner.cli:main_run:56 - start to run tests with pytest. HttpRunner version: 3.0.12 ====================================================================== test session starts ====================================================================== platform darwin -- Python 3.7.5, pytest-5.4.2, py-1.8.1, pluggy-0.13.1 rootdir: /Users/debugtalk/MyProjects/HttpRunner-dev/HttpRunner plugins: metadata-1.9.0, allure-pytest-2.8.16, html-2.1.1 collected 2 items demo/testcases/demo_testcase_request_test.py . [ 50%] demo/testcases/demo_testcase_ref_test.py . [100%] ======================================================================= 2 passed in 6.87s =======================================================================","title":"Scaffold"},{"location":"user/scaffold/#scaffold","text":"If you want to create a new project, you can use the scaffold to startup quickly.","title":"Scaffold"},{"location":"user/scaffold/#help","text":"$ httprunner startproject -h usage: httprunner startproject [-h] [project_name] positional arguments: project_name Specify new project name. optional arguments: -h, --help show this help message and exit","title":"help"},{"location":"user/scaffold/#create-new-project","text":"The only argument you need to specify is the project name. $ httprunner startproject demo 2020-06-15 11:53:25.498 | INFO | httprunner.scaffold:create_scaffold:37 - Create new project: demo Project Root Dir: /Users/debugtalk/MyProjects/HttpRunner-dev/HttpRunner/demo created folder: demo created folder: demo/har created folder: demo/testcases created folder: demo/reports created file: demo/testcases/demo_testcase_request.yml created file: demo/testcases/demo_testcase_ref.yml created file: demo/debugtalk.py created file: demo/.env created file: demo/.gitignore $ tree demo -a demo \u251c\u2500\u2500 .env \u251c\u2500\u2500 .gitignore \u251c\u2500\u2500 debugtalk.py \u251c\u2500\u2500 har \u251c\u2500\u2500 reports \u2514\u2500\u2500 testcases \u251c\u2500\u2500 demo_testcase_ref.yml \u2514\u2500\u2500 demo_testcase_request.yml 3 directories, 5 files If you specify a project name that already exists, you will get a warning. $ httprunner startproject demo 2020-06-15 11:55:03.192 | WARNING | httprunner.scaffold:create_scaffold:32 - Project demo exists, please specify a new project name. $ tree demo -a demo \u251c\u2500\u2500 .env \u251c\u2500\u2500 .gitignore \u251c\u2500\u2500 debugtalk.py \u251c\u2500\u2500 har \u251c\u2500\u2500 reports \u2514\u2500\u2500 testcases \u251c\u2500\u2500 demo_testcase_ref.yml \u2514\u2500\u2500 demo_testcase_request.yml 3 directories, 5 files","title":"create new project"},{"location":"user/scaffold/#run-scaffold-project","text":"The scaffold project has several valid testcases, so you can run tests without any edit. $ hrun demo 2020-06-15 11:57:15.883 | INFO | httprunner.loader:load_dot_env_file:130 - Loading environment variables from /Users/debugtalk/MyProjects/HttpRunner-dev/HttpRunner/demo/.env 2020-06-15 11:57:15.883 | DEBUG | httprunner.utils:set_os_environ:32 - Set OS environment variable: USERNAME 2020-06-15 11:57:15.884 | DEBUG | httprunner.utils:set_os_environ:32 - Set OS environment variable: PASSWORD 2020-06-15 11:57:15.885 | INFO | httprunner.make:make_testcase:310 - start to make testcase: /Users/debugtalk/MyProjects/HttpRunner-dev/HttpRunner/demo/testcases/demo_testcase_ref.yml 2020-06-15 11:57:15.898 | INFO | httprunner.make:make_testcase:310 - start to make testcase: /Users/debugtalk/MyProjects/HttpRunner-dev/HttpRunner/demo/testcases/demo_testcase_request.yml 2020-06-15 11:57:15.899 | INFO | httprunner.make:make_testcase:383 - generated testcase: /Users/debugtalk/MyProjects/HttpRunner-dev/HttpRunner/demo/testcases/demo_testcase_request_test.py 2020-06-15 11:57:15.900 | INFO | httprunner.make:make_testcase:383 - generated testcase: /Users/debugtalk/MyProjects/HttpRunner-dev/HttpRunner/demo/testcases/demo_testcase_ref_test.py 2020-06-15 11:57:15.911 | INFO | httprunner.make:make_testcase:310 - start to make testcase: /Users/debugtalk/MyProjects/HttpRunner-dev/HttpRunner/demo/testcases/demo_testcase_request.yml 2020-06-15 11:57:15.912 | INFO | httprunner.make:__ensure_project_meta_files:128 - copy .env to /Users/debugtalk/MyProjects/HttpRunner-dev/HttpRunner/demo/_env 2020-06-15 11:57:15.912 | INFO | httprunner.make:format_pytest_with_black:147 - format pytest cases with black ... reformatted /Users/debugtalk/MyProjects/HttpRunner-dev/HttpRunner/demo/testcases/demo_testcase_ref_test.py reformatted /Users/debugtalk/MyProjects/HttpRunner-dev/HttpRunner/demo/testcases/demo_testcase_request_test.py All done! \u2728 \ud83c\udf70 \u2728 2 files reformatted, 1 file left unchanged. 2020-06-15 11:57:16.299 | INFO | httprunner.cli:main_run:56 - start to run tests with pytest. HttpRunner version: 3.0.12 ====================================================================== test session starts ====================================================================== platform darwin -- Python 3.7.5, pytest-5.4.2, py-1.8.1, pluggy-0.13.1 rootdir: /Users/debugtalk/MyProjects/HttpRunner-dev/HttpRunner plugins: metadata-1.9.0, allure-pytest-2.8.16, html-2.1.1 collected 2 items demo/testcases/demo_testcase_request_test.py . [ 50%] demo/testcases/demo_testcase_ref_test.py . [100%] ======================================================================= 2 passed in 6.87s =======================================================================","title":"run scaffold project"},{"location":"user/write_testcase/","text":"Write Testcase \u00b6 HttpRunner v3.x supports three testcase formats, pytest , YAML and JSON . It is extremely recommended to write and maintain testcases in pytest format instead of former YAML/JSON format. record & generate testcase \u00b6 If the SUT (system under test) is ready, the most efficient way is to capture HTTP traffic first and then generate testcases with HAR file. Refer to Record & Generate testcase for more details. Based on the generated pytest testcase, you can then do some adjustment as needed, thus you need to know the details of testcase format. testcase structure \u00b6 Each testcase is a subclass of HttpRunner , and must have two class attributes: config and teststeps . config: configure testcase level settings, including base_url , verify , variables , export . teststeps: list of teststep ( List[Step] ), each step is corresponding to a API request or another testcase reference call. Besides, variables / extract / validate / hooks mechanisms are supported to create extremely complex test scenarios. from httprunner import HttpRunner , Config , Step , RunRequest , RunTestCase class TestCaseRequestWithFunctions ( HttpRunner ): config = ( Config ( \"request methods testcase with functions\" ) . variables ( ** { \"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 = [ 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 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 ) . 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 () chain call \u00b6 One of the most awesome features of HttpRunner v3.x is chain call , with which you do not need to remember any testcase format details and you can get intelligent completion when you write testcases in IDE. config \u00b6 Each testcase should have one config part, in which you can configure testcase level settings. name (required) \u00b6 Specify testcase name. This will be displayed in execution log and test report. base_url (optional) \u00b6 Specify common schema and host part of the SUT, e.g. https://postman-echo.com . If base_url is specified, url in teststep can only set relative path part. This is especially useful if you want to switch between different SUT environments. variables (optional) \u00b6 Specify common variables of testcase. Each teststep can reference config variable which is not set in step variables. In other words, step variables have higher priority than config variables. verify (optional) \u00b6 Specify whether to verify the server\u2019s TLS certificate. This is especially useful if we want to record HTTP traffic of testcase execution, because SSLError will be occurred if verify is not set or been set to True. SSLError(SSLCertVerificationError(1, '[SSL: CERTIFICATE_VERIFY_FAILED] certificate verify failed: self signed certificate in certificate chain (_ssl.c:1076)')) export (optional) \u00b6 Specify the exported session variables of testcase. Consider each testcase as a black box, config variables is the input part, and config export is the output part. In particular, when a testcase is referenced in another testcase's step, and will be extracted some session variables to be used in subsequent teststeps, then the extracted session variables should be configured in config export part. teststeps \u00b6 Each testcase should have one or multiple ordered test steps ( List[Step] ), each step is corresponding to a API request or another testcase reference call. Notice: The concept of API in HttpRunner v2.x has been deprecated for simplification. You can consider API as a testcase that has only one request step. RunRequest(name) \u00b6 RunRequest is used in a step to make request to API and do some extraction or validations for response. The argument name of RunRequest is used to specify teststep name, which will be displayed in execution log and test report. .with_variables \u00b6 Specify teststep variables. The variables of each step are independent, thus if you want to share variables in multiple steps, you should define variables in config variables. Besides, the step variables will override the ones that have the same name in config variables. .method(url) \u00b6 Specify HTTP method and the url of SUT. These are corresponding to method and url arguments of requests.request . If base_url is set in config, url can only set relative path part. .with_params \u00b6 Specify query string for the request url. This is corresponding to the params argument of requests.request . .with_headers \u00b6 Specify HTTP headers for the request. This is corresponding to the headers argument of requests.request . .with_cookies \u00b6 Specify HTTP request cookies. This is corresponding to the cookies argument of requests.request . .with_data \u00b6 Specify HTTP request body. This is corresponding to the data argument of requests.request . .with_json \u00b6 Specify HTTP request body in json. This is corresponding to the json argument of requests.request . extract \u00b6 .with_jmespath \u00b6 Extract JSON response body with jmespath . with_jmespath(jmes_path: Text, var_name: Text) jmes_path: jmespath expression var_name: the variable name that stores extracted value validate \u00b6 RunTestCase(name) \u00b6 .with_variables \u00b6 Besides, variables / extract / validate / hooks mechanisms are supported to create extremely complex test scenarios.","title":"Write Testcase"},{"location":"user/write_testcase/#write-testcase","text":"HttpRunner v3.x supports three testcase formats, pytest , YAML and JSON . It is extremely recommended to write and maintain testcases in pytest format instead of former YAML/JSON format.","title":"Write Testcase"},{"location":"user/write_testcase/#record-generate-testcase","text":"If the SUT (system under test) is ready, the most efficient way is to capture HTTP traffic first and then generate testcases with HAR file. Refer to Record & Generate testcase for more details. Based on the generated pytest testcase, you can then do some adjustment as needed, thus you need to know the details of testcase format.","title":"record & generate testcase"},{"location":"user/write_testcase/#testcase-structure","text":"Each testcase is a subclass of HttpRunner , and must have two class attributes: config and teststeps . config: configure testcase level settings, including base_url , verify , variables , export . teststeps: list of teststep ( List[Step] ), each step is corresponding to a API request or another testcase reference call. Besides, variables / extract / validate / hooks mechanisms are supported to create extremely complex test scenarios. from httprunner import HttpRunner , Config , Step , RunRequest , RunTestCase class TestCaseRequestWithFunctions ( HttpRunner ): config = ( Config ( \"request methods testcase with functions\" ) . variables ( ** { \"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 = [ 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 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 ) . 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 ()","title":"testcase structure"},{"location":"user/write_testcase/#chain-call","text":"One of the most awesome features of HttpRunner v3.x is chain call , with which you do not need to remember any testcase format details and you can get intelligent completion when you write testcases in IDE.","title":"chain call"},{"location":"user/write_testcase/#config","text":"Each testcase should have one config part, in which you can configure testcase level settings.","title":"config"},{"location":"user/write_testcase/#name-required","text":"Specify testcase name. This will be displayed in execution log and test report.","title":"name (required)"},{"location":"user/write_testcase/#base_url-optional","text":"Specify common schema and host part of the SUT, e.g. https://postman-echo.com . If base_url is specified, url in teststep can only set relative path part. This is especially useful if you want to switch between different SUT environments.","title":"base_url (optional)"},{"location":"user/write_testcase/#variables-optional","text":"Specify common variables of testcase. Each teststep can reference config variable which is not set in step variables. In other words, step variables have higher priority than config variables.","title":"variables (optional)"},{"location":"user/write_testcase/#verify-optional","text":"Specify whether to verify the server\u2019s TLS certificate. This is especially useful if we want to record HTTP traffic of testcase execution, because SSLError will be occurred if verify is not set or been set to True. SSLError(SSLCertVerificationError(1, '[SSL: CERTIFICATE_VERIFY_FAILED] certificate verify failed: self signed certificate in certificate chain (_ssl.c:1076)'))","title":"verify (optional)"},{"location":"user/write_testcase/#export-optional","text":"Specify the exported session variables of testcase. Consider each testcase as a black box, config variables is the input part, and config export is the output part. In particular, when a testcase is referenced in another testcase's step, and will be extracted some session variables to be used in subsequent teststeps, then the extracted session variables should be configured in config export part.","title":"export (optional)"},{"location":"user/write_testcase/#teststeps","text":"Each testcase should have one or multiple ordered test steps ( List[Step] ), each step is corresponding to a API request or another testcase reference call. Notice: The concept of API in HttpRunner v2.x has been deprecated for simplification. You can consider API as a testcase that has only one request step.","title":"teststeps"},{"location":"user/write_testcase/#runrequestname","text":"RunRequest is used in a step to make request to API and do some extraction or validations for response. The argument name of RunRequest is used to specify teststep name, which will be displayed in execution log and test report.","title":"RunRequest(name)"},{"location":"user/write_testcase/#with_variables","text":"Specify teststep variables. The variables of each step are independent, thus if you want to share variables in multiple steps, you should define variables in config variables. Besides, the step variables will override the ones that have the same name in config variables.","title":".with_variables"},{"location":"user/write_testcase/#methodurl","text":"Specify HTTP method and the url of SUT. These are corresponding to method and url arguments of requests.request . If base_url is set in config, url can only set relative path part.","title":".method(url)"},{"location":"user/write_testcase/#with_params","text":"Specify query string for the request url. This is corresponding to the params argument of requests.request .","title":".with_params"},{"location":"user/write_testcase/#with_headers","text":"Specify HTTP headers for the request. This is corresponding to the headers argument of requests.request .","title":".with_headers"},{"location":"user/write_testcase/#with_cookies","text":"Specify HTTP request cookies. This is corresponding to the cookies argument of requests.request .","title":".with_cookies"},{"location":"user/write_testcase/#with_data","text":"Specify HTTP request body. This is corresponding to the data argument of requests.request .","title":".with_data"},{"location":"user/write_testcase/#with_json","text":"Specify HTTP request body in json. This is corresponding to the json argument of requests.request .","title":".with_json"},{"location":"user/write_testcase/#extract","text":"","title":"extract"},{"location":"user/write_testcase/#with_jmespath","text":"Extract JSON response body with jmespath . with_jmespath(jmes_path: Text, var_name: Text) jmes_path: jmespath expression var_name: the variable name that stores extracted value","title":".with_jmespath"},{"location":"user/write_testcase/#validate","text":"","title":"validate"},{"location":"user/write_testcase/#runtestcasename","text":"","title":"RunTestCase(name)"},{"location":"user/write_testcase/#with_variables_1","text":"Besides, variables / extract / validate / hooks mechanisms are supported to create extremely complex test scenarios.","title":".with_variables"}]} \ No newline at end of file +{"config":{"lang":["en"],"min_search_length":3,"prebuild_index":false,"separator":"[\\s\\-]+"},"docs":[{"location":"","text":"HttpRunner \u00b6 HttpRunner is a simple & elegant, yet powerful HTTP(S) testing framework. Enjoy! \u2728 \ud83d\ude80 \u2728 This docs site is corresponding to the latest version 3.x , for 2.x you can reference archive link . Design Philosophy \u00b6 Convention over configuration ROI matters Embrace open source, leverage requests , pytest , pydantic , allure and locust . Key Features \u00b6 Inherit all powerful features of requests , just have fun to handle HTTP(S) in human way. Define testcase in YAML or JSON format, run with pytest in concise and elegant manner. Record and generate testcases with HAR support. Supports variables / extract / validate / hooks mechanisms to create extremely complex test scenarios. With debugtalk.py plugin, any function can be used in any part of your testcase. With jmespath , extract and validate json response has never been easier. With pytest , hundreds of plugins are readily available. With allure , test report can be pretty nice and powerful. With reuse of locust , you can run performance test without extra work. CLI command supported, perfect combination with CI/CD . Subscribe \u00b6 \u5173\u6ce8 HttpRunner \u7684\u5fae\u4fe1\u516c\u4f17\u53f7\uff0c\u7b2c\u4e00\u65f6\u95f4\u83b7\u5f97\u6700\u65b0\u8d44\u8baf\u3002","title":"Introduction"},{"location":"#httprunner","text":"HttpRunner is a simple & elegant, yet powerful HTTP(S) testing framework. Enjoy! \u2728 \ud83d\ude80 \u2728 This docs site is corresponding to the latest version 3.x , for 2.x you can reference archive link .","title":"HttpRunner"},{"location":"#design-philosophy","text":"Convention over configuration ROI matters Embrace open source, leverage requests , pytest , pydantic , allure and locust .","title":"Design Philosophy"},{"location":"#key-features","text":"Inherit all powerful features of requests , just have fun to handle HTTP(S) in human way. Define testcase in YAML or JSON format, run with pytest in concise and elegant manner. Record and generate testcases with HAR support. Supports variables / extract / validate / hooks mechanisms to create extremely complex test scenarios. With debugtalk.py plugin, any function can be used in any part of your testcase. With jmespath , extract and validate json response has never been easier. With pytest , hundreds of plugins are readily available. With allure , test report can be pretty nice and powerful. With reuse of locust , you can run performance test without extra work. CLI command supported, perfect combination with CI/CD .","title":"Key Features"},{"location":"#subscribe","text":"\u5173\u6ce8 HttpRunner \u7684\u5fae\u4fe1\u516c\u4f17\u53f7\uff0c\u7b2c\u4e00\u65f6\u95f4\u83b7\u5f97\u6700\u65b0\u8d44\u8baf\u3002","title":"Subscribe"},{"location":"CHANGELOG/","text":"Release History \u00b6 3.0.13 (2020-06-15) \u00b6 Fixed fix: avoid '.csv' been converted to '_csv' fix: convert har to JSON format testcase fix: missing ${var} handling in overriding config variables fix: SyntaxError caused by quote in case of headers.\"Set-Cookie\" fix: FileExistsError when specified project name conflicts with existed file fix: testcase path handling error when path startswith \"./\" or \".\\\" 3.0.12 (2020-06-14) \u00b6 Fixed fix: compatibility with different path separators of Linux and Windows fix: IndexError in ensure_file_path_valid when file_path=os.getcwd() fix: ensure step referenced api, convert to v3 testcase fix: several other compatibility issues Changed change: skip reporting sentry for errors occurred in debugtalk.py 3.0.11 (2020-06-08) \u00b6 Changed change: override variables (1) testcase: session variables > step variables > config variables (2) testsuite: testcase variables > config variables (3) testsuite testcase variables > testcase config variables Fixed fix: incorrect summary success when testcase failed fix: reload to refresh previously loaded debugtalk module fix: escape $$ in variable value 3.0.10 (2020-06-07) \u00b6 Added feat: implement step setup/teardown hooks feat: support alter response in teardown hooks Fixed fix: ensure upload ready fix: add ExtendJSONEncoder to safely dump json data with python object, such as MultipartEncoder 3.0.9 (2020-06-07) \u00b6 Fixed fix: miss formatting referenced testcase fix: handle cases when parent directory name includes dot/hyphen/space Changed change: add export keyword in TStep to export session variables from referenced testcase change: rename TestCaseInOut field, config_vars and export_vars change: rename StepData field, export_vars change: add --tb=short for hrun command to use shorter traceback format by default change: search debugtalk.py upward recursively until system root dir 3.0.8 (2020-06-04) \u00b6 Added feat: add sentry sdk feat: extract session variable from referenced testcase step Fixed fix: missing request json fix: override testsuite/testcase config verify fix: only strip whitespaces and tabs, \\n\\r are left because they maybe used in changeset fix: log testcase duration before raise ValidationFailure Changed change: add httprunner version in generated pytest file 3.0.7 (2020-06-03) \u00b6 Added feat: make pytest files in chain style feat: hrun supports run pytest files feat: get raw testcase model from pytest file Fixed fix: convert jmespath.search result to int/float unintentionally fix: referenced testcase should not be run duplicately fix: requests.cookies.CookieConflictError, multiple cookies with name fix: missing exit code from pytest fix: skip invalid testcase/testsuite yaml/json file Changed change: har2case generate pytest file by default docs: update sponsor info 3.0.6 (2020-05-29) \u00b6 Added feat: make referenced testcase as pytest class Fixed fix: ensure converted python file in utf-8 encoding fix: duplicate running referenced testcase fix: ensure compatibility issues between testcase format v2 and v3 fix: ensure compatibility with deprecated cli args in v2, include --failfast/--report-file/--save-tests fix: UnicodeDecodeError when request body in protobuf Changed change: make allure-pytest , requests-toolbelt , filetype as optional dependencies change: move all unittests to tests folder change: save testcase log in PWD/logs/ directory 3.0.5 (2020-05-22) \u00b6 Added feat: each testcase has an unique id in uuid4 format feat: add default header HRUN-Request-ID for each testcase #721 feat: builtin allure report feat: dump log for each testcase Fixed fix: ensure referenced testcase share the same session Changed change: remove default added -s option for hrun 3.0.4 (2020-05-19) \u00b6 Added feat: make testsuite and run testsuite feat: testcase/testsuite config support getting variables by function feat: har2case with request cookies feat: log request/response headers and body with indent Fixed fix: extract response cookies fix: handle errors when no valid testcases generated Changed change: har2case do not ignore request headers, except for header startswith : 3.0.3 (2020-05-17) \u00b6 Fixed fix: compatibility with testcase file path includes dots, space and minus sign fix: testcase generator, validate content.xxx => body.xxx fix: scaffold for v3 3.0.2 (2020-05-16) \u00b6 Added feat: add make sub-command to generate python testcases from YAML/JSON feat: format generated python testcases with black test: add postman echo & httpbin as testcase examples Changed refactor all replace jsonschema validation with pydantic remove compatibility with testcase/testsuite format v1 replace unittest with pytest remove builtin html report, allure will be used with pytest later remove locust support temporarily update command line interface 3.0.1 (2020-03-24) \u00b6 Changed remove sentry sdk 3.0.0 (2020-03-10) \u00b6 Added feat: dump log for each testcase feat: add default header HRUN-Request-ID for each testcase #721 Changed remove support for Python 2.7 replace logging with loguru replace string format with f-string remove dependency colorama and colorlog generate reports/logs folder in current working directory remove cli --validate remove cli --pretty","title":"CHANGELOG"},{"location":"CHANGELOG/#release-history","text":"","title":"Release History"},{"location":"CHANGELOG/#3013-2020-06-15","text":"Fixed fix: avoid '.csv' been converted to '_csv' fix: convert har to JSON format testcase fix: missing ${var} handling in overriding config variables fix: SyntaxError caused by quote in case of headers.\"Set-Cookie\" fix: FileExistsError when specified project name conflicts with existed file fix: testcase path handling error when path startswith \"./\" or \".\\\"","title":"3.0.13 (2020-06-15)"},{"location":"CHANGELOG/#3012-2020-06-14","text":"Fixed fix: compatibility with different path separators of Linux and Windows fix: IndexError in ensure_file_path_valid when file_path=os.getcwd() fix: ensure step referenced api, convert to v3 testcase fix: several other compatibility issues Changed change: skip reporting sentry for errors occurred in debugtalk.py","title":"3.0.12 (2020-06-14)"},{"location":"CHANGELOG/#3011-2020-06-08","text":"Changed change: override variables (1) testcase: session variables > step variables > config variables (2) testsuite: testcase variables > config variables (3) testsuite testcase variables > testcase config variables Fixed fix: incorrect summary success when testcase failed fix: reload to refresh previously loaded debugtalk module fix: escape $$ in variable value","title":"3.0.11 (2020-06-08)"},{"location":"CHANGELOG/#3010-2020-06-07","text":"Added feat: implement step setup/teardown hooks feat: support alter response in teardown hooks Fixed fix: ensure upload ready fix: add ExtendJSONEncoder to safely dump json data with python object, such as MultipartEncoder","title":"3.0.10 (2020-06-07)"},{"location":"CHANGELOG/#309-2020-06-07","text":"Fixed fix: miss formatting referenced testcase fix: handle cases when parent directory name includes dot/hyphen/space Changed change: add export keyword in TStep to export session variables from referenced testcase change: rename TestCaseInOut field, config_vars and export_vars change: rename StepData field, export_vars change: add --tb=short for hrun command to use shorter traceback format by default change: search debugtalk.py upward recursively until system root dir","title":"3.0.9 (2020-06-07)"},{"location":"CHANGELOG/#308-2020-06-04","text":"Added feat: add sentry sdk feat: extract session variable from referenced testcase step Fixed fix: missing request json fix: override testsuite/testcase config verify fix: only strip whitespaces and tabs, \\n\\r are left because they maybe used in changeset fix: log testcase duration before raise ValidationFailure Changed change: add httprunner version in generated pytest file","title":"3.0.8 (2020-06-04)"},{"location":"CHANGELOG/#307-2020-06-03","text":"Added feat: make pytest files in chain style feat: hrun supports run pytest files feat: get raw testcase model from pytest file Fixed fix: convert jmespath.search result to int/float unintentionally fix: referenced testcase should not be run duplicately fix: requests.cookies.CookieConflictError, multiple cookies with name fix: missing exit code from pytest fix: skip invalid testcase/testsuite yaml/json file Changed change: har2case generate pytest file by default docs: update sponsor info","title":"3.0.7 (2020-06-03)"},{"location":"CHANGELOG/#306-2020-05-29","text":"Added feat: make referenced testcase as pytest class Fixed fix: ensure converted python file in utf-8 encoding fix: duplicate running referenced testcase fix: ensure compatibility issues between testcase format v2 and v3 fix: ensure compatibility with deprecated cli args in v2, include --failfast/--report-file/--save-tests fix: UnicodeDecodeError when request body in protobuf Changed change: make allure-pytest , requests-toolbelt , filetype as optional dependencies change: move all unittests to tests folder change: save testcase log in PWD/logs/ directory","title":"3.0.6 (2020-05-29)"},{"location":"CHANGELOG/#305-2020-05-22","text":"Added feat: each testcase has an unique id in uuid4 format feat: add default header HRUN-Request-ID for each testcase #721 feat: builtin allure report feat: dump log for each testcase Fixed fix: ensure referenced testcase share the same session Changed change: remove default added -s option for hrun","title":"3.0.5 (2020-05-22)"},{"location":"CHANGELOG/#304-2020-05-19","text":"Added feat: make testsuite and run testsuite feat: testcase/testsuite config support getting variables by function feat: har2case with request cookies feat: log request/response headers and body with indent Fixed fix: extract response cookies fix: handle errors when no valid testcases generated Changed change: har2case do not ignore request headers, except for header startswith :","title":"3.0.4 (2020-05-19)"},{"location":"CHANGELOG/#303-2020-05-17","text":"Fixed fix: compatibility with testcase file path includes dots, space and minus sign fix: testcase generator, validate content.xxx => body.xxx fix: scaffold for v3","title":"3.0.3 (2020-05-17)"},{"location":"CHANGELOG/#302-2020-05-16","text":"Added feat: add make sub-command to generate python testcases from YAML/JSON feat: format generated python testcases with black test: add postman echo & httpbin as testcase examples Changed refactor all replace jsonschema validation with pydantic remove compatibility with testcase/testsuite format v1 replace unittest with pytest remove builtin html report, allure will be used with pytest later remove locust support temporarily update command line interface","title":"3.0.2 (2020-05-16)"},{"location":"CHANGELOG/#301-2020-03-24","text":"Changed remove sentry sdk","title":"3.0.1 (2020-03-24)"},{"location":"CHANGELOG/#300-2020-03-10","text":"Added feat: dump log for each testcase feat: add default header HRUN-Request-ID for each testcase #721 Changed remove support for Python 2.7 replace logging with loguru replace string format with f-string remove dependency colorama and colorlog generate reports/logs folder in current working directory remove cli --validate remove cli --pretty","title":"3.0.0 (2020-03-10)"},{"location":"installation/","text":"HttpRunner is developed with Python, it supports Python 3.6+ and most operating systems. Combination of Python 3.6/3.7/3.8 and macOS/Linux/Windows are tested continuously on GitHub-Actions . Installation \u00b6 HttpRunner is available on PyPI and can be installed through pip . $ pip3 install httprunner If you want to keep up with the latest version, you can install with github repository url. $ pip3 install git+https://github.com/httprunner/httprunner.git@master If\b you have installed HttpRunner before and want to upgrade to the latest version, you can use the -U option. $ pip3 install -U httprunner $ pip3 install -U git+https://github.com/httprunner/httprunner.git@master Check Installation \u00b6 When HttpRunner is installed, 4 commands will be added in your system. httprunner : main command, used for all functions hrun : alias for httprunner run , used to run YAML/JSON/pytest testcases hmake : alias for httprunner make , used to convert YAML/JSON testcases to pytest files har2case : alias for httprunner har2case , used to convert HAR to YAML/JSON testcases To see HttpRunner version: $ httprunner -V # hrun -V 3.0.10 To see available options, run: $ httprunner -h usage: httprunner [-h] [-V] {run,startproject,har2case,make} ... One-stop solution for HTTP(S) testing. positional arguments: {run,startproject,har2case,make} sub-command help run Make HttpRunner testcases and run with pytest. startproject Create a new project with template structure. har2case Convert HAR(HTTP Archive) to YAML/JSON testcases for HttpRunner. make Convert YAML/JSON testcases to pytest cases. optional arguments: -h, --help show this help message and exit -V, --version show version","title":"Installation"},{"location":"installation/#installation","text":"HttpRunner is available on PyPI and can be installed through pip . $ pip3 install httprunner If you want to keep up with the latest version, you can install with github repository url. $ pip3 install git+https://github.com/httprunner/httprunner.git@master If\b you have installed HttpRunner before and want to upgrade to the latest version, you can use the -U option. $ pip3 install -U httprunner $ pip3 install -U git+https://github.com/httprunner/httprunner.git@master","title":"Installation"},{"location":"installation/#check-installation","text":"When HttpRunner is installed, 4 commands will be added in your system. httprunner : main command, used for all functions hrun : alias for httprunner run , used to run YAML/JSON/pytest testcases hmake : alias for httprunner make , used to convert YAML/JSON testcases to pytest files har2case : alias for httprunner har2case , used to convert HAR to YAML/JSON testcases To see HttpRunner version: $ httprunner -V # hrun -V 3.0.10 To see available options, run: $ httprunner -h usage: httprunner [-h] [-V] {run,startproject,har2case,make} ... One-stop solution for HTTP(S) testing. positional arguments: {run,startproject,har2case,make} sub-command help run Make HttpRunner testcases and run with pytest. startproject Create a new project with template structure. har2case Convert HAR(HTTP Archive) to YAML/JSON testcases for HttpRunner. make Convert YAML/JSON testcases to pytest cases. optional arguments: -h, --help show this help message and exit -V, --version show version","title":"Check Installation"},{"location":"quickstart/","text":"Quick Start \u00b6 First of all, remember HttpRunner is a simple yet powerful HTTP(S) testing framework. This document will help you to learn HttpRunner in 10 minutes. Write the first test case \u00b6 Open your favorite text editor and you can write test cases like this. - test : name : get token request : url : http://127.0.0.1:5000/api/get-token method : POST headers : user_agent : iOS/10.3 device_sn : 9TN6O2Bn1vzfybF os_platform : ios app_version : 2.8.6 json : sign : 19067cf712265eb5426db8d3664026c1ccea02b9 - test : name : create user which does not exist request : url : http://127.0.0.1:5000/api/users/1000 method : POST headers : device_sn : 9TN6O2Bn1vzfybF token : F8prvGryC5beBr4g json : name : \"user1\" password : \"123456\" validate : - { \"check\" : \"status_code\" , \"comparator\" : \"eq\" , \"expect\" : 201 } - { \"check\" : \"content.success\" , \"comparator\" : \"eq\" , \"expect\" : true } As you see, each API request is described in a test block. And in the request field, it describes the detail of HTTP request, includes url, method, headers and data, which are in line with the captured traffic. You may wonder why we use the json field other than data . That's because the post data is in JSON format, when we use json to indicate the post data, we do not have to specify Content-Type to be application/json in request headers or dump data before request. Have you recalled some familiar scenes? Yes! That's what we did in requests.request ! Since HttpRunner takes full reuse of Requests , it inherits all powerful features of Requests , and we can handle HTTP request as the way we do before. Run test cases \u00b6 Suppose the test case file is named as quickstart-demo-rev-0.yml and is located in examples folder, then we can run it in this way. ate examples/demo-rev-0.yml Running tests... ---------------------------------------------------------------------- get token ... INFO:root: Start to POST http://127.0.0.1:5000/api/get-token INFO:root: status_code: 200, response_time: 48 ms, response_length: 46 bytes OK (0.049669)s create user which does not exist ... INFO:root: Start to POST http://127.0.0.1:5000/api/users/1000 ERROR:root: Failed to POST http://127.0.0.1:5000/api/users/1000! exception msg: 403 Client Error: FORBIDDEN for url: http://127.0.0.1:5000/api/users/1000 ERROR (0.006471)s ---------------------------------------------------------------------- Ran 2 tests in 0.056s FAILED (Errors=1) Oops! The second test case failed with 403 status code. That is because we request with the same data as we captured in Charles Proxy , while the token is generated dynamically, thus the recorded data can not be be used twice directly. Optimize test case: correlation \u00b6 To fix this problem, we should correlate token field in the second API test case, which is also called correlation . - test : name : get token request : url : http://127.0.0.1:5000/api/get-token method : POST headers : user_agent : iOS/10.3 device_sn : 9TN6O2Bn1vzfybF os_platform : ios app_version : 2.8.6 json : sign : 19067cf712265eb5426db8d3664026c1ccea02b9 extract : - token : content.token validate : - { \"check\" : \"status_code\" , \"comparator\" : \"eq\" , \"expect\" : 200 } - { \"check\" : \"content.token\" , \"comparator\" : \"len_eq\" , \"expect\" : 16 } - test : name : create user which does not exist request : url : http://127.0.0.1:5000/api/users/1000 method : POST headers : device_sn : 9TN6O2Bn1vzfybF token : $token json : name : \"user1\" password : \"123456\" validate : - { \"check\" : \"status_code\" , \"comparator\" : \"eq\" , \"expect\" : 201 } - { \"check\" : \"content.success\" , \"comparator\" : \"eq\" , \"expect\" : true } As you see, the token field is no longer hardcoded, instead it is extracted from the first API request with extract mechanism. In the meanwhile, it is assigned to token variable, which can be referenced by the subsequent API requests. Now we save the test cases to quickstart-demo-rev-1.yml and rerun it, and we will find that both API requests to be successful. Optimize test case: parameterization \u00b6 Let's look back to our test set quickstart-demo-rev-1.yml , and we can see the device_sn field is still hardcoded. This may be quite different from the actual scenarios. In actual scenarios, each user's device_sn is different, so we should parameterize the request parameters, which is also called parameterization . In the meanwhile, the sign field is calculated with other header fields, thus it may change significantly if any header field changes slightly. However, the test cases are only YAML documents, it is impossible to generate parameters dynamically in such text. Fortunately, we can combine Python scripts with YAML/JSON test cases in HttpRunner . To achieve this goal, we can utilize debugtalk.py plugin and variables mechanisms. To be specific, we can create a Python file ( examples/debugtalk.py ) and implement the related algorithm in it. The debugtalk.py file can not only be located beside YAML/JSON testcase file, but also can be in any upward recursive folder. Since we want debugtalk.py to be importable, we should put a __init__.py in its folder to make it as a Python module. import hashlib import hmac import random import string SECRET_KEY = \"DebugTalk\" def get_sign ( * args ): content = '' . join ( args ) . encode ( 'ascii' ) sign_key = SECRET_KEY . encode ( 'ascii' ) sign = hmac . new ( sign_key , content , hashlib . sha1 ) . hexdigest () return sign def gen_random_string ( str_len ): random_char_list = [] for _ in range ( str_len ): random_char = random . choice ( string . ascii_letters + string . digits ) random_char_list . append ( random_char ) random_string = '' . join ( random_char_list ) return random_string And then, we can revise our demo test case and reference the functions. Suppose the revised file named quickstart-demo-rev-2.yml . - test : name : get token variables : - user_agent : 'iOS/10.3' - device_sn : ${gen_random_string(15)} - os_platform : 'ios' - app_version : '2.8.6' request : url : http://127.0.0.1:5000/api/get-token method : POST headers : user_agent : $user_agent device_sn : $device_sn os_platform : $os_platform app_version : $app_version json : sign : ${get_sign($user_agent, $device_sn, $os_platform, $app_version)} extract : - token : content.token validate : - { \"check\" : \"status_code\" , \"comparator\" : \"eq\" , \"expect\" : 200 } - { \"check\" : \"content.token\" , \"comparator\" : \"len_eq\" , \"expect\" : 16 } - test : name : create user which does not exist request : url : http://127.0.0.1:5000/api/users/1000 method : POST headers : device_sn : $device_sn token : $token json : name : \"user1\" password : \"123456\" validate : - { \"check\" : \"status_code\" , \"comparator\" : \"eq\" , \"expect\" : 201 } - { \"check\" : \"content.success\" , \"comparator\" : \"eq\" , \"expect\" : true } In this revised test case, variable reference and function invoke mechanisms are both used. To make fields like device_sn can be used more than once, we bind values to variables in variables block. When we bind variables, we can not only bind exact value to a variable name, but also can call a function and bind the evaluated value to it. When we want to reference a variable in the test case, we can do this with a escape character $ . For example, $user_agent will not be taken as a normal string, and HttpRunner will consider it as a variable named user_agent , search and return its binding value. When we want to reference a function, we shall use another escape character ${} . Any content in ${} will be considered as function calling, so we should guarantee that we call functions in the right way. At the same time, variables can also be referenced as parameters of function. Optimize test case: overall config block \u00b6 There is still one issue unsolved. The device_sn field is defined in the first API test case, thus it may be impossible to reference it in other test cases. Context separation is a well-designed mechanism, and we should obey this good practice. To handle this case, overall config block is supported in HttpRunner . If we define variables or import functions in config block, these variables and functions will become global and can be referenced in the whole test set. # examples/quickstart-demo-rev-3.yml - config : name : \"smoketest for CRUD users.\" variables : - device_sn : ${gen_random_string(15)} request : base_url : http://127.0.0.1:5000 headers : device_sn : $device_sn - test : name : get token variables : - user_agent : 'iOS/10.3' - os_platform : 'ios' - app_version : '2.8.6' request : url : /api/get-token method : POST headers : user_agent : $user_agent os_platform : $os_platform app_version : $app_version json : sign : ${get_sign($user_agent, $device_sn, $os_platform, $app_version)} extract : - token : content.token validate : - { \"check\" : \"status_code\" , \"comparator\" : \"eq\" , \"expect\" : 200 } - { \"check\" : \"content.token\" , \"comparator\" : \"len_eq\" , \"expect\" : 16 } - test : name : create user which does not exist request : url : /api/users/1000 method : POST headers : token : $token json : name : \"user1\" password : \"123456\" validate : - { \"check\" : \"status_code\" , \"comparator\" : \"eq\" , \"expect\" : 201 } - { \"check\" : \"content.success\" , \"comparator\" : \"eq\" , \"expect\" : true } As you see, we define variables in config block. Also, we can set base_url in config block, thereby we can specify relative path in each API request url. Besides, we can also set common fields in config request , such as device_sn in headers. Until now, the test cases are finished and each detail is handled properly. Run test cases and generate report \u00b6 Finally, let's run test set quickstart-demo-rev-3.yml once more. $ ate examples/quickstart-demo-rev-4.yml Running tests... ---------------------------------------------------------------------- get token ... INFO:root: Start to POST http://127.0.0.1:5000/api/get-token INFO:root: status_code: 200, response_time: 33 ms, response_length: 46 bytes OK (0.037027)s create user which does not exist ... INFO:root: Start to POST http://127.0.0.1:5000/api/users/1000 INFO:root: status_code: 201, response_time: 15 ms, response_length: 54 bytes OK (0.016414)s ---------------------------------------------------------------------- Ran 2 tests in 0.054s OK Generating HTML reports... Template is not specified, load default template instead. Reports generated: /Users/Leo/MyProjects/HttpRunner/reports/quickstart-demo-rev-0/2017-08-01-16-51-51.html Great! The test case runs successfully and generates a HTML test report. Further more \u00b6 This is just a starting point, see the advanced guide for the advanced features. templating data extraction and validation comparator","title":"Quick Start"},{"location":"quickstart/#quick-start","text":"First of all, remember HttpRunner is a simple yet powerful HTTP(S) testing framework. This document will help you to learn HttpRunner in 10 minutes.","title":"Quick Start"},{"location":"quickstart/#write-the-first-test-case","text":"Open your favorite text editor and you can write test cases like this. - test : name : get token request : url : http://127.0.0.1:5000/api/get-token method : POST headers : user_agent : iOS/10.3 device_sn : 9TN6O2Bn1vzfybF os_platform : ios app_version : 2.8.6 json : sign : 19067cf712265eb5426db8d3664026c1ccea02b9 - test : name : create user which does not exist request : url : http://127.0.0.1:5000/api/users/1000 method : POST headers : device_sn : 9TN6O2Bn1vzfybF token : F8prvGryC5beBr4g json : name : \"user1\" password : \"123456\" validate : - { \"check\" : \"status_code\" , \"comparator\" : \"eq\" , \"expect\" : 201 } - { \"check\" : \"content.success\" , \"comparator\" : \"eq\" , \"expect\" : true } As you see, each API request is described in a test block. And in the request field, it describes the detail of HTTP request, includes url, method, headers and data, which are in line with the captured traffic. You may wonder why we use the json field other than data . That's because the post data is in JSON format, when we use json to indicate the post data, we do not have to specify Content-Type to be application/json in request headers or dump data before request. Have you recalled some familiar scenes? Yes! That's what we did in requests.request ! Since HttpRunner takes full reuse of Requests , it inherits all powerful features of Requests , and we can handle HTTP request as the way we do before.","title":"Write the first test case"},{"location":"quickstart/#run-test-cases","text":"Suppose the test case file is named as quickstart-demo-rev-0.yml and is located in examples folder, then we can run it in this way. ate examples/demo-rev-0.yml Running tests... ---------------------------------------------------------------------- get token ... INFO:root: Start to POST http://127.0.0.1:5000/api/get-token INFO:root: status_code: 200, response_time: 48 ms, response_length: 46 bytes OK (0.049669)s create user which does not exist ... INFO:root: Start to POST http://127.0.0.1:5000/api/users/1000 ERROR:root: Failed to POST http://127.0.0.1:5000/api/users/1000! exception msg: 403 Client Error: FORBIDDEN for url: http://127.0.0.1:5000/api/users/1000 ERROR (0.006471)s ---------------------------------------------------------------------- Ran 2 tests in 0.056s FAILED (Errors=1) Oops! The second test case failed with 403 status code. That is because we request with the same data as we captured in Charles Proxy , while the token is generated dynamically, thus the recorded data can not be be used twice directly.","title":"Run test cases"},{"location":"quickstart/#optimize-test-case-correlation","text":"To fix this problem, we should correlate token field in the second API test case, which is also called correlation . - test : name : get token request : url : http://127.0.0.1:5000/api/get-token method : POST headers : user_agent : iOS/10.3 device_sn : 9TN6O2Bn1vzfybF os_platform : ios app_version : 2.8.6 json : sign : 19067cf712265eb5426db8d3664026c1ccea02b9 extract : - token : content.token validate : - { \"check\" : \"status_code\" , \"comparator\" : \"eq\" , \"expect\" : 200 } - { \"check\" : \"content.token\" , \"comparator\" : \"len_eq\" , \"expect\" : 16 } - test : name : create user which does not exist request : url : http://127.0.0.1:5000/api/users/1000 method : POST headers : device_sn : 9TN6O2Bn1vzfybF token : $token json : name : \"user1\" password : \"123456\" validate : - { \"check\" : \"status_code\" , \"comparator\" : \"eq\" , \"expect\" : 201 } - { \"check\" : \"content.success\" , \"comparator\" : \"eq\" , \"expect\" : true } As you see, the token field is no longer hardcoded, instead it is extracted from the first API request with extract mechanism. In the meanwhile, it is assigned to token variable, which can be referenced by the subsequent API requests. Now we save the test cases to quickstart-demo-rev-1.yml and rerun it, and we will find that both API requests to be successful.","title":"Optimize test case: correlation"},{"location":"quickstart/#optimize-test-case-parameterization","text":"Let's look back to our test set quickstart-demo-rev-1.yml , and we can see the device_sn field is still hardcoded. This may be quite different from the actual scenarios. In actual scenarios, each user's device_sn is different, so we should parameterize the request parameters, which is also called parameterization . In the meanwhile, the sign field is calculated with other header fields, thus it may change significantly if any header field changes slightly. However, the test cases are only YAML documents, it is impossible to generate parameters dynamically in such text. Fortunately, we can combine Python scripts with YAML/JSON test cases in HttpRunner . To achieve this goal, we can utilize debugtalk.py plugin and variables mechanisms. To be specific, we can create a Python file ( examples/debugtalk.py ) and implement the related algorithm in it. The debugtalk.py file can not only be located beside YAML/JSON testcase file, but also can be in any upward recursive folder. Since we want debugtalk.py to be importable, we should put a __init__.py in its folder to make it as a Python module. import hashlib import hmac import random import string SECRET_KEY = \"DebugTalk\" def get_sign ( * args ): content = '' . join ( args ) . encode ( 'ascii' ) sign_key = SECRET_KEY . encode ( 'ascii' ) sign = hmac . new ( sign_key , content , hashlib . sha1 ) . hexdigest () return sign def gen_random_string ( str_len ): random_char_list = [] for _ in range ( str_len ): random_char = random . choice ( string . ascii_letters + string . digits ) random_char_list . append ( random_char ) random_string = '' . join ( random_char_list ) return random_string And then, we can revise our demo test case and reference the functions. Suppose the revised file named quickstart-demo-rev-2.yml . - test : name : get token variables : - user_agent : 'iOS/10.3' - device_sn : ${gen_random_string(15)} - os_platform : 'ios' - app_version : '2.8.6' request : url : http://127.0.0.1:5000/api/get-token method : POST headers : user_agent : $user_agent device_sn : $device_sn os_platform : $os_platform app_version : $app_version json : sign : ${get_sign($user_agent, $device_sn, $os_platform, $app_version)} extract : - token : content.token validate : - { \"check\" : \"status_code\" , \"comparator\" : \"eq\" , \"expect\" : 200 } - { \"check\" : \"content.token\" , \"comparator\" : \"len_eq\" , \"expect\" : 16 } - test : name : create user which does not exist request : url : http://127.0.0.1:5000/api/users/1000 method : POST headers : device_sn : $device_sn token : $token json : name : \"user1\" password : \"123456\" validate : - { \"check\" : \"status_code\" , \"comparator\" : \"eq\" , \"expect\" : 201 } - { \"check\" : \"content.success\" , \"comparator\" : \"eq\" , \"expect\" : true } In this revised test case, variable reference and function invoke mechanisms are both used. To make fields like device_sn can be used more than once, we bind values to variables in variables block. When we bind variables, we can not only bind exact value to a variable name, but also can call a function and bind the evaluated value to it. When we want to reference a variable in the test case, we can do this with a escape character $ . For example, $user_agent will not be taken as a normal string, and HttpRunner will consider it as a variable named user_agent , search and return its binding value. When we want to reference a function, we shall use another escape character ${} . Any content in ${} will be considered as function calling, so we should guarantee that we call functions in the right way. At the same time, variables can also be referenced as parameters of function.","title":"Optimize test case: parameterization"},{"location":"quickstart/#optimize-test-case-overall-config-block","text":"There is still one issue unsolved. The device_sn field is defined in the first API test case, thus it may be impossible to reference it in other test cases. Context separation is a well-designed mechanism, and we should obey this good practice. To handle this case, overall config block is supported in HttpRunner . If we define variables or import functions in config block, these variables and functions will become global and can be referenced in the whole test set. # examples/quickstart-demo-rev-3.yml - config : name : \"smoketest for CRUD users.\" variables : - device_sn : ${gen_random_string(15)} request : base_url : http://127.0.0.1:5000 headers : device_sn : $device_sn - test : name : get token variables : - user_agent : 'iOS/10.3' - os_platform : 'ios' - app_version : '2.8.6' request : url : /api/get-token method : POST headers : user_agent : $user_agent os_platform : $os_platform app_version : $app_version json : sign : ${get_sign($user_agent, $device_sn, $os_platform, $app_version)} extract : - token : content.token validate : - { \"check\" : \"status_code\" , \"comparator\" : \"eq\" , \"expect\" : 200 } - { \"check\" : \"content.token\" , \"comparator\" : \"len_eq\" , \"expect\" : 16 } - test : name : create user which does not exist request : url : /api/users/1000 method : POST headers : token : $token json : name : \"user1\" password : \"123456\" validate : - { \"check\" : \"status_code\" , \"comparator\" : \"eq\" , \"expect\" : 201 } - { \"check\" : \"content.success\" , \"comparator\" : \"eq\" , \"expect\" : true } As you see, we define variables in config block. Also, we can set base_url in config block, thereby we can specify relative path in each API request url. Besides, we can also set common fields in config request , such as device_sn in headers. Until now, the test cases are finished and each detail is handled properly.","title":"Optimize test case: overall config block"},{"location":"quickstart/#run-test-cases-and-generate-report","text":"Finally, let's run test set quickstart-demo-rev-3.yml once more. $ ate examples/quickstart-demo-rev-4.yml Running tests... ---------------------------------------------------------------------- get token ... INFO:root: Start to POST http://127.0.0.1:5000/api/get-token INFO:root: status_code: 200, response_time: 33 ms, response_length: 46 bytes OK (0.037027)s create user which does not exist ... INFO:root: Start to POST http://127.0.0.1:5000/api/users/1000 INFO:root: status_code: 201, response_time: 15 ms, response_length: 54 bytes OK (0.016414)s ---------------------------------------------------------------------- Ran 2 tests in 0.054s OK Generating HTML reports... Template is not specified, load default template instead. Reports generated: /Users/Leo/MyProjects/HttpRunner/reports/quickstart-demo-rev-0/2017-08-01-16-51-51.html Great! The test case runs successfully and generates a HTML test report.","title":"Run test cases and generate report"},{"location":"quickstart/#further-more","text":"This is just a starting point, see the advanced guide for the advanced features. templating data extraction and validation comparator","title":"Further more"},{"location":"sponsors/","text":"\u8d5e\u52a9\u5546 \u00b6 \u611f\u8c22\u5404\u4f4d\u5bf9 HttpRunner \u7684\u8d5e\u52a9\u652f\u6301\uff01 \u91d1\u724c\u8d5e\u52a9\u5546\uff08Gold Sponsor\uff09 \u00b6 \u970d\u683c\u6c83\u5179\u6d4b\u8bd5\u5b66\u9662 \u662f\u4e1a\u754c\u9886\u5148\u7684\u6d4b\u8bd5\u5f00\u53d1\u6280\u672f\u9ad8\u7aef\u6559\u80b2\u54c1\u724c\uff0c\u96b6\u5c5e\u4e8e\u6d4b\u5427\uff08\u5317\u4eac\uff09\u79d1\u6280\u6709\u9650\u516c\u53f8\u3002\u5b66\u9662\u8bfe\u7a0b\u5747\u7531 BAT \u4e00\u7ebf\u6d4b\u8bd5\u5927\u5496\u6267\u6559\uff0c\u63d0\u4f9b\u5b9e\u6218\u9a71\u52a8\u7684\u63a5\u53e3\u81ea\u52a8\u5316\u6d4b\u8bd5\u3001\u79fb\u52a8\u81ea\u52a8\u5316\u6d4b\u8bd5\u3001\u6027\u80fd\u6d4b\u8bd5\u3001\u6301\u7eed\u96c6\u6210\u4e0e DevOps \u7b49\u6280\u672f\u57f9\u8bad\uff0c\u4ee5\u53ca\u6d4b\u8bd5\u5f00\u53d1\u4f18\u79c0\u4eba\u624d\u5185\u63a8\u670d\u52a1\u3002 \u70b9\u51fb\u5b66\u4e60! \u970d\u683c\u6c83\u5179\u6d4b\u8bd5\u5b66\u9662 \u662f HttpRunner \u7684\u9996\u5bb6\u91d1\u724c\u8d5e\u52a9\u5546\u3002 \u5f00\u6e90\u670d\u52a1\u8d5e\u52a9\u5546\uff08Open Source Sponsor\uff09 \u00b6 HttpRunner is in Sentry Sponsored plan. \u6210\u4e3a\u8d5e\u52a9\u5546 \u00b6 \u5982\u679c\u4f60\u6240\u5728\u7684\u516c\u53f8\u6216\u4e2a\u4eba\u4e5f\u60f3\u5bf9 HttpRunner \u8fdb\u884c\u8d5e\u52a9\uff0c\u53ef\u53c2\u8003\u5982\u4e0b\u65b9\u6848\uff0c\u5177\u4f53\u53ef\u8054\u7cfb \u9879\u76ee\u4f5c\u8005 \u3002 \u7b49\u7ea7 \u91d1\u724c\u8d5e\u52a9\u5546 \uff08Gold Sponsor\uff09 \u94f6\u724c\u8d5e\u52a9\u5546 \uff08Silver Sponsor\uff09 \u4e2a\u4eba\u8d5e\u8d4f \u91d1\u989d \uffe510000/\u5e74 \uffe55000/\u5e74 \u4efb\u610f \u6743\u76ca \u516c\u53f8 logo\uff08\u5927\uff09\u548c\u94fe\u63a5\u5c55\u793a\u5728 README.md 150 \u5b57\u7684\u5ba3\u4f20\u6587\u6848 \u516c\u53f8 logo\uff08\u4e2d\uff09\u548c\u94fe\u63a5\u5c55\u793a\u5728 README.md 50 \u5b57\u7684\u5ba3\u4f20\u6587\u6848 \u4e2a\u4eba ID \u548c\u94fe\u63a5\u5c55\u793a\u5728 sponsors.md","title":"Sponsors"},{"location":"sponsors/#_1","text":"\u611f\u8c22\u5404\u4f4d\u5bf9 HttpRunner \u7684\u8d5e\u52a9\u652f\u6301\uff01","title":"\u8d5e\u52a9\u5546"},{"location":"sponsors/#gold-sponsor","text":"\u970d\u683c\u6c83\u5179\u6d4b\u8bd5\u5b66\u9662 \u662f\u4e1a\u754c\u9886\u5148\u7684\u6d4b\u8bd5\u5f00\u53d1\u6280\u672f\u9ad8\u7aef\u6559\u80b2\u54c1\u724c\uff0c\u96b6\u5c5e\u4e8e\u6d4b\u5427\uff08\u5317\u4eac\uff09\u79d1\u6280\u6709\u9650\u516c\u53f8\u3002\u5b66\u9662\u8bfe\u7a0b\u5747\u7531 BAT \u4e00\u7ebf\u6d4b\u8bd5\u5927\u5496\u6267\u6559\uff0c\u63d0\u4f9b\u5b9e\u6218\u9a71\u52a8\u7684\u63a5\u53e3\u81ea\u52a8\u5316\u6d4b\u8bd5\u3001\u79fb\u52a8\u81ea\u52a8\u5316\u6d4b\u8bd5\u3001\u6027\u80fd\u6d4b\u8bd5\u3001\u6301\u7eed\u96c6\u6210\u4e0e DevOps \u7b49\u6280\u672f\u57f9\u8bad\uff0c\u4ee5\u53ca\u6d4b\u8bd5\u5f00\u53d1\u4f18\u79c0\u4eba\u624d\u5185\u63a8\u670d\u52a1\u3002 \u70b9\u51fb\u5b66\u4e60! \u970d\u683c\u6c83\u5179\u6d4b\u8bd5\u5b66\u9662 \u662f HttpRunner \u7684\u9996\u5bb6\u91d1\u724c\u8d5e\u52a9\u5546\u3002","title":"\u91d1\u724c\u8d5e\u52a9\u5546\uff08Gold Sponsor\uff09"},{"location":"sponsors/#open-source-sponsor","text":"HttpRunner is in Sentry Sponsored plan.","title":"\u5f00\u6e90\u670d\u52a1\u8d5e\u52a9\u5546\uff08Open Source Sponsor\uff09"},{"location":"sponsors/#_2","text":"\u5982\u679c\u4f60\u6240\u5728\u7684\u516c\u53f8\u6216\u4e2a\u4eba\u4e5f\u60f3\u5bf9 HttpRunner \u8fdb\u884c\u8d5e\u52a9\uff0c\u53ef\u53c2\u8003\u5982\u4e0b\u65b9\u6848\uff0c\u5177\u4f53\u53ef\u8054\u7cfb \u9879\u76ee\u4f5c\u8005 \u3002 \u7b49\u7ea7 \u91d1\u724c\u8d5e\u52a9\u5546 \uff08Gold Sponsor\uff09 \u94f6\u724c\u8d5e\u52a9\u5546 \uff08Silver Sponsor\uff09 \u4e2a\u4eba\u8d5e\u8d4f \u91d1\u989d \uffe510000/\u5e74 \uffe55000/\u5e74 \u4efb\u610f \u6743\u76ca \u516c\u53f8 logo\uff08\u5927\uff09\u548c\u94fe\u63a5\u5c55\u793a\u5728 README.md 150 \u5b57\u7684\u5ba3\u4f20\u6587\u6848 \u516c\u53f8 logo\uff08\u4e2d\uff09\u548c\u94fe\u63a5\u5c55\u793a\u5728 README.md 50 \u5b57\u7684\u5ba3\u4f20\u6587\u6848 \u4e2a\u4eba ID \u548c\u94fe\u63a5\u5c55\u793a\u5728 sponsors.md","title":"\u6210\u4e3a\u8d5e\u52a9\u5546"},{"location":"dev/models/","text":"Models \u00b6 HttpRunner v3.x uses pydantic to define models of testcase.","title":"Models"},{"location":"dev/models/#models","text":"HttpRunner v3.x uses pydantic to define models of testcase.","title":"Models"},{"location":"user/gen_tests/","text":"Record & Generate testcase \u00b6 capture HTTP request and response \u00b6 Before we write testcases, we should know the details of the API. It is a good choice to use a web debugging proxy tool like Charles Proxy to capture the HTTP traffic. For example, the image below illustrates post form data to postman-echo.com . export sessions to HAR file \u00b6 Then we can select captured request & response and export sessions to HTTP archive (.har) file. generate testcase with har2case \u00b6 When you get HAR file, you can use builtin command har2case to convert it to HttpRunner testcase. help \u00b6 $ har2case -h usage: har2case har2case [-h] [-2y] [-2j] [--filter FILTER] [--exclude EXCLUDE] [har_source_file] positional arguments: har_source_file Specify HAR source file optional arguments: -h, --help show this help message and exit -2y, --to-yml, --to-yaml Convert to YAML format, if not specified, convert to pytest format by default. -2j, --to-json Convert to JSON format, if not specified, convert to pytest format by default. --filter FILTER Specify filter keyword, only url include filter string will be converted. --exclude EXCLUDE Specify exclude keyword, url that includes exclude string will be ignored, multiple keywords can be joined with '|' generate testcase (pytest) \u00b6 Since HttpRunner 3.0.7 , har2case will convert HAR file to pytest by default, and it is extremely recommended to write and maintain testcases in pytest format instead of former YAML/JSON format. $ har2case har/postman-echo-post-form.har 2020-06-15 15:08:01.187 | INFO | httprunner.ext.har2case.core:gen_testcase:332 - Start to generate testcase from har/postman-echo-post-form.har 2020-06-15 15:08:01.187 | INFO | httprunner.ext.har2case.core:_make_testcase:323 - Extract info from HAR file and prepare for testcase. 2020-06-15 15:08:01.191 | INFO | httprunner.loader:load_dot_env_file:130 - Loading environment variables from /Users/debugtalk/Desktop/demo/.env 2020-06-15 15:08:01.191 | DEBUG | httprunner.utils:set_os_environ:32 - Set OS environment variable: USERNAME 2020-06-15 15:08:01.191 | DEBUG | httprunner.utils:set_os_environ:32 - Set OS environment variable: PASSWORD 2020-06-15 15:08:01.193 | INFO | httprunner.make:make_testcase:310 - start to make testcase: /Users/debugtalk/Desktop/demo/har/postman-echo-post-form.har 2020-06-15 15:08:01.193 | INFO | httprunner.make:make_testcase:383 - generated testcase: /Users/debugtalk/Desktop/demo/har/postman_echo_post_form_test.py 2020-06-15 15:08:01.194 | INFO | httprunner.make:format_pytest_with_black:147 - format pytest cases with black ... reformatted /Users/debugtalk/Desktop/demo/har/postman_echo_post_form_test.py All done! \u2728 \ud83c\udf70 \u2728 1 file reformatted. 2020-06-15 15:08:01.469 | INFO | httprunner.ext.har2case.core:gen_testcase:353 - generated testcase: /Users/debugtalk/Desktop/demo/har/postman_echo_post_form_test.py The generated pytest file is a standard Python file shown as below. # NOTE: Generated By HttpRunner v3.0.12 # FROM: har/postman-echo-post-form.har from httprunner import HttpRunner , Config , Step , RunRequest , RunTestCase class TestCasePostmanEchoPostForm ( HttpRunner ): config = Config ( \"testcase description\" ) . verify ( False ) teststeps = [ Step ( RunRequest ( \"/get\" ) . get ( \"https://postman-echo.com/get\" ) . with_params ( ** { \"foo1\" : \"bar1\" , \"foo2\" : \"bar2\" }) . with_headers ( ** { \"User-Agent\" : \"PostmanRuntime/7.24.1\" , \"Accept\" : \"*/*\" , \"Cache-Control\" : \"no-cache\" , \"Postman-Token\" : \"6606343b-10e5-4165-a89f-6c301b762ce0\" , \"Host\" : \"postman-echo.com\" , \"Accept-Encoding\" : \"gzip, deflate, br\" , \"Connection\" : \"keep-alive\" , \"Cookie\" : \"sails.sid=s%3AQG_EVeNRw8k1xxZ6v_SG401VTpmJDSRu.fTAGx3JnZUT7S0c2 %2F rD9cxUhQemIsm78nifYZYHpPCU\" , } ) . with_cookies ( ** { \"sails.sid\" : \"s%3AQG_EVeNRw8k1xxZ6v_SG401VTpmJDSRu.fTAGx3JnZUT7S0c2 %2F rD9cxUhQemIsm78nifYZYHpPCU\" } ) . validate () . assert_equal ( \"status_code\" , 200 ) . assert_equal ( 'headers.\"Content-Type\"' , \"application/json; charset=utf-8\" ) . assert_equal ( \"body.url\" , \"https://postman-echo.com/get?foo1=bar1&foo2=bar2\" ) ), Step ( RunRequest ( \"/post\" ) . post ( \"https://postman-echo.com/post\" ) . with_headers ( ** { \"User-Agent\" : \"PostmanRuntime/7.24.1\" , \"Accept\" : \"*/*\" , \"Cache-Control\" : \"no-cache\" , \"Postman-Token\" : \"3e408e9d-25ca-4b31-b04b-7f4898a8cd49\" , \"Host\" : \"postman-echo.com\" , \"Accept-Encoding\" : \"gzip, deflate, br\" , \"Connection\" : \"keep-alive\" , \"Content-Type\" : \"application/x-www-form-urlencoded\" , \"Content-Length\" : \"19\" , \"Cookie\" : \"sails.sid=s%3AQG_EVeNRw8k1xxZ6v_SG401VTpmJDSRu.fTAGx3JnZUT7S0c2 %2F rD9cxUhQemIsm78nifYZYHpPCU\" , } ) . with_cookies ( ** { \"sails.sid\" : \"s%3AQG_EVeNRw8k1xxZ6v_SG401VTpmJDSRu.fTAGx3JnZUT7S0c2 %2F rD9cxUhQemIsm78nifYZYHpPCU\" } ) . with_data ({ \"foo1\" : \"bar1\" , \"foo2\" : \"bar2\" }) . validate () . assert_equal ( \"status_code\" , 200 ) . assert_equal ( 'headers.\"Content-Type\"' , \"application/json; charset=utf-8\" ) . assert_equal ( \"body.data\" , \"\" ) . assert_equal ( \"body.url\" , \"https://postman-echo.com/post\" ) ), ] if __name__ == \"__main__\" : TestCasePostmanEchoPostForm () . test_start () And it can be run with hrun command or the native pytest command. In fact, hrun is only a wrapper of pytest , thus the effect is basically the same. $ hrun har/postman_echo_post_form_test.py 2020-06-15 15:23:03.502 | INFO | httprunner.loader:load_dot_env_file:130 - Loading environment variables from /Users/debugtalk/Desktop/demo/.env 2020-06-15 15:23:03.502 | DEBUG | httprunner.utils:set_os_environ:32 - Set OS environment variable: USERNAME 2020-06-15 15:23:03.502 | DEBUG | httprunner.utils:set_os_environ:32 - Set OS environment variable: PASSWORD 2020-06-15 15:23:03.503 | INFO | httprunner.make:format_pytest_with_black:147 - format pytest cases with black ... All done! \u2728 \ud83c\udf70 \u2728 1 file left unchanged. 2020-06-15 15:23:03.662 | INFO | httprunner.cli:main_run:56 - start to run tests with pytest. HttpRunner version: 3.0.12 ====================================================================== test session starts ====================================================================== platform darwin -- Python 3.7.5, pytest-5.4.2, py-1.8.1, pluggy-0.13.1 rootdir: /Users/debugtalk/Desktop/demo plugins: metadata-1.9.0, allure-pytest-2.8.16, html-2.1.1 collected 1 item har/postman_echo_post_form_test.py . [100%] ======================================================================= 1 passed in 2.60s ======================================================================= $ pytest har/postman_echo_post_form_test.py ====================================================================== test session starts ====================================================================== platform darwin -- Python 3.7.5, pytest-5.4.2, py-1.8.1, pluggy-0.13.1 rootdir: /Users/debugtalk/Desktop/demo plugins: metadata-1.9.0, allure-pytest-2.8.16, html-2.1.1 collected 1 item har/postman_echo_post_form_test.py . [100%] ================================================================= 1 passed, 1 warning in 4.11s ================================================================== generate testcase (YAML/JSON) \u00b6 Of course, you can also generate former YAML/JSON testcase format. Just add -2y/--to-yml or -2j/--to-json argument to har2case . $ har2case har/postman-echo-post-form.har -2j 2020-06-15 15:32:02.955 | INFO | httprunner.ext.har2case.core:gen_testcase:332 - Start to generate testcase from har/postman-echo-post-form.har 2020-06-15 15:32:02.955 | INFO | httprunner.ext.har2case.core:_make_testcase:323 - Extract info from HAR file and prepare for testcase. 2020-06-15 15:32:02.958 | INFO | httprunner.ext.har2case.utils:dump_json:122 - dump testcase to JSON format. 2020-06-15 15:32:02.959 | INFO | httprunner.ext.har2case.utils:dump_json:131 - Generate JSON testcase successfully: har/postman-echo-post-form.json 2020-06-15 15:32:02.959 | INFO | httprunner.ext.har2case.core:gen_testcase:353 - generated testcase: har/postman-echo-post-form.json { \"config\" : { \"name\" : \"testcase description\" , \"variables\" : {}, \"verify\" : false }, \"teststeps\" : [ { \"name\" : \"/get\" , \"request\" : { \"url\" : \"https://postman-echo.com/get\" , \"params\" : { \"foo1\" : \"bar1\" , \"foo2\" : \"bar2\" }, \"method\" : \"GET\" , \"cookies\" : { \"sails.sid\" : \"s%3AQG_EVeNRw8k1xxZ6v_SG401VTpmJDSRu.fTAGx3JnZUT7S0c2%2FrD9cxUhQemIsm78nifYZYHpPCU\" }, \"headers\" : { \"User-Agent\" : \"PostmanRuntime/7.24.1\" , \"Accept\" : \"*/*\" , \"Cache-Control\" : \"no-cache\" , \"Postman-Token\" : \"6606343b-10e5-4165-a89f-6c301b762ce0\" , \"Host\" : \"postman-echo.com\" , \"Accept-Encoding\" : \"gzip, deflate, br\" , \"Connection\" : \"keep-alive\" , \"Cookie\" : \"sails.sid=s%3AQG_EVeNRw8k1xxZ6v_SG401VTpmJDSRu.fTAGx3JnZUT7S0c2%2FrD9cxUhQemIsm78nifYZYHpPCU\" } }, \"validate\" : [ { \"eq\" : [ \"status_code\" , 200 ] }, { \"eq\" : [ \"headers.Content-Type\" , \"application/json; charset=utf-8\" ] }, { \"eq\" : [ \"body.url\" , \"https://postman-echo.com/get?foo1=bar1&foo2=bar2\" ] } ] }, { \"name\" : \"/post\" , \"request\" : { \"url\" : \"https://postman-echo.com/post\" , \"method\" : \"POST\" , \"cookies\" : { \"sails.sid\" : \"s%3AQG_EVeNRw8k1xxZ6v_SG401VTpmJDSRu.fTAGx3JnZUT7S0c2%2FrD9cxUhQemIsm78nifYZYHpPCU\" }, \"headers\" : { \"User-Agent\" : \"PostmanRuntime/7.24.1\" , \"Accept\" : \"*/*\" , \"Cache-Control\" : \"no-cache\" , \"Postman-Token\" : \"3e408e9d-25ca-4b31-b04b-7f4898a8cd49\" , \"Host\" : \"postman-echo.com\" , \"Accept-Encoding\" : \"gzip, deflate, br\" , \"Connection\" : \"keep-alive\" , \"Content-Type\" : \"application/x-www-form-urlencoded\" , \"Content-Length\" : \"19\" , \"Cookie\" : \"sails.sid=s%3AQG_EVeNRw8k1xxZ6v_SG401VTpmJDSRu.fTAGx3JnZUT7S0c2%2FrD9cxUhQemIsm78nifYZYHpPCU\" }, \"data\" : { \"foo1\" : \"bar1\" , \"foo2\" : \"bar2\" } }, \"validate\" : [ { \"eq\" : [ \"status_code\" , 200 ] }, { \"eq\" : [ \"headers.Content-Type\" , \"application/json; charset=utf-8\" ] }, { \"eq\" : [ \"body.data\" , \"\" ] }, { \"eq\" : [ \"body.url\" , \"https://postman-echo.com/post\" ] } ] } ] } The YAML/JSON testcase has the same info with pytest testcase, and you can run YAML/JSON testcase with hrun command. $ hrun har/postman-echo-post-form.json 2020-06-15 15:37:15.621 | INFO | httprunner.loader:load_dot_env_file:130 - Loading environment variables from /Users/debugtalk/Desktop/demo/.env 2020-06-15 15:37:15.622 | DEBUG | httprunner.utils:set_os_environ:32 - Set OS environment variable: USERNAME 2020-06-15 15:37:15.622 | DEBUG | httprunner.utils:set_os_environ:32 - Set OS environment variable: PASSWORD 2020-06-15 15:37:15.623 | INFO | httprunner.make:make_testcase:310 - start to make testcase: /Users/debugtalk/Desktop/demo/har/postman-echo-post-form.json 2020-06-15 15:37:15.625 | INFO | httprunner.make:make_testcase:383 - generated testcase: /Users/debugtalk/Desktop/demo/har/postman_echo_post_form_test.py 2020-06-15 15:37:15.625 | INFO | httprunner.make:format_pytest_with_black:147 - format pytest cases with black ... reformatted /Users/debugtalk/Desktop/demo/har/postman_echo_post_form_test.py All done! \u2728 \ud83c\udf70 \u2728 1 file reformatted, 1 file left unchanged. 2020-06-15 15:37:15.962 | INFO | httprunner.cli:main_run:56 - start to run tests with pytest. HttpRunner version: 3.0.12 ====================================================================== test session starts ====================================================================== platform darwin -- Python 3.7.5, pytest-5.4.2, py-1.8.1, pluggy-0.13.1 rootdir: /Users/debugtalk/Desktop/demo plugins: metadata-1.9.0, allure-pytest-2.8.16, html-2.1.1 collected 1 item har/postman_echo_post_form_test.py . [100%] ======================================================================= 1 passed in 2.03s =======================================================================","title":"Record & Generate testcase"},{"location":"user/gen_tests/#record-generate-testcase","text":"","title":"Record & Generate testcase"},{"location":"user/gen_tests/#capture-http-request-and-response","text":"Before we write testcases, we should know the details of the API. It is a good choice to use a web debugging proxy tool like Charles Proxy to capture the HTTP traffic. For example, the image below illustrates post form data to postman-echo.com .","title":"capture HTTP request and response"},{"location":"user/gen_tests/#export-sessions-to-har-file","text":"Then we can select captured request & response and export sessions to HTTP archive (.har) file.","title":"export sessions to HAR file"},{"location":"user/gen_tests/#generate-testcase-with-har2case","text":"When you get HAR file, you can use builtin command har2case to convert it to HttpRunner testcase.","title":"generate testcase with har2case"},{"location":"user/gen_tests/#help","text":"$ har2case -h usage: har2case har2case [-h] [-2y] [-2j] [--filter FILTER] [--exclude EXCLUDE] [har_source_file] positional arguments: har_source_file Specify HAR source file optional arguments: -h, --help show this help message and exit -2y, --to-yml, --to-yaml Convert to YAML format, if not specified, convert to pytest format by default. -2j, --to-json Convert to JSON format, if not specified, convert to pytest format by default. --filter FILTER Specify filter keyword, only url include filter string will be converted. --exclude EXCLUDE Specify exclude keyword, url that includes exclude string will be ignored, multiple keywords can be joined with '|'","title":"help"},{"location":"user/gen_tests/#generate-testcase-pytest","text":"Since HttpRunner 3.0.7 , har2case will convert HAR file to pytest by default, and it is extremely recommended to write and maintain testcases in pytest format instead of former YAML/JSON format. $ har2case har/postman-echo-post-form.har 2020-06-15 15:08:01.187 | INFO | httprunner.ext.har2case.core:gen_testcase:332 - Start to generate testcase from har/postman-echo-post-form.har 2020-06-15 15:08:01.187 | INFO | httprunner.ext.har2case.core:_make_testcase:323 - Extract info from HAR file and prepare for testcase. 2020-06-15 15:08:01.191 | INFO | httprunner.loader:load_dot_env_file:130 - Loading environment variables from /Users/debugtalk/Desktop/demo/.env 2020-06-15 15:08:01.191 | DEBUG | httprunner.utils:set_os_environ:32 - Set OS environment variable: USERNAME 2020-06-15 15:08:01.191 | DEBUG | httprunner.utils:set_os_environ:32 - Set OS environment variable: PASSWORD 2020-06-15 15:08:01.193 | INFO | httprunner.make:make_testcase:310 - start to make testcase: /Users/debugtalk/Desktop/demo/har/postman-echo-post-form.har 2020-06-15 15:08:01.193 | INFO | httprunner.make:make_testcase:383 - generated testcase: /Users/debugtalk/Desktop/demo/har/postman_echo_post_form_test.py 2020-06-15 15:08:01.194 | INFO | httprunner.make:format_pytest_with_black:147 - format pytest cases with black ... reformatted /Users/debugtalk/Desktop/demo/har/postman_echo_post_form_test.py All done! \u2728 \ud83c\udf70 \u2728 1 file reformatted. 2020-06-15 15:08:01.469 | INFO | httprunner.ext.har2case.core:gen_testcase:353 - generated testcase: /Users/debugtalk/Desktop/demo/har/postman_echo_post_form_test.py The generated pytest file is a standard Python file shown as below. # NOTE: Generated By HttpRunner v3.0.12 # FROM: har/postman-echo-post-form.har from httprunner import HttpRunner , Config , Step , RunRequest , RunTestCase class TestCasePostmanEchoPostForm ( HttpRunner ): config = Config ( \"testcase description\" ) . verify ( False ) teststeps = [ Step ( RunRequest ( \"/get\" ) . get ( \"https://postman-echo.com/get\" ) . with_params ( ** { \"foo1\" : \"bar1\" , \"foo2\" : \"bar2\" }) . with_headers ( ** { \"User-Agent\" : \"PostmanRuntime/7.24.1\" , \"Accept\" : \"*/*\" , \"Cache-Control\" : \"no-cache\" , \"Postman-Token\" : \"6606343b-10e5-4165-a89f-6c301b762ce0\" , \"Host\" : \"postman-echo.com\" , \"Accept-Encoding\" : \"gzip, deflate, br\" , \"Connection\" : \"keep-alive\" , \"Cookie\" : \"sails.sid=s%3AQG_EVeNRw8k1xxZ6v_SG401VTpmJDSRu.fTAGx3JnZUT7S0c2 %2F rD9cxUhQemIsm78nifYZYHpPCU\" , } ) . with_cookies ( ** { \"sails.sid\" : \"s%3AQG_EVeNRw8k1xxZ6v_SG401VTpmJDSRu.fTAGx3JnZUT7S0c2 %2F rD9cxUhQemIsm78nifYZYHpPCU\" } ) . validate () . assert_equal ( \"status_code\" , 200 ) . assert_equal ( 'headers.\"Content-Type\"' , \"application/json; charset=utf-8\" ) . assert_equal ( \"body.url\" , \"https://postman-echo.com/get?foo1=bar1&foo2=bar2\" ) ), Step ( RunRequest ( \"/post\" ) . post ( \"https://postman-echo.com/post\" ) . with_headers ( ** { \"User-Agent\" : \"PostmanRuntime/7.24.1\" , \"Accept\" : \"*/*\" , \"Cache-Control\" : \"no-cache\" , \"Postman-Token\" : \"3e408e9d-25ca-4b31-b04b-7f4898a8cd49\" , \"Host\" : \"postman-echo.com\" , \"Accept-Encoding\" : \"gzip, deflate, br\" , \"Connection\" : \"keep-alive\" , \"Content-Type\" : \"application/x-www-form-urlencoded\" , \"Content-Length\" : \"19\" , \"Cookie\" : \"sails.sid=s%3AQG_EVeNRw8k1xxZ6v_SG401VTpmJDSRu.fTAGx3JnZUT7S0c2 %2F rD9cxUhQemIsm78nifYZYHpPCU\" , } ) . with_cookies ( ** { \"sails.sid\" : \"s%3AQG_EVeNRw8k1xxZ6v_SG401VTpmJDSRu.fTAGx3JnZUT7S0c2 %2F rD9cxUhQemIsm78nifYZYHpPCU\" } ) . with_data ({ \"foo1\" : \"bar1\" , \"foo2\" : \"bar2\" }) . validate () . assert_equal ( \"status_code\" , 200 ) . assert_equal ( 'headers.\"Content-Type\"' , \"application/json; charset=utf-8\" ) . assert_equal ( \"body.data\" , \"\" ) . assert_equal ( \"body.url\" , \"https://postman-echo.com/post\" ) ), ] if __name__ == \"__main__\" : TestCasePostmanEchoPostForm () . test_start () And it can be run with hrun command or the native pytest command. In fact, hrun is only a wrapper of pytest , thus the effect is basically the same. $ hrun har/postman_echo_post_form_test.py 2020-06-15 15:23:03.502 | INFO | httprunner.loader:load_dot_env_file:130 - Loading environment variables from /Users/debugtalk/Desktop/demo/.env 2020-06-15 15:23:03.502 | DEBUG | httprunner.utils:set_os_environ:32 - Set OS environment variable: USERNAME 2020-06-15 15:23:03.502 | DEBUG | httprunner.utils:set_os_environ:32 - Set OS environment variable: PASSWORD 2020-06-15 15:23:03.503 | INFO | httprunner.make:format_pytest_with_black:147 - format pytest cases with black ... All done! \u2728 \ud83c\udf70 \u2728 1 file left unchanged. 2020-06-15 15:23:03.662 | INFO | httprunner.cli:main_run:56 - start to run tests with pytest. HttpRunner version: 3.0.12 ====================================================================== test session starts ====================================================================== platform darwin -- Python 3.7.5, pytest-5.4.2, py-1.8.1, pluggy-0.13.1 rootdir: /Users/debugtalk/Desktop/demo plugins: metadata-1.9.0, allure-pytest-2.8.16, html-2.1.1 collected 1 item har/postman_echo_post_form_test.py . [100%] ======================================================================= 1 passed in 2.60s ======================================================================= $ pytest har/postman_echo_post_form_test.py ====================================================================== test session starts ====================================================================== platform darwin -- Python 3.7.5, pytest-5.4.2, py-1.8.1, pluggy-0.13.1 rootdir: /Users/debugtalk/Desktop/demo plugins: metadata-1.9.0, allure-pytest-2.8.16, html-2.1.1 collected 1 item har/postman_echo_post_form_test.py . [100%] ================================================================= 1 passed, 1 warning in 4.11s ==================================================================","title":"generate testcase (pytest)"},{"location":"user/gen_tests/#generate-testcase-yamljson","text":"Of course, you can also generate former YAML/JSON testcase format. Just add -2y/--to-yml or -2j/--to-json argument to har2case . $ har2case har/postman-echo-post-form.har -2j 2020-06-15 15:32:02.955 | INFO | httprunner.ext.har2case.core:gen_testcase:332 - Start to generate testcase from har/postman-echo-post-form.har 2020-06-15 15:32:02.955 | INFO | httprunner.ext.har2case.core:_make_testcase:323 - Extract info from HAR file and prepare for testcase. 2020-06-15 15:32:02.958 | INFO | httprunner.ext.har2case.utils:dump_json:122 - dump testcase to JSON format. 2020-06-15 15:32:02.959 | INFO | httprunner.ext.har2case.utils:dump_json:131 - Generate JSON testcase successfully: har/postman-echo-post-form.json 2020-06-15 15:32:02.959 | INFO | httprunner.ext.har2case.core:gen_testcase:353 - generated testcase: har/postman-echo-post-form.json { \"config\" : { \"name\" : \"testcase description\" , \"variables\" : {}, \"verify\" : false }, \"teststeps\" : [ { \"name\" : \"/get\" , \"request\" : { \"url\" : \"https://postman-echo.com/get\" , \"params\" : { \"foo1\" : \"bar1\" , \"foo2\" : \"bar2\" }, \"method\" : \"GET\" , \"cookies\" : { \"sails.sid\" : \"s%3AQG_EVeNRw8k1xxZ6v_SG401VTpmJDSRu.fTAGx3JnZUT7S0c2%2FrD9cxUhQemIsm78nifYZYHpPCU\" }, \"headers\" : { \"User-Agent\" : \"PostmanRuntime/7.24.1\" , \"Accept\" : \"*/*\" , \"Cache-Control\" : \"no-cache\" , \"Postman-Token\" : \"6606343b-10e5-4165-a89f-6c301b762ce0\" , \"Host\" : \"postman-echo.com\" , \"Accept-Encoding\" : \"gzip, deflate, br\" , \"Connection\" : \"keep-alive\" , \"Cookie\" : \"sails.sid=s%3AQG_EVeNRw8k1xxZ6v_SG401VTpmJDSRu.fTAGx3JnZUT7S0c2%2FrD9cxUhQemIsm78nifYZYHpPCU\" } }, \"validate\" : [ { \"eq\" : [ \"status_code\" , 200 ] }, { \"eq\" : [ \"headers.Content-Type\" , \"application/json; charset=utf-8\" ] }, { \"eq\" : [ \"body.url\" , \"https://postman-echo.com/get?foo1=bar1&foo2=bar2\" ] } ] }, { \"name\" : \"/post\" , \"request\" : { \"url\" : \"https://postman-echo.com/post\" , \"method\" : \"POST\" , \"cookies\" : { \"sails.sid\" : \"s%3AQG_EVeNRw8k1xxZ6v_SG401VTpmJDSRu.fTAGx3JnZUT7S0c2%2FrD9cxUhQemIsm78nifYZYHpPCU\" }, \"headers\" : { \"User-Agent\" : \"PostmanRuntime/7.24.1\" , \"Accept\" : \"*/*\" , \"Cache-Control\" : \"no-cache\" , \"Postman-Token\" : \"3e408e9d-25ca-4b31-b04b-7f4898a8cd49\" , \"Host\" : \"postman-echo.com\" , \"Accept-Encoding\" : \"gzip, deflate, br\" , \"Connection\" : \"keep-alive\" , \"Content-Type\" : \"application/x-www-form-urlencoded\" , \"Content-Length\" : \"19\" , \"Cookie\" : \"sails.sid=s%3AQG_EVeNRw8k1xxZ6v_SG401VTpmJDSRu.fTAGx3JnZUT7S0c2%2FrD9cxUhQemIsm78nifYZYHpPCU\" }, \"data\" : { \"foo1\" : \"bar1\" , \"foo2\" : \"bar2\" } }, \"validate\" : [ { \"eq\" : [ \"status_code\" , 200 ] }, { \"eq\" : [ \"headers.Content-Type\" , \"application/json; charset=utf-8\" ] }, { \"eq\" : [ \"body.data\" , \"\" ] }, { \"eq\" : [ \"body.url\" , \"https://postman-echo.com/post\" ] } ] } ] } The YAML/JSON testcase has the same info with pytest testcase, and you can run YAML/JSON testcase with hrun command. $ hrun har/postman-echo-post-form.json 2020-06-15 15:37:15.621 | INFO | httprunner.loader:load_dot_env_file:130 - Loading environment variables from /Users/debugtalk/Desktop/demo/.env 2020-06-15 15:37:15.622 | DEBUG | httprunner.utils:set_os_environ:32 - Set OS environment variable: USERNAME 2020-06-15 15:37:15.622 | DEBUG | httprunner.utils:set_os_environ:32 - Set OS environment variable: PASSWORD 2020-06-15 15:37:15.623 | INFO | httprunner.make:make_testcase:310 - start to make testcase: /Users/debugtalk/Desktop/demo/har/postman-echo-post-form.json 2020-06-15 15:37:15.625 | INFO | httprunner.make:make_testcase:383 - generated testcase: /Users/debugtalk/Desktop/demo/har/postman_echo_post_form_test.py 2020-06-15 15:37:15.625 | INFO | httprunner.make:format_pytest_with_black:147 - format pytest cases with black ... reformatted /Users/debugtalk/Desktop/demo/har/postman_echo_post_form_test.py All done! \u2728 \ud83c\udf70 \u2728 1 file reformatted, 1 file left unchanged. 2020-06-15 15:37:15.962 | INFO | httprunner.cli:main_run:56 - start to run tests with pytest. HttpRunner version: 3.0.12 ====================================================================== test session starts ====================================================================== platform darwin -- Python 3.7.5, pytest-5.4.2, py-1.8.1, pluggy-0.13.1 rootdir: /Users/debugtalk/Desktop/demo plugins: metadata-1.9.0, allure-pytest-2.8.16, html-2.1.1 collected 1 item har/postman_echo_post_form_test.py . [100%] ======================================================================= 1 passed in 2.03s =======================================================================","title":"generate testcase (YAML/JSON)"},{"location":"user/scaffold/","text":"Scaffold \u00b6 If you want to create a new project, you can use the scaffold to startup quickly. help \u00b6 $ httprunner startproject -h usage: httprunner startproject [-h] [project_name] positional arguments: project_name Specify new project name. optional arguments: -h, --help show this help message and exit create new project \u00b6 The only argument you need to specify is the project name. $ httprunner startproject demo 2020-06-15 11:53:25.498 | INFO | httprunner.scaffold:create_scaffold:37 - Create new project: demo Project Root Dir: /Users/debugtalk/MyProjects/HttpRunner-dev/HttpRunner/demo created folder: demo created folder: demo/har created folder: demo/testcases created folder: demo/reports created file: demo/testcases/demo_testcase_request.yml created file: demo/testcases/demo_testcase_ref.yml created file: demo/debugtalk.py created file: demo/.env created file: demo/.gitignore $ tree demo -a demo \u251c\u2500\u2500 .env \u251c\u2500\u2500 .gitignore \u251c\u2500\u2500 debugtalk.py \u251c\u2500\u2500 har \u251c\u2500\u2500 reports \u2514\u2500\u2500 testcases \u251c\u2500\u2500 demo_testcase_ref.yml \u2514\u2500\u2500 demo_testcase_request.yml 3 directories, 5 files If you specify a project name that already exists, you will get a warning. $ httprunner startproject demo 2020-06-15 11:55:03.192 | WARNING | httprunner.scaffold:create_scaffold:32 - Project demo exists, please specify a new project name. $ tree demo -a demo \u251c\u2500\u2500 .env \u251c\u2500\u2500 .gitignore \u251c\u2500\u2500 debugtalk.py \u251c\u2500\u2500 har \u251c\u2500\u2500 reports \u2514\u2500\u2500 testcases \u251c\u2500\u2500 demo_testcase_ref.yml \u2514\u2500\u2500 demo_testcase_request.yml 3 directories, 5 files run scaffold project \u00b6 The scaffold project has several valid testcases, so you can run tests without any edit. $ hrun demo 2020-06-15 11:57:15.883 | INFO | httprunner.loader:load_dot_env_file:130 - Loading environment variables from /Users/debugtalk/MyProjects/HttpRunner-dev/HttpRunner/demo/.env 2020-06-15 11:57:15.883 | DEBUG | httprunner.utils:set_os_environ:32 - Set OS environment variable: USERNAME 2020-06-15 11:57:15.884 | DEBUG | httprunner.utils:set_os_environ:32 - Set OS environment variable: PASSWORD 2020-06-15 11:57:15.885 | INFO | httprunner.make:make_testcase:310 - start to make testcase: /Users/debugtalk/MyProjects/HttpRunner-dev/HttpRunner/demo/testcases/demo_testcase_ref.yml 2020-06-15 11:57:15.898 | INFO | httprunner.make:make_testcase:310 - start to make testcase: /Users/debugtalk/MyProjects/HttpRunner-dev/HttpRunner/demo/testcases/demo_testcase_request.yml 2020-06-15 11:57:15.899 | INFO | httprunner.make:make_testcase:383 - generated testcase: /Users/debugtalk/MyProjects/HttpRunner-dev/HttpRunner/demo/testcases/demo_testcase_request_test.py 2020-06-15 11:57:15.900 | INFO | httprunner.make:make_testcase:383 - generated testcase: /Users/debugtalk/MyProjects/HttpRunner-dev/HttpRunner/demo/testcases/demo_testcase_ref_test.py 2020-06-15 11:57:15.911 | INFO | httprunner.make:make_testcase:310 - start to make testcase: /Users/debugtalk/MyProjects/HttpRunner-dev/HttpRunner/demo/testcases/demo_testcase_request.yml 2020-06-15 11:57:15.912 | INFO | httprunner.make:__ensure_project_meta_files:128 - copy .env to /Users/debugtalk/MyProjects/HttpRunner-dev/HttpRunner/demo/_env 2020-06-15 11:57:15.912 | INFO | httprunner.make:format_pytest_with_black:147 - format pytest cases with black ... reformatted /Users/debugtalk/MyProjects/HttpRunner-dev/HttpRunner/demo/testcases/demo_testcase_ref_test.py reformatted /Users/debugtalk/MyProjects/HttpRunner-dev/HttpRunner/demo/testcases/demo_testcase_request_test.py All done! \u2728 \ud83c\udf70 \u2728 2 files reformatted, 1 file left unchanged. 2020-06-15 11:57:16.299 | INFO | httprunner.cli:main_run:56 - start to run tests with pytest. HttpRunner version: 3.0.12 ====================================================================== test session starts ====================================================================== platform darwin -- Python 3.7.5, pytest-5.4.2, py-1.8.1, pluggy-0.13.1 rootdir: /Users/debugtalk/MyProjects/HttpRunner-dev/HttpRunner plugins: metadata-1.9.0, allure-pytest-2.8.16, html-2.1.1 collected 2 items demo/testcases/demo_testcase_request_test.py . [ 50%] demo/testcases/demo_testcase_ref_test.py . [100%] ======================================================================= 2 passed in 6.87s =======================================================================","title":"Scaffold"},{"location":"user/scaffold/#scaffold","text":"If you want to create a new project, you can use the scaffold to startup quickly.","title":"Scaffold"},{"location":"user/scaffold/#help","text":"$ httprunner startproject -h usage: httprunner startproject [-h] [project_name] positional arguments: project_name Specify new project name. optional arguments: -h, --help show this help message and exit","title":"help"},{"location":"user/scaffold/#create-new-project","text":"The only argument you need to specify is the project name. $ httprunner startproject demo 2020-06-15 11:53:25.498 | INFO | httprunner.scaffold:create_scaffold:37 - Create new project: demo Project Root Dir: /Users/debugtalk/MyProjects/HttpRunner-dev/HttpRunner/demo created folder: demo created folder: demo/har created folder: demo/testcases created folder: demo/reports created file: demo/testcases/demo_testcase_request.yml created file: demo/testcases/demo_testcase_ref.yml created file: demo/debugtalk.py created file: demo/.env created file: demo/.gitignore $ tree demo -a demo \u251c\u2500\u2500 .env \u251c\u2500\u2500 .gitignore \u251c\u2500\u2500 debugtalk.py \u251c\u2500\u2500 har \u251c\u2500\u2500 reports \u2514\u2500\u2500 testcases \u251c\u2500\u2500 demo_testcase_ref.yml \u2514\u2500\u2500 demo_testcase_request.yml 3 directories, 5 files If you specify a project name that already exists, you will get a warning. $ httprunner startproject demo 2020-06-15 11:55:03.192 | WARNING | httprunner.scaffold:create_scaffold:32 - Project demo exists, please specify a new project name. $ tree demo -a demo \u251c\u2500\u2500 .env \u251c\u2500\u2500 .gitignore \u251c\u2500\u2500 debugtalk.py \u251c\u2500\u2500 har \u251c\u2500\u2500 reports \u2514\u2500\u2500 testcases \u251c\u2500\u2500 demo_testcase_ref.yml \u2514\u2500\u2500 demo_testcase_request.yml 3 directories, 5 files","title":"create new project"},{"location":"user/scaffold/#run-scaffold-project","text":"The scaffold project has several valid testcases, so you can run tests without any edit. $ hrun demo 2020-06-15 11:57:15.883 | INFO | httprunner.loader:load_dot_env_file:130 - Loading environment variables from /Users/debugtalk/MyProjects/HttpRunner-dev/HttpRunner/demo/.env 2020-06-15 11:57:15.883 | DEBUG | httprunner.utils:set_os_environ:32 - Set OS environment variable: USERNAME 2020-06-15 11:57:15.884 | DEBUG | httprunner.utils:set_os_environ:32 - Set OS environment variable: PASSWORD 2020-06-15 11:57:15.885 | INFO | httprunner.make:make_testcase:310 - start to make testcase: /Users/debugtalk/MyProjects/HttpRunner-dev/HttpRunner/demo/testcases/demo_testcase_ref.yml 2020-06-15 11:57:15.898 | INFO | httprunner.make:make_testcase:310 - start to make testcase: /Users/debugtalk/MyProjects/HttpRunner-dev/HttpRunner/demo/testcases/demo_testcase_request.yml 2020-06-15 11:57:15.899 | INFO | httprunner.make:make_testcase:383 - generated testcase: /Users/debugtalk/MyProjects/HttpRunner-dev/HttpRunner/demo/testcases/demo_testcase_request_test.py 2020-06-15 11:57:15.900 | INFO | httprunner.make:make_testcase:383 - generated testcase: /Users/debugtalk/MyProjects/HttpRunner-dev/HttpRunner/demo/testcases/demo_testcase_ref_test.py 2020-06-15 11:57:15.911 | INFO | httprunner.make:make_testcase:310 - start to make testcase: /Users/debugtalk/MyProjects/HttpRunner-dev/HttpRunner/demo/testcases/demo_testcase_request.yml 2020-06-15 11:57:15.912 | INFO | httprunner.make:__ensure_project_meta_files:128 - copy .env to /Users/debugtalk/MyProjects/HttpRunner-dev/HttpRunner/demo/_env 2020-06-15 11:57:15.912 | INFO | httprunner.make:format_pytest_with_black:147 - format pytest cases with black ... reformatted /Users/debugtalk/MyProjects/HttpRunner-dev/HttpRunner/demo/testcases/demo_testcase_ref_test.py reformatted /Users/debugtalk/MyProjects/HttpRunner-dev/HttpRunner/demo/testcases/demo_testcase_request_test.py All done! \u2728 \ud83c\udf70 \u2728 2 files reformatted, 1 file left unchanged. 2020-06-15 11:57:16.299 | INFO | httprunner.cli:main_run:56 - start to run tests with pytest. HttpRunner version: 3.0.12 ====================================================================== test session starts ====================================================================== platform darwin -- Python 3.7.5, pytest-5.4.2, py-1.8.1, pluggy-0.13.1 rootdir: /Users/debugtalk/MyProjects/HttpRunner-dev/HttpRunner plugins: metadata-1.9.0, allure-pytest-2.8.16, html-2.1.1 collected 2 items demo/testcases/demo_testcase_request_test.py . [ 50%] demo/testcases/demo_testcase_ref_test.py . [100%] ======================================================================= 2 passed in 6.87s =======================================================================","title":"run scaffold project"},{"location":"user/write_testcase/","text":"Write Testcase \u00b6 HttpRunner v3.x supports three testcase formats, pytest , YAML and JSON . It is extremely recommended to write and maintain testcases in pytest format instead of former YAML/JSON format. The format relations are illustrated as below: record & generate testcase \u00b6 If the SUT (system under test) is ready, the most efficient way is to capture HTTP traffic first and then generate testcases with HAR file. Refer to Record & Generate testcase for more details. Based on the generated pytest testcase, you can then do some adjustment as needed, thus you need to know the details of testcase format. testcase structure \u00b6 Each testcase is a subclass of HttpRunner , and must have two class attributes: config and teststeps . config: configure testcase level settings, including base_url , verify , variables , export . teststeps: list of teststep ( List[Step] ), each step is corresponding to a API request or another testcase reference call. Besides, variables / extract / validate / hooks mechanisms are supported to create extremely complex test scenarios. from httprunner import HttpRunner , Config , Step , RunRequest , RunTestCase class TestCaseRequestWithFunctions ( HttpRunner ): config = ( Config ( \"request methods testcase with functions\" ) . variables ( ** { \"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 = [ 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 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 ) . 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 () chain call \u00b6 One of the most awesome features of HttpRunner v3.x is chain call , with which you do not need to remember any testcase format details and you can get intelligent completion when you write testcases in IDE. config \u00b6 Each testcase should have one config part, in which you can configure testcase level settings. name (required) \u00b6 Specify testcase name. This will be displayed in execution log and test report. base_url (optional) \u00b6 Specify common schema and host part of the SUT, e.g. https://postman-echo.com . If base_url is specified, url in teststep can only set relative path part. This is especially useful if you want to switch between different SUT environments. variables (optional) \u00b6 Specify common variables of testcase. Each teststep can reference config variable which is not set in step variables. In other words, step variables have higher priority than config variables. verify (optional) \u00b6 Specify whether to verify the server\u2019s TLS certificate. This is especially useful if we want to record HTTP traffic of testcase execution, because SSLError will be occurred if verify is not set or been set to True. SSLError(SSLCertVerificationError(1, '[SSL: CERTIFICATE_VERIFY_FAILED] certificate verify failed: self signed certificate in certificate chain (_ssl.c:1076)')) export (optional) \u00b6 Specify the exported session variables of testcase. Consider each testcase as a black box, config variables is the input part, and config export is the output part. In particular, when a testcase is referenced in another testcase's step, and will be extracted some session variables to be used in subsequent teststeps, then the extracted session variables should be configured in config export part. teststeps \u00b6 Each testcase should have one or multiple ordered test steps ( List[Step] ), each step is corresponding to a API request or another testcase reference call. Notice: The concept of API in HttpRunner v2.x has been deprecated for simplification. You can consider API as a testcase that has only one request step. RunRequest(name) \u00b6 RunRequest is used in a step to make request to API and do some extraction or validations for response. The argument name of RunRequest is used to specify teststep name, which will be displayed in execution log and test report. .with_variables \u00b6 Specify teststep variables. The variables of each step are independent, thus if you want to share variables in multiple steps, you should define variables in config variables. Besides, the step variables will override the ones that have the same name in config variables. .method(url) \u00b6 Specify HTTP method and the url of SUT. These are corresponding to method and url arguments of requests.request . If base_url is set in config, url can only set relative path part. .with_params \u00b6 Specify query string for the request url. This is corresponding to the params argument of requests.request . .with_headers \u00b6 Specify HTTP headers for the request. This is corresponding to the headers argument of requests.request . .with_cookies \u00b6 Specify HTTP request cookies. This is corresponding to the cookies argument of requests.request . .with_data \u00b6 Specify HTTP request body. This is corresponding to the data argument of requests.request . .with_json \u00b6 Specify HTTP request body in json. This is corresponding to the json argument of requests.request . extract \u00b6 .with_jmespath \u00b6 Extract JSON response body with jmespath . with_jmespath(jmes_path: Text, var_name: Text) jmes_path: jmespath expression, refer to JMESPath Tutorial for more details var_name: the variable name that stores extracted value, it can be referenced by subsequent test steps validate \u00b6 .assert_XXX \u00b6 Extract JSON response body with jmespath and validate with expected value. assert_XXX(jmes_path: Text, expected_value: Any) jmes_path: jmespath expression, refer to JMESPath Tutorial for more details expected_value: the specified expected value, variable or function reference can also be used here The image below shows HttpRunner builtin validators. RunTestCase(name) \u00b6 RunTestCase is used in a step to reference another testcase call. The argument name of RunTestCase is used to specify teststep name, which will be displayed in execution log and test report. .with_variables \u00b6 Same with RunRequest's .with_variables .","title":"Write Testcase"},{"location":"user/write_testcase/#write-testcase","text":"HttpRunner v3.x supports three testcase formats, pytest , YAML and JSON . It is extremely recommended to write and maintain testcases in pytest format instead of former YAML/JSON format. The format relations are illustrated as below:","title":"Write Testcase"},{"location":"user/write_testcase/#record-generate-testcase","text":"If the SUT (system under test) is ready, the most efficient way is to capture HTTP traffic first and then generate testcases with HAR file. Refer to Record & Generate testcase for more details. Based on the generated pytest testcase, you can then do some adjustment as needed, thus you need to know the details of testcase format.","title":"record & generate testcase"},{"location":"user/write_testcase/#testcase-structure","text":"Each testcase is a subclass of HttpRunner , and must have two class attributes: config and teststeps . config: configure testcase level settings, including base_url , verify , variables , export . teststeps: list of teststep ( List[Step] ), each step is corresponding to a API request or another testcase reference call. Besides, variables / extract / validate / hooks mechanisms are supported to create extremely complex test scenarios. from httprunner import HttpRunner , Config , Step , RunRequest , RunTestCase class TestCaseRequestWithFunctions ( HttpRunner ): config = ( Config ( \"request methods testcase with functions\" ) . variables ( ** { \"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 = [ 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 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 ) . 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 ()","title":"testcase structure"},{"location":"user/write_testcase/#chain-call","text":"One of the most awesome features of HttpRunner v3.x is chain call , with which you do not need to remember any testcase format details and you can get intelligent completion when you write testcases in IDE.","title":"chain call"},{"location":"user/write_testcase/#config","text":"Each testcase should have one config part, in which you can configure testcase level settings.","title":"config"},{"location":"user/write_testcase/#name-required","text":"Specify testcase name. This will be displayed in execution log and test report.","title":"name (required)"},{"location":"user/write_testcase/#base_url-optional","text":"Specify common schema and host part of the SUT, e.g. https://postman-echo.com . If base_url is specified, url in teststep can only set relative path part. This is especially useful if you want to switch between different SUT environments.","title":"base_url (optional)"},{"location":"user/write_testcase/#variables-optional","text":"Specify common variables of testcase. Each teststep can reference config variable which is not set in step variables. In other words, step variables have higher priority than config variables.","title":"variables (optional)"},{"location":"user/write_testcase/#verify-optional","text":"Specify whether to verify the server\u2019s TLS certificate. This is especially useful if we want to record HTTP traffic of testcase execution, because SSLError will be occurred if verify is not set or been set to True. SSLError(SSLCertVerificationError(1, '[SSL: CERTIFICATE_VERIFY_FAILED] certificate verify failed: self signed certificate in certificate chain (_ssl.c:1076)'))","title":"verify (optional)"},{"location":"user/write_testcase/#export-optional","text":"Specify the exported session variables of testcase. Consider each testcase as a black box, config variables is the input part, and config export is the output part. In particular, when a testcase is referenced in another testcase's step, and will be extracted some session variables to be used in subsequent teststeps, then the extracted session variables should be configured in config export part.","title":"export (optional)"},{"location":"user/write_testcase/#teststeps","text":"Each testcase should have one or multiple ordered test steps ( List[Step] ), each step is corresponding to a API request or another testcase reference call. Notice: The concept of API in HttpRunner v2.x has been deprecated for simplification. You can consider API as a testcase that has only one request step.","title":"teststeps"},{"location":"user/write_testcase/#runrequestname","text":"RunRequest is used in a step to make request to API and do some extraction or validations for response. The argument name of RunRequest is used to specify teststep name, which will be displayed in execution log and test report.","title":"RunRequest(name)"},{"location":"user/write_testcase/#with_variables","text":"Specify teststep variables. The variables of each step are independent, thus if you want to share variables in multiple steps, you should define variables in config variables. Besides, the step variables will override the ones that have the same name in config variables.","title":".with_variables"},{"location":"user/write_testcase/#methodurl","text":"Specify HTTP method and the url of SUT. These are corresponding to method and url arguments of requests.request . If base_url is set in config, url can only set relative path part.","title":".method(url)"},{"location":"user/write_testcase/#with_params","text":"Specify query string for the request url. This is corresponding to the params argument of requests.request .","title":".with_params"},{"location":"user/write_testcase/#with_headers","text":"Specify HTTP headers for the request. This is corresponding to the headers argument of requests.request .","title":".with_headers"},{"location":"user/write_testcase/#with_cookies","text":"Specify HTTP request cookies. This is corresponding to the cookies argument of requests.request .","title":".with_cookies"},{"location":"user/write_testcase/#with_data","text":"Specify HTTP request body. This is corresponding to the data argument of requests.request .","title":".with_data"},{"location":"user/write_testcase/#with_json","text":"Specify HTTP request body in json. This is corresponding to the json argument of requests.request .","title":".with_json"},{"location":"user/write_testcase/#extract","text":"","title":"extract"},{"location":"user/write_testcase/#with_jmespath","text":"Extract JSON response body with jmespath . with_jmespath(jmes_path: Text, var_name: Text) jmes_path: jmespath expression, refer to JMESPath Tutorial for more details var_name: the variable name that stores extracted value, it can be referenced by subsequent test steps","title":".with_jmespath"},{"location":"user/write_testcase/#validate","text":"","title":"validate"},{"location":"user/write_testcase/#assert_xxx","text":"Extract JSON response body with jmespath and validate with expected value. assert_XXX(jmes_path: Text, expected_value: Any) jmes_path: jmespath expression, refer to JMESPath Tutorial for more details expected_value: the specified expected value, variable or function reference can also be used here The image below shows HttpRunner builtin validators.","title":".assert_XXX"},{"location":"user/write_testcase/#runtestcasename","text":"RunTestCase is used in a step to reference another testcase call. The argument name of RunTestCase is used to specify teststep name, which will be displayed in execution log and test report.","title":"RunTestCase(name)"},{"location":"user/write_testcase/#with_variables_1","text":"Same with RunRequest's .with_variables .","title":".with_variables"}]} \ No newline at end of file diff --git a/sitemap.xml b/sitemap.xml index 08488436..ea02234a 100644 --- a/sitemap.xml +++ b/sitemap.xml @@ -1,31 +1,31 @@ None - 2020-06-15 + 2020-06-16 daily None - 2020-06-15 + 2020-06-16 daily None - 2020-06-15 + 2020-06-16 daily None - 2020-06-15 + 2020-06-16 daily None - 2020-06-15 + 2020-06-16 daily None - 2020-06-15 + 2020-06-16 daily None - 2020-06-15 + 2020-06-16 daily \ No newline at end of file diff --git a/sitemap.xml.gz b/sitemap.xml.gz index 71e8dbc0a2490c2037e4a37574d2bb26f9403905..069056b79fb7ce00580daa672cf1a268130ab405 100644 GIT binary patch delta 179 zcmV;k08IbK0mcCbABzYGKCWs!{2e+8((1q002ySPmTZp delta 180 zcmV;l089VI0mlIcABzYG$C~Gn2OWQ#Xw*=;IXdYB5Q;4cg$ii(?S-Z$K7xZR$9?x- zzUf%|91VIXAGEU#t_a0QS?M}$`vzam$8v{TUa-42K}D3pHZ*vMaXJ9Z^Gt${Y7|o- z&i4@HkeUE11WNXp=UrZ){Frf)pPW?;^6vvhh@0`xZCP#7cx7uu4#Fh%>gv^v icS4&NgD_V(t5{0982$!*fxtOo0{{Tdom0sG diff --git a/user/write_testcase/index.html b/user/write_testcase/index.html index 53130d38..19c35d45 100644 --- a/user/write_testcase/index.html +++ b/user/write_testcase/index.html @@ -462,6 +462,19 @@ validate +

+ @@ -714,6 +727,19 @@ validate + + @@ -764,6 +790,8 @@

Write Testcase

HttpRunner v3.x supports three testcase formats, pytest, YAML and JSON. It is extremely recommended to write and maintain testcases in pytest format instead of former YAML/JSON format.

+

The format relations are illustrated as below:

+

record & generate testcase

If the SUT (system under test) is ready, the most efficient way is to capture HTTP traffic first and then generate testcases with HAR file. Refer to Record & Generate testcase for more details.

Based on the generated pytest testcase, you can then do some adjustment as needed, thus you need to know the details of testcase format.

@@ -884,13 +912,26 @@

with_jmespath(jmes_path: Text, var_name: Text)

    -
  • jmes_path: jmespath expression
  • -
  • var_name: the variable name that stores extracted value
  • +
  • jmes_path: jmespath expression, refer to JMESPath Tutorial for more details
  • +
  • var_name: the variable name that stores extracted value, it can be referenced by subsequent test steps

validate

+
.assert_XXX
+

Extract JSON response body with jmespath and validate with expected value.

+
+

assert_XXX(jmes_path: Text, expected_value: Any)

+
+
    +
  • jmes_path: jmespath expression, refer to JMESPath Tutorial for more details
  • +
  • expected_value: the specified expected value, variable or function reference can also be used here
  • +
+

The image below shows HttpRunner builtin validators.

+

RunTestCase(name)

+

RunTestCase is used in a step to reference another testcase call.

+

The argument name of RunTestCase is used to specify teststep name, which will be displayed in execution log and test report.

.with_variables

-

Besides, variables/extract/validate/hooks mechanisms are supported to create extremely complex test scenarios.

+

Same with RunRequest's .with_variables.