Files
httprunner/ate/cli.py
2017-07-24 22:16:15 +08:00

55 lines
1.6 KiB
Python

import os
import argparse
import logging
import PyUnitReport
from ate import __version__
from ate.task import create_task
def main():
""" parse command line options and run commands.
"""
parser = argparse.ArgumentParser(
description='Api Test Engine.')
parser.add_argument(
'-V', '--version', dest='version', action='store_true',
help="show version")
parser.add_argument(
'testset_paths', nargs='*',
help="testset file path")
parser.add_argument(
'--log-level', default='INFO',
help="Specify logging level, default is INFO.")
parser.add_argument(
'--report-name',
help="Specify report name, default is generated time.")
args = parser.parse_args()
if args.version:
print(__version__)
exit(0)
log_level = getattr(logging, args.log_level.upper())
logging.basicConfig(level=log_level)
report_name = args.report_name
if report_name and len(args.testset_paths) > 1:
report_name = None
logging.warning("More than one testset paths specified, \
report name is ignored, use generated time instead.")
for testset_path in args.testset_paths:
testset_path = testset_path.strip('/')
task_suite = create_task(testset_path)
output_folder_name = os.path.basename(os.path.splitext(testset_path)[0])
kwargs = {
"output": output_folder_name,
"report_name": report_name,
"failfast": True
}
PyUnitReport.HTMLTestRunner(**kwargs).run(task_suite)