带有 pabot 的机器人框架:是否可以在两个测试中将两个不同的值传递给一个变量
robot framework with pabot : is it possible to pass two different values to a variable in two tests
例如,我有 file1.robot
和 file2.robot
,每个变量都有 ${var}
。我可以在命令行中将 2 个不同的值传递给同一个 ${var}
吗?像 pabot -v var:one:two file1.robot file2.robot
这样的 -v var:one:two
会遵循机器人文件的顺序;不是按名称而是按它们在命令行中的介绍方式?
此解决方案并非 100% 符合您的要求,但也许您可以让它发挥作用。
在 pabot readme file is mentioned something about shared set of variables and acquiring set 中每个 运行ning 进程。文档对我来说有点不清楚,但如果你尝试下面的例子,你就会亲眼看到。它基本上是一个变量池,每个进程都可以从中获取一组变量,当它完成后,它可以return将这个设置返回到池中。
创建你的价值集valueset.dat
[Set1]
USERNAME=user1
PASSWORD=password1
[Set2]
USERNAME=user2
PASSWORD=password2
创建 suite1.robot
和 suite2.robot
。我创建了 2 个完全相同的套件。我只是想尝试并行 运行 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。
希望对您有所帮助。
干杯!
另一种方法是使用多个参数文件。一个包含 ${var} 的第一个值,另一个包含另一个。
这将为两个参数文件执行相同的测试套件。
pabot --agumentfile1 varone.args --argumentfile2 vartwo.args file.robot
=>
file.robot executed with varone.args
file.robot executed with vartwo.args
例如,我有 file1.robot
和 file2.robot
,每个变量都有 ${var}
。我可以在命令行中将 2 个不同的值传递给同一个 ${var}
吗?像 pabot -v var:one:two file1.robot file2.robot
这样的 -v var:one:two
会遵循机器人文件的顺序;不是按名称而是按它们在命令行中的介绍方式?
此解决方案并非 100% 符合您的要求,但也许您可以让它发挥作用。
在 pabot readme file is mentioned something about shared set of variables and acquiring set 中每个 运行ning 进程。文档对我来说有点不清楚,但如果你尝试下面的例子,你就会亲眼看到。它基本上是一个变量池,每个进程都可以从中获取一组变量,当它完成后,它可以return将这个设置返回到池中。
创建你的价值集valueset.dat
[Set1]
USERNAME=user1
PASSWORD=password1
[Set2]
USERNAME=user2
PASSWORD=password2
创建 suite1.robot
和 suite2.robot
。我创建了 2 个完全相同的套件。我只是想尝试并行 运行 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。
希望对您有所帮助。
干杯!
另一种方法是使用多个参数文件。一个包含 ${var} 的第一个值,另一个包含另一个。
这将为两个参数文件执行相同的测试套件。
pabot --agumentfile1 varone.args --argumentfile2 vartwo.args file.robot
=>
file.robot executed with varone.args
file.robot executed with vartwo.args