自动化创建和运行用例¶
1. 前提¶
SimOne 提供 RESTful API,支持通过 HTTP 请求对平台进行编程控制。本文介绍如何利用该接口实现用例的自动化创建与运行,适用于无人值守的批量测试场景:自动创建多任务,待所有任务结束后,自动获取运行结果。
-
适用无人值守场景:自动创建多任务,待所有任务结束后,自动获取运行结果
-
Sample.py 如:runSimOneCase.py
依赖环境
运行脚本前请安装以下依赖包:
pip install requests
📝 如使用 SimOne 内置 Python 解释器(
[SimOne 安装目录]/Tools/python36/),请使用对应版本的 pip 安装。
2. 使用步骤¶
2.1 导入所有需要的依赖库¶
在脚本头部导入以下依赖库:
import base64
import copy
import random
from os.path import exists
import fire
from Crypto.Cipher import AES
from faker import Faker
from requests import request, Response
import json
from urllib.parse import urljoin
import os
import time
| 库名 | 用途 |
|---|---|
fire |
命令行参数解析 |
requests |
发送 HTTP 请求,调用 SimOne RESTful API |
Crypto.Cipher.AES |
AES 加密(用于密码传输) |
urllib.parse.urljoin |
拼接 API URL |
2.2 修改 API 连接路径与登录模式¶
将 SimOneUrl 改为实际 SimOne 服务地址,并根据部署模式选择登录方式:
SimOneUrl = 'http://127.0.0.1:30083/' # SimOne 访问路径
loginData = {
'username': 'admin',
'password': 'admin',
}
# LoginPolicy("cloud") # 云端登录
LoginPolicy("standalone") # 单机版登录
- 单机部署:调用
LoginPolicy("standalone"),使用用户名/密码登录 - 云端部署:调用
LoginPolicy("cloud"),切换为云端认证模式 SimOneUrl替换为实际服务地址,例如http://10.x.x.x:30083/
2.3 运行 API 接入 SimOne¶
2.3.1 命令行执行¶
脚本通过 fire.Fire(main) 解析命令行参数,支持以下四种运行方式:
-
运行一个用例:
python xxx.py --category_name='入门案例' --case_name='构建标准案例2.0' -
运行一个用例并选择主车:
python xxx.py --category_name='入门案例' --case_name='构建标准案例2.0' --vehicle_name='手动控制-默认' -
运行用例库中所有的用例:
python xxx.py --category_name='入门案例' -
运行用例库中所有的用例并选择主车:
python xxx.py --category_name='入门案例' --vehicle_name='手动控制-默认'
执行后,可在 SimOne 平台的 任务管理 > 正在测试 页面中确认任务已成功启动。
2.4 命令行输出结果¶
用例运行结束后,脚本轮询任务状态(调用 GET /api-task/tasks/task),并在任务结束后输出结果列表:
task_result_list -> [{'case_name': '构建标准案例2.0', 'case_id': 'b355d550-...', 'task_id': 'd96c9169-...', 'task_result': True}]
| 字段 | 说明 |
|---|---|
case_name |
用例名称 |
case_id |
用例 ID |
task_id |
任务 ID |
task_result |
运行结果(True = 通过,False = 未通过) |




