change method to specify testset path

This commit is contained in:
debugtalk
2017-07-19 23:29:29 +08:00
parent 8b27fd21f5
commit 2179092ea7
2 changed files with 62 additions and 14 deletions

View File

@@ -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

View File

@@ -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)