示例,我有file1.robot
和file2.robot
,每个都有${var}
作为变量。我可以在命令行中将2个不同的值传递给同一个${var}
吗?像pabot -v var:one:two file1.robot file2.robot
这样的地方,其中-v var:one:two
将遵循机器人文件的顺序;不是通过名称,而是通过如何在命令行中引入它们?
答案 0 :(得分:1)
这个解决方案不是你所要求的100%,但也许你可以让它发挥作用。
在pabot readme file中提到了一些关于共享变量集的内容以及每个正在运行的进程的acquiring set。文档对我来说有点不清楚,但如果你尝试下面的例子,你就会亲眼看到。它基本上是变量池,每个进程都可以从中获取变量集,当它完成变量时,它可以将该集合返回到池中。
创建您的价值集valueset.dat
[Set1]
USERNAME=user1
PASSWORD=password1
[Set2]
USERNAME=user2
PASSWORD=password2
创建suite1.robot
和suite2.robot
。我创建了两个完全相同的套房。我只想尝试并行运行2套房。
*** Settings ***
Library pabot.PabotLib
*** Test Cases ***
Foobar
${valuesetname}= Acquire Value Set
Log ${valuesetname}
${username}= Get Value From Set username
Log ${username}
# Release Value Set
然后运行命令pabot --pabotlib --resourcefile valueset.dat tests
。如果你查看html报告,你会看到一个套件使用set1和其他使用的set2。
希望这有帮助。
干杯!
答案 1 :(得分:0)
另一种方法是使用多个参数文件。一个包含$ {var}的第一个值,另一个包含另一个值。
这将为两个参数文件执行相同的测试套件。
pabot --agumentfile1 varone.args --argumentfile2 vartwo.args file.robot
=>
file.robot executed with varone.args
file.robot executed with vartwo.args