TestRail与自动化测试集成:触发Jenkins测试并自动回传结果至TestRail
TestRail + Jenkins 自动化测试双向集成实现方案
前置准备
- 可正常访问的TestRail实例,拥有管理员权限可配置UI脚本、API访问权限
- 可正常运行的Jenkins实例,拥有Job创建、远程触发配置权限
- TestRail用例与自动化脚本已完成映射,建议用TestRail用例ID作为自动化脚本的唯一关联标识
- 提前安装TestRail API依赖:Python环境执行
pip install testrail-api,Java/Go等其他语言可引入对应官方SDK
步骤1:配置TestRail触发Jenkins任务规则
核心逻辑:监听TestRail的测试运行启动事件,提取核心参数调用Jenkins远程触发接口,实现自动拉起测试任务
- 进入TestRail「管理-自定义设置-UI脚本」页面,新增自定义脚本,监听测试运行创建/手动启动动作,提取核心参数:测试运行ID
run_id、选中的待执行用例ID列表case_ids - 在触发逻辑中调用Jenkins远程构建接口:
POST <JENKINS服务地址>/job/<对应测试Job名称>/buildWithParameters,请求头携带Jenkins身份验证信息Authorization: Bearer <你的Jenkins API令牌>,请求体携带run_id、case_ids两个参数 - 提前在对应Jenkins Job的配置页开启「触发远程构建」权限,设置验证令牌,同时新增
run_id、case_ids两个构建参数,用于接收TestRail传递的信息
步骤2:Jenkins端自动化测试执行逻辑
- 自动化框架启动前先读取传入的
case_ids参数,筛选出对应ID的用例执行,无需运行全量用例 - 执行过程中记录每个用例的执行结果:状态(通过/失败/跳过/阻塞)、错误日志、执行耗时、截图/附件路径,和对应TestRail用例ID绑定存储
- 全量用例执行完成后,整理统一格式的结果集合,等待回传
步骤3:测试结果回传TestRail
核心逻辑:调用TestRail开放API,将执行结果批量写入对应测试运行中
- 调用TestRail批量提交结果接口
add_results_for_cases,传入run_id、用例结果集合,集合中每个用例需包含case_id、状态码(TestRail默认规则:1=通过,2=阻塞,3=失败,4=重测,5=跳过)、执行日志、附件信息 - 单条用例结果提交也可使用
add_result_for_case接口逐条提交,适合执行过程中实时回传的场景 - 回传完成后可直接在TestRail对应测试运行页面查看全量用例执行结果,无需手动录入
常见问题排查
- 触发Jenkins失败:检查TestRail服务器网络是否能正常访问Jenkins地址,Jenkins API令牌是否拥有对应Job的触发权限
- 结果回传失败:检查TestRail API密钥是否正确,对应
run_id是否存在未被删除,提交的状态码是否符合TestRail的预设规则 - 用例匹配异常:确认自动化脚本中绑定的用例ID和TestRail侧的用例ID一一对应,无重复、遗漏情况
内容的提问来源于stack exchange,提问作者Namra
相关产品推荐
相关产品推荐

