Files
httprunner/docs/CHANGELOG.md
2020-03-07 10:43:53 +08:00

481 lines
11 KiB
Markdown

# Release History
## 3.0.0 (2020-03-07)
**Changed**
- replace logging with [loguru](https://github.com/Delgan/loguru)
## 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