mirror of
https://github.com/httprunner/httprunner.git
synced 2026-05-12 11:29:48 +08:00
@@ -13,6 +13,8 @@ install:
|
||||
- pip install poetry
|
||||
- poetry install -vvv
|
||||
script:
|
||||
- python -m httprunner.cli hrun -V
|
||||
- python -m httprunner.cli hrun -h
|
||||
- poetry build
|
||||
- poetry run coverage run --source=httprunner -m unittest discover
|
||||
after_success:
|
||||
|
||||
13
CHANGELOG.md
13
CHANGELOG.md
@@ -1,6 +1,17 @@
|
||||
# Release History
|
||||
|
||||
## 2.2.4 (2019-07-13)
|
||||
## 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**
|
||||
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
__version__ = "2.2.4"
|
||||
__version__ = "2.2.5"
|
||||
__description__ = "One-stop solution for HTTP(S) testing."
|
||||
|
||||
__all__ = ["__version__", "__description__"]
|
||||
|
||||
@@ -3,8 +3,8 @@
|
||||
import os
|
||||
import unittest
|
||||
|
||||
from httprunner import (exceptions, loader, logger, parser, report, runner,
|
||||
utils, validator)
|
||||
from httprunner import (__version__, exceptions, loader, logger, parser,
|
||||
report, runner, utils, validator)
|
||||
|
||||
|
||||
class HttpRunner(object):
|
||||
@@ -22,6 +22,9 @@ class HttpRunner(object):
|
||||
log_file (str): log file path.
|
||||
|
||||
"""
|
||||
logger.setup_logger(log_level, log_file)
|
||||
logger.log_info("HttpRunner version: {}".format(__version__))
|
||||
|
||||
self.exception_stage = "initialize HttpRunner()"
|
||||
kwargs = {
|
||||
"failfast": failfast,
|
||||
@@ -33,8 +36,6 @@ class HttpRunner(object):
|
||||
self.report_template = report_template
|
||||
self.report_dir = report_dir
|
||||
self._summary = None
|
||||
if log_file:
|
||||
logger.setup_logger(log_level, log_file)
|
||||
|
||||
def _add_tests(self, testcases):
|
||||
""" initialize testcase with Runner() and add to test suite.
|
||||
|
||||
@@ -3,8 +3,9 @@
|
||||
def main_hrun():
|
||||
""" API test: parse command line options and run commands.
|
||||
"""
|
||||
import sys
|
||||
import argparse
|
||||
from httprunner import logger
|
||||
from httprunner.logger import color_print
|
||||
from httprunner import __description__, __version__
|
||||
from httprunner.api import HttpRunner
|
||||
from httprunner.compat import is_py2
|
||||
@@ -51,13 +52,12 @@ def main_hrun():
|
||||
help="Prettify JSON testcase format.")
|
||||
|
||||
args = parser.parse_args()
|
||||
logger.setup_logger(args.log_level, args.log_file)
|
||||
|
||||
if is_py2:
|
||||
logger.log_warning(get_python2_retire_msg())
|
||||
color_print(get_python2_retire_msg(), "YELLOW")
|
||||
|
||||
if args.version:
|
||||
logger.color_print("{}".format(__version__), "GREEN")
|
||||
color_print("{}".format(__version__), "GREEN")
|
||||
exit(0)
|
||||
|
||||
if args.validate:
|
||||
@@ -76,16 +76,21 @@ def main_hrun():
|
||||
failfast=args.failfast,
|
||||
save_tests=args.save_tests,
|
||||
report_template=args.report_template,
|
||||
report_dir=args.report_dir
|
||||
report_dir=args.report_dir,
|
||||
log_level=args.log_level,
|
||||
log_file=args.log_file
|
||||
)
|
||||
try:
|
||||
for path in args.testcase_paths:
|
||||
runner.run(path, dot_env_path=args.dot_env_path)
|
||||
except Exception:
|
||||
logger.log_error("!!!!!!!!!! exception stage: {} !!!!!!!!!!".format(runner.exception_stage))
|
||||
color_print("!!!!!!!!!! exception stage: {} !!!!!!!!!!".format(runner.exception_stage), "YELLOW")
|
||||
raise
|
||||
|
||||
return 0
|
||||
if runner.summary and runner.summary["success"]:
|
||||
sys.exit(0)
|
||||
else:
|
||||
sys.exit(1)
|
||||
|
||||
|
||||
def main_locust():
|
||||
@@ -182,9 +187,12 @@ if __name__ == "__main__":
|
||||
""" debugging mode
|
||||
"""
|
||||
import sys
|
||||
import os
|
||||
|
||||
if len(sys.argv) == 0:
|
||||
exit(0)
|
||||
|
||||
sys.path.insert(0, os.getcwd())
|
||||
cmd = sys.argv.pop(1)
|
||||
|
||||
if cmd in ["hrun", "httprunner", "ate"]:
|
||||
@@ -196,7 +204,7 @@ if __name__ == "__main__":
|
||||
color_print("Miss debugging type.", "RED")
|
||||
example = "\n".join([
|
||||
"e.g.",
|
||||
"python main-debug.py hrun /path/to/testcase_file",
|
||||
"python main-debug.py locusts -f /path/to/testcase_file"
|
||||
"python -m httprunner.cli hrun /path/to/testcase_file",
|
||||
"python -m httprunner.cli locusts -f /path/to/testcase_file"
|
||||
])
|
||||
color_print(example, "yellow")
|
||||
|
||||
@@ -19,7 +19,7 @@ logger = logging.getLogger("httprunner")
|
||||
|
||||
|
||||
def setup_logger(log_level, log_file=None):
|
||||
"""setup root logger with ColoredFormatter."""
|
||||
"""setup logger with ColoredFormatter."""
|
||||
level = getattr(logging, log_level.upper(), None)
|
||||
if not level:
|
||||
color_print("Invalid log level: %s" % log_level, "RED")
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
[tool.poetry]
|
||||
name = "httprunner"
|
||||
version = "2.2.4"
|
||||
version = "2.2.5"
|
||||
description = "One-stop solution for HTTP(S) testing."
|
||||
license = "Apache-2.0"
|
||||
readme = "README.md"
|
||||
|
||||
Reference in New Issue
Block a user