0

我正在尝试通过 Jenkins 运行 Testim。我正在使用 Windows 批处理命令来运行它

testim --host localhost --port 4444 --mode selenium --token "xxxxxxxxx" --project "xxxxxxxxxx" --params-file ".\testdata.js" --name=%test1% --name=%test2%

在这里,我期望我需要运行的测试名称作为变量“名称”的值。例如。如果我有,总共有 10 个测试,并且用户从 10 个中选择了 2 个或一些测试,那么这 2 个或那么多的测试名称应该分别是变量 test1、test2、test3...等的值。因此,用户在构建时选择的测试数量,变量“名称”应该在构建命令中带有相应的测试名称的次数。我已经尝试使用 Jenkins 的主动选择参数插件,但它给出了一个数组而且我无法在构建命令中获取该数组的单个元素。由于我是新手,任何人都可以帮助我吗?

4

1 回答 1

0

您可以使用管道作业轻松实现此目的,方法是将输入字符串转换为您需要的格式。

假设您使用的是 Extended Choice 参数或类似参数,它会将所有选定的值组合成一个字符串,每个值都由您选择的分隔符分隔。假设您的参数称为Names并且分隔符是 ' , ' 您可以使用以下内容:

node {
    def nameFlags  = Names.split(',').collect { " --name=${it.trim()}" }
    bat "testim --host localhost --port 4444 --mode selenium --token \"xxx\" --project \"xxx\" --params-file \".\\testdata.js\" ${nameFlags.join(' ')}"
}
于 2021-06-24T15:22:01.557 回答