点此获取更多相关资料
本文为霍格沃兹测试开发学社学员学习笔记分享
原文链接:https://ceshiren.com/t/topic/27139
跨平台 api 对接
测试平台需求
-
稳定
-
功能
- 调用脚本
- 报告获取
- 分布式
- 支持 API 调用
-
开源
Jenkins 环境准备
- Jenkins 满足所有调度平台的需求
需求 | Jenkins 对应关系 |
---|---|
调用脚本 | 在构建的shell中可以直接执行命令 |
分布式 | 节点管理 |
支持 API 调用 | Jenkins 对外开放的 API |
报告获取 | 多种报告插件 |
-
Docker 搭建的 Jenkins
- 主节点:Docker 服务
- 丛节点:宿主机
-
其他方式搭建的 Jenkins (可以直接调用)
Jenkins Slave 节点配置 ----没有使用docker搭建的话,推荐
-
添加节点
- Remote root directory:Slave 节点的工作路径
- Launch method:启动的配置
- Host Key Verification Strategy:取消验证
-
丛节点配置节点属性
- JAVA_HOME
- Git
image100%75%50%
image100%75%50%
Jenkins API 的使用
- Jenkins 官方文档
- https://www.jenkins.io/doc/book/using/remote-access-api/
- https://www.jenkins.io/doc/book/managing/cli/
- https://github.com/pycontribs/jenkinsapi
JenkinsAPI 使用-添加 token
使用 Jenkins API
- 配置 Jenkins 服务地址
- 配置 Jenkins 用户名
- 配置 Jenkins 用户 token
Jenkins 常用 API
- 根据 job 名称获取 job 对象
- 构建 job
- 获取当前 job 最后一次完成构建的编号
Jenkins 参数配置
-
通过 build_params 关键字传递构建参数
- 要求使用字典格式
- key 值为 Jenkins 中设定的参数名
- value 为给参数传递的值
# 安装 Jenkins 插件
# pip install jenkinsapi
# 获取 Jenkins 版本
from jenkinsapi.jenkins import Jenkins
# Jenkins 服务
BASE_URL = "http://www.loseweight.ren:8080/"
# Jenkins 服务对应的 用户名 和 token
USERNAME = "admin"
PASSWORD =
# 获得 Jenkins 实例对象,关联Jenkins 服务
jenkins_hogwarts = Jenkins(BASE_URL,USERNAME,PASSWORD)
print(jenkins_hogwarts.version)
# 获取 Jenkins 的 job 对象
job = jenkins_hogwarts.get_job("hogwarts")
# 构建获取的 job, 参数是字典格式,key 是Jenkins中设置的参数名
job.invoke(build_params={"task":"hogwarts"})
# 获取最后一次完成构建的编号
job.get_last_stable_buildnumber()