UI自动化测试框架搭建 —— 获取Jenkins参数
发送测试报告的时候,需要拿到Jenkins的工程名称,任务id等信息,也可以通过上述方法拿到。使用Jenkins执行任务之后,我们选择的参数就变成了环境变量,可以使用python的。管理测试流程的时候,我们可以通过参数化来动态修改测试执行的一些参数。这里传入0,编辑器会提示类型问题,上面的入参稍微修改一下。把上一节Jenkinsfile用到的参数都获取一下。比如我想要拿到robot的内容。
获取参数化内容
在使用Jenkins管理测试流程的时候,我们可以通过参数化来动态修改测试执行的一些参数
使用Jenkins执行任务之后,我们选择的参数就变成了环境变量,可以使用python的os.getenv(name)
方法来获取到内容
比如我想要拿到robot的内容
我可以使用os.getenv('robot')
封装一个函数处理一下字符串的空格问题
-
def get_env(name, base=''):
-
"""
-
从环境变量中获取指的信息
-
@param name: 环境变量信息
-
@param base: 默认信息
-
@return:
-
"""
-
return os.getenv(name) and os.getenv(name).strip() or base
这样获取robot就变为了
ROBOT = get_env("robot") # 企业微信群机器人
把上一节Jenkinsfile用到的参数都获取一下
-
parameters {
-
gitParameter(name: 'branch', branch: '', branchFilter: '.*', defaultValue: 'origin/master', description: '代码分支', quickFilterEnabled: false, selectedValue: 'NONE', sortMode: 'NONE', tagFilter: '*', type: 'PT_BRANCH')
-
choice(name: 'test_PC', choices: ['a', 'b'], description: '执行设备')
-
choice(name: 'headless', choices: ['false', 'true'], description: '是否不显示浏览器界面')
-
choice(name: 'concurrent', choices: ['否', '1', '2', '3', '4', 'auto'], description: '是否并发执行,并发数')
-
string(name: 'robot', defaultValue: '', description: '企业微信群机器人地址,以逗号分隔')
-
string(name: 'email', defaultValue: '', description: '邮箱地址,以逗号分隔')
-
text(name: 'cases', defaultValue: '''''', description: '要执行的用例', )
-
}
也就是
-
CASES = get_env("cases") # 测试用例
-
HEADLESS = get_env("headless", "false") # 是否不显示浏览器
-
CONCURRENT = get_env("concurrent", "否") # 并发数 [0, 1, 2, 3, 4, auto, 否]
-
EMAIL = get_env("email") # 邮件
-
ROBOT = get_env("robot") # 企业微信群机器人
获取Jenkins自带变量
在发送测试报告的时候,需要拿到Jenkins的工程名称,任务id等信息,也可以通过上述方法拿到
具体的名称可以从 「流水线语法」-「全局变量参考」中获取到
比如我们要拿到
-
构建项目名称
-
构建项目URL
-
构建编号
-
ProjectName = get_env("JOB_NAME", "非jenkins运行") # 构建项目名称
-
BUILD_URL = get_env("BUILD_URL", "非jenkins运行") # 构建项目URL
-
BUILD_NUMBER = get_env("BUILD_NUMBER", 0) # 构建编号
这里传入0,编辑器会提示类型问题,上面的入参稍微修改一下
-
from typing import Union
-
def get_env(name, base: Union[str, int] = ''):
这样base形参就允许为int类型了
感谢每一个认真阅读我文章的人,礼尚往来总是要有的,虽然不是什么很值钱的东西,如果你用得到的话可以直接拿走:
这些资料,对于【软件测试】的朋友来说应该是最全面最完整的备战仓库,这个仓库也陪伴上万个测试工程师们走过最艰难的路程,希望也能帮助到你!有需要的小伙伴可以点击下方小卡片领取
更多推荐
所有评论(0)