From 2d76db05683c4988bf9b216330bad41f691b40ef Mon Sep 17 00:00:00 2001 From: debugtalk Date: Tue, 26 May 2020 21:23:16 +0800 Subject: [PATCH] docs: add changelog --- CHANGELOG.md | 568 ---------------------------------------------- docs/CHANGELOG.md | 95 ++++++++ docs/index.md | 2 + docs/sponsors.md | 4 +- mkdocs.yml | 2 + 5 files changed, 101 insertions(+), 570 deletions(-) delete mode 100644 CHANGELOG.md create mode 100644 docs/CHANGELOG.md diff --git a/CHANGELOG.md b/CHANGELOG.md deleted file mode 100644 index ab4e98c9..00000000 --- a/CHANGELOG.md +++ /dev/null @@ -1,568 +0,0 @@ -# Release History - -## 3.0.6 (2020-05-25) - -**Added** - -- feat: make referenced testcase as pytest class - -**Fixed** - -- fix: ensure converted python file in utf-8 encoding - -## 3.0.5 (2020-05-22) - -**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) - -**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) - -**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) - -**Added** - -- feat: add `make` sub-command to generate python testcases from YAML/JSON -- feat: format generated python testcases with [`black`](https://github.com/psf/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) - -**Changed** - -- remove sentry sdk - -## 3.0.0 (2020-03-10) - -**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](https://github.com/Delgan/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` - -## 2.5.7 (2020-02-21) - -**Changed** - -- feat: validate with python script, display print message - -**Fixed** - -- fix: validate script missing indents in html report -- fix: validate with python script, display lineno error - -## 2.5.6 (2020-02-19) - -**Added** - -- feat: save variables and export data to JSON files (named xx.io.json) when specified `--save-tests` - -**Changed** - -- change: alter HttpRunner default log_level to WARNING - -**Fixed** - -- fix: abort test when failed to parse all cases -- fix: log error when parse failed - -## 2.5.5 (2020-01-06) - -**Fixed** - -- fix: HTTP method missed "CONNECT", "TRACE" - -**Changed** - -- change: remove method validation from runner.Runner - -## 2.5.4 (2020-01-03) - -**Added** - -- doc: add examples in json schema - -**Fixed** - -- fix #835: UnicodeDecodeError when loading json schema files -- fix: RecursionError caused by checking root dir incorrectly on Windows - -## 2.5.3 (2020-01-03) - -**Fixed** - -- fix json schema: variables maybe in string type, e.g. '${prepare_variables()}' -- fix json schema: post json maybe in string type, e.g. '${prepare_post_data()}', '$post_data' - -## 2.5.2 (2020-01-02) - -**Fixed** - -- fix #826: Windows does not support file name include ":" -- fix #819: maximum recursion error in locusts -- fix #818: request missed url in setup_hooks -- fix #808: project_working_directory is not initialized when running passed in data structure - -## 2.5.1 (2020-01-02) - -**Fixed** - -- fix: RefResolutionError on Windows platform - -## 2.5.0 (2020-01-01) - -**Added** - -- feat: add json schema validation for api -- feat: add json schema validation for testcase v1 & v2 -- feat: add json schema validation for testsuite v1 & v2 - -**Changed** - -- refactor: use loader.load_cases to validate test files -- refactor: use is_test_path to check if path is valid json/yaml file or a existed directory -- refactor: use is_test_content to check if data_structure is apis/testcases/testsuites - -## 2.4.9 (2019-12-29) - -**Added** - -- test: add unittest for cli - -**Changed** - -- change: html report name defaults to be in UTC ISO 8601 format - -**Fixed** - -- fix: display validators in report when validate raised exception -- fix: eval validator python script before validating -- fix: do not strip string content when preparing lazy data -- fix: catch ApiNotFound exception when loading testcases -- fix: print exception string with exception stage - -## 2.4.8 (2019-12-25) - -**Added** - -- feat: store parse failed api/testcase/testsuite file path in `logs/xxx.parse_failed.json` -- feat: add exception SummaryEmpty - -**Fixed** - -- fix: display request & response details in report when extraction failed -- fix: include CHANGELOG in package - -**Changed** - -- change: use sys.exit(code) in hrun main - -## 2.4.7 (2019-12-24) - -**Added** - -- feat: report user id to sentry - -**Fixed** - -- fix #797: locusts command error - -## 2.4.6 (2019-12-23) - -**Added** - -- feat: report tests start event and running exception to sentry - -**Fixed** - -- fix: ensure initializing sentry_sdk on startup - -**Fixed** - -## 2.4.5 (2019-12-20) - -**Added** - -- feat: integrate sentry sdk - -**Fixed** - -- fix: catch UnicodeDecodeError when json loads request body -- fix: display indented json for request json body - -**Changed** - -- change: detect request/response bytes encoding, instead of assuming utf-8 -- refactor: make report as submodule - -## 2.4.4 (2019-12-17) - -**Added** - -- feat: add keyword `body` to reference response body - -**Changed** - -- refactor: dumps request/response headers, display indented json in html report -- refactor: dumps request/response body if it is in json format, display indented json in html report -- change: unify response field(content/json/text) to `body` in html report - -## 2.4.3 (2019-12-16) - -**Added** - -- feat: load api content on demand - -**Changed** - -- refactor: use poetry>=1.0.0 -- test: migrate from travis CI to github actions -- test: migrate from coveralls to codecov -- test: run matrix tests on linux/macos/~~windows~~ and Python 2.7/3.5/3.6/3.7/3.8 - -## 2.4.2 (2019-12-13) - -**Changed** - -- refactor: replace with open file handler, avoid reading files into memory -- refactor: rename plugin to extension, httprunner/plugins -> httprunner/ext -- docs: update installation doc for developers - -## 2.4.1 (2019-12-12) - -**Added** - -- feat: add `upload` keyword for upload test, see [doc](https://docs.httprunner.org/prepare/upload-case/) -- test: pip install package -- test: hrun command - -**Fixed** - -- fix: typo testfile_paths -- fix: check if locustio installed -- fix: dump json file name is empty when running relative testfile - -## 2.4.0 (2019-12-11) - -**Added** - -- feat: validate with python script, ref #773 -- feat: rearrange html report, failed testcases will be displayed on top. - -**Changed** - -- refactor: make loader as submodule, split to check/locate/load/buildup -- refactor: make built_in as submodule, split to comparators and functions -- refactor: adjust code for context and validator -- docs: update cli argument help -- adjust format code, remove unused import - -**Fixed** - -- fix: keep setup/teardown hooks original order when merge & override. -- fix: length comparator exceptions when running in CSV data-driven mode. - -## 2.3.3 (2019-12-04) - -**Fixed** - -- fix #768: dump json file path error when folder name contains dot, such as `a.b.c` - -**Changed** - -- change: rename builtin function, sleep_N_secs => sleep - -## 2.3.2 (2019-11-01) - -**Added** - -- docs: add docs content to repo, visit at `https://docs.httprunner.org` -- docs: update developer interface docs - -**Changed** - -- rename `render_html_report` to `gen_html_report` -- make gen_html_report separate with HttpRunner().run_tests() -- `--report-file`: specify report file path, this has higher priority than specifying report dir. -- remove `summary` property from HttpRunner - -## 2.3.1 (2019-10-28) - -**Fixed** - -- fix locusts entry configuration - -**Changed** - -- update PyPi classifiers - -## 2.3.0 (2019-10-27) - -**Added** - -- feat: implement plugin system prototype, make locusts as plugin -- test: add Python 3.8 to Travis-CI -- feat: add `__main__.py`, `python -m httprunner` can be used to hrun tests - -**Changed** - -- update dependency versions in pyproject.toml -- rename folder, httprunner/templates => httprunner/static -- log httprunner version before running tests -- remove unused import & code - -**Fixed** - -- fix #707: duration stat error in multiple testsuites - -## 2.2.6 (2019-09-18) - -**Added** - -- feat: config variables support parsing from function -- feat: support [jsonpath](https://goessner.net/articles/JsonPath/) to parse json response [#679](https://github.com/httprunner/httprunner/pull/679) -- feat: generate html report with specified report file [#704](https://github.com/httprunner/httprunner/pull/704) - -**Changed** - -- remove unused import -- adjust code format - -**Fixed** - -- fix: dev-rules link 404 - -## 2.2.5 (2019-07-28) - -**Added** - -- log HttpRunner version when initializing - -**Fixed** - -- fix #658: sys.exit 1 if any testcase failed -- fix ModuleNotFoundError in debugging mode if httprunner uninstalled - -## 2.2.4 (2019-07-18) - -**Changed** - -- replace pipenv & setup.py with poetry -- drop support for Python 3.4 as it was EOL on 2019-03-16 -- relocate debugging scripts, move from main-debug.py to httprunner.cli - -**Fixed** - -- fix #574: delete unnecessary code -- fix #551: raise if times is not digit -- fix #572: tests_def_mapping["testcases"] typo error - -## 2.2.3 (2019-06-30) - -**Fixed** - -- fix yaml FullLoader AttributeError when PyYAML version < 5.1 - -## 2.2.2 (2019-06-26) - -**Changed** - -- `extract` is used to replace `output` when passing former teststep's (as a testcase) export value to next teststep -- `export` is used to replace `output` in testcase config - -## 2.2.1 (2019-06-25) - -**Added** - -- add demo api/testcase/testsuite to new created scaffold project -- update default `.gitignore` of new created scaffold project -- add demo content to `debugtalk.py`/`.env` of new created scaffold project - -**Fixed** - -- fix extend with testcase reference in format version 2 -- fix ImportError when locustio is not installed -- fix YAMLLoadWarning by specify yaml loader - -## 2.2.0 (2019-06-24) - -**Added** - -- support testcase/testsuite in format version 2 - -**Fixed** - -- add wheel in dev packages -- fix exception when teststep name reference former extracted variable - -## 2.1.3 (2019-04-24) - -**Fixed** - -- replace eval mechanism with builtins to prevent security vulnerabilities -- ImportError for builtins in Python2.7 - -## 2.1.2 (2019-04-17) - -**Added** - -- support new variable notation ${var} -- use \$\$ to escape \$ notation -- add Python 3.7 for travis CI - -**Fixed** - -- match duplicate variable/function in single raw string -- escape '{' and '}' notation in raw string -- print_info: TypeError when value is None -- display api name when running api as testcase - -## 2.1.1 (2019-04-11) - -**Changed** - -refactor upload files mechanism with [requests-toolbelt](https://toolbelt.readthedocs.io/en/latest/user.html#multipart-form-data-encoder): - -- simplify usage syntax, detect mimetype with [filetype](https://github.com/h2non/filetype.py). -- support upload multiple fields. - -## 2.1.0 (2019-04-10) - -**Added** - -- implement json dump Python objects when save tests -- implement lazy parser -- remove project_mapping from parse_tests result - -**Fixed** - -- reference output variables -- pass output variables between testcases - -## 2.0.6 (2019-03-18) - -**Added** - -- create .gitignore file when initializing new project - -**Fixed** - -- fix CSV relative path detection -- fix current validators displaying the former one when they are empty - -## 2.0.5 (2019-03-04) - -**Added** - -- implement method to get variables and output - -**Fixed** - -- fix xss in response json - -## 2.0.4 (2019-02-28) - -**Fixed** - -- fix verify priority with nested testcase -- fix function in config variables called multiple times -- dump loaded tests when running tests_mapping directly - -## 2.0.3 (2019-02-24) - -**Fixed** - -- fix verify priority: teststep > config -- fix Chinese charactor in log_file encoding error in Windows -- fix dump file with Chinese charactor in Python 3 - -## 2.0.2 (2019-01-21) - -**Fixed** - -- each teststeps in one testcase share the same session -- fix duplicate API definition output - -**Changed** - -- display result from hook functions in DEBUG level log -- change log level of "Variables & Output" to INFO -- print Invalid testcase path or testcases -- print testcase output in INFO level log - -## 2.0.1 (2019-01-18) - -**Fixed** - -- override current teststep variables with former testcase output variables -- Fixed compatibility when testcase name is empty -- skip undefined variable when parsing string content - -**Changed** - -- add back request method in report - -## 2.0.0 (2019-01-01) - -**Changed** - -- Massive Refactor and Simplification -- Redesign testcase structure -- Module pipline -- Start Semantic Versioning -- Switch to Apache 2.0 license -- Change logo diff --git a/docs/CHANGELOG.md b/docs/CHANGELOG.md new file mode 100644 index 00000000..36c7461a --- /dev/null +++ b/docs/CHANGELOG.md @@ -0,0 +1,95 @@ +# Release History + +## 3.0.6 (2020-05-25) + +**Added** + +- feat: make referenced testcase as pytest class + +**Fixed** + +- fix: ensure converted python file in utf-8 encoding + +## 3.0.5 (2020-05-22) + +**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) + +**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) + +**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) + +**Added** + +- feat: add `make` sub-command to generate python testcases from YAML/JSON +- feat: format generated python testcases with [`black`](https://github.com/psf/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) + +**Changed** + +- remove sentry sdk + +## 3.0.0 (2020-03-10) + +**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](https://github.com/Delgan/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` diff --git a/docs/index.md b/docs/index.md index 0a598a5f..fabb9740 100644 --- a/docs/index.md +++ b/docs/index.md @@ -13,6 +13,8 @@ *HttpRunner* is a simple & elegant, yet powerful HTTP(S) testing framework. Enjoy! ✨ 🚀 ✨ +> This docs site is corresponding to the latest version `3.x`, for `2.x` you can reference [`archive link`](https://v2.httprunner.org/). + ## Design Philosophy - Convention over configuration diff --git a/docs/sponsors.md b/docs/sponsors.md index fdc764ad..f912cefd 100644 --- a/docs/sponsors.md +++ b/docs/sponsors.md @@ -4,7 +4,7 @@ ## 金牌赞助商(Gold Sponsor) -[霍格沃兹测试学院](https://testing-studio.com) +[霍格沃兹测试学院](https://testing-studio.com) > [霍格沃兹测试学院](https://testing-studio.com) 是由测吧(北京)科技有限公司与知名软件测试社区 [TesterHome](https://testerhome.com/) 合作的高端教育品牌。由 BAT 一线**测试大咖执教**,提供**实战驱动**的接口自动化测试、移动自动化测试、性能测试、持续集成与 DevOps 等技术培训,以及测试开发优秀人才内推服务。[点击学习!](https://ke.qq.com/course/254956?flowToken=1014690) @@ -12,7 +12,7 @@ ### 开源服务赞助商(Open Source Sponsor) -[Sentry](https://sentry.io/_/open-source/) +[Sentry](https://sentry.io/_/open-source/) HttpRunner is in Sentry Sponsored plan. diff --git a/mkdocs.yml b/mkdocs.yml index a153d879..2899800e 100644 --- a/mkdocs.yml +++ b/mkdocs.yml @@ -53,3 +53,5 @@ extra: nav: - Introduction: index.md - Installation: installation.md + - Sponsors: sponsors.md + - CHANGELOG: CHANGELOG.md