【发布时间】:2016-06-28 16:31:55
【问题描述】:
我有一些机器人框架测试,我正在尝试使用 pabot (pabot.pabotlib) 并行化这些测试。由于 pabot 需要 valuesset.dat 并且我只有 1 个值集(凭据),我想同时在多个进程中使用它,是否可以在多个进程中使用相同的值集。
例如。 ;这样可以吗?
test.robot
*** Settings ***
Library pabot.PabotLib
*** Test Case ***
Testing PabotLib
Acquire Lock MyLock
Log This part is critical section
Release Lock MyLock
${valuesetname}= Acquire Value Set
${host}= Get Value From Set host
${username}= Get Value From Set username
${password}= Get Value From Set password
Log Do something with the values (for example access host with username and password)
Release Value Set
Log After value set release others can obtain the variable values
valueset.dat
[Server1]
HOST=123.123.123.123
USERNAME=user1
PASSWORD=password1
[Server2]
HOST=121.121.121.121
USERNAME=user1
PASSWORD=password1
机器人调用
pabot --pabotlib --resourcefile valueset.dat test.robot
【问题讨论】:
-
为什么要使用值集?如果您只有一组凭据,则可以将其放入机器人框架变量中,如:
${host}=121.121.121.121 ${username}= user1 ${password}= password1测试套件内。我错过了什么吗? -
如果你坚持使用Value Sets,就做一堆相同的:
[Server1] HOST=123.123.123.123 USERNAME=user1 PASSWORD=password1,[Server2] HOST=123.123.123.123 USERNAME=user1 PASSWORD=password1 -
谢谢吉姆。我有 1 组凭据,我想将其用作所有 pabot 并行进程的值集
-
我不太了解你。我的任何答案有帮助吗?如果我正式发布,你会接受吗?
-
我已经尝试过你的第二个建议,即在相同的值集上创建一堆,但它对我不起作用。我不确定我们如何实施/使用您在第 1 条评论中提出的建议