mirror of
https://github.com/httprunner/httprunner.git
synced 2026-05-11 18:11:21 +08:00
change method to specify testset path
This commit is contained in:
48
README.md
48
README.md
@@ -22,6 +22,34 @@
|
||||
$ pip install git+https://github.com/debugtalk/ApiTestEngine.git#egg=ApiTestEngine
|
||||
```
|
||||
|
||||
执行`ate -V`,检测安装是否成功。
|
||||
|
||||
```text
|
||||
$ ate -V
|
||||
0.1.0
|
||||
```
|
||||
|
||||
执行`ate -h`,查看命令的帮助说明。
|
||||
|
||||
```text
|
||||
$ ate -h
|
||||
usage: ate [-h] [-V] [--log-level LOG_LEVEL] [--report-name REPORT_NAME]
|
||||
[testset_paths [testset_paths ...]]
|
||||
|
||||
Api Test Engine.
|
||||
|
||||
positional arguments:
|
||||
testset_paths testset file path
|
||||
|
||||
optional arguments:
|
||||
-h, --help show this help message and exit
|
||||
-V, --version show version
|
||||
--log-level LOG_LEVEL
|
||||
Specify logging level, default is INFO.
|
||||
--report-name REPORT_NAME
|
||||
Specify report name, default is generated time.
|
||||
```
|
||||
|
||||
## 编写测试用例
|
||||
|
||||
推荐采用`YAML`格式编写测试用例。
|
||||
@@ -82,12 +110,24 @@ $ pip install git+https://github.com/debugtalk/ApiTestEngine.git#egg=ApiTestEngi
|
||||
|
||||
## 运行测试用例
|
||||
|
||||
`ApiTestEngine`可指定运行特定的测试用例文件,或运行指定目录下的所有测试用例。
|
||||
`ApiTestEngine`可指定运行特定的测试用例集文件,或运行指定目录下的所有测试用例集文件。
|
||||
|
||||
```bash
|
||||
$ ate --testcase-path filepath/testcase.yml
|
||||
执行单个测试用例集:
|
||||
|
||||
$ ate --testcase-path testcases_folder_path
|
||||
```text
|
||||
$ ate filepath/testcase.yml
|
||||
```
|
||||
|
||||
执行多个测试用例集:
|
||||
|
||||
```text
|
||||
$ ate filepath1/testcase1.yml filepath2/testcase2.yml
|
||||
```
|
||||
|
||||
执行指定目录下的所有测试用例集:
|
||||
|
||||
```text
|
||||
$ ate testcases_folder_path
|
||||
```
|
||||
|
||||
## Supported Python Versions
|
||||
|
||||
28
ate/cli.py
28
ate/cli.py
@@ -16,8 +16,8 @@ def main():
|
||||
'-V', '--version', dest='version', action='store_true',
|
||||
help="show version")
|
||||
parser.add_argument(
|
||||
'--testcase-path', default='testcases',
|
||||
help="testcase file path")
|
||||
'testset_paths', nargs='*',
|
||||
help="testset file path")
|
||||
parser.add_argument(
|
||||
'--log-level', default='INFO',
|
||||
help="Specify logging level, default is INFO.")
|
||||
@@ -34,12 +34,20 @@ def main():
|
||||
log_level = getattr(logging, args.log_level.upper())
|
||||
logging.basicConfig(level=log_level)
|
||||
|
||||
testcase_path = args.testcase_path.rstrip('/')
|
||||
task_suite = create_task(testcase_path)
|
||||
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.")
|
||||
|
||||
output_folder_name = os.path.basename(os.path.splitext(testcase_path)[0])
|
||||
kwargs = {
|
||||
"output": output_folder_name,
|
||||
"report_name": args.report_name
|
||||
}
|
||||
PyUnitReport.HTMLTestRunner(**kwargs).run(task_suite)
|
||||
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
|
||||
}
|
||||
PyUnitReport.HTMLTestRunner(**kwargs).run(task_suite)
|
||||
|
||||
Reference in New Issue
Block a user