下面是我们用于变量的device_details.yaml文件,
Device1:
IP: 192.168.23.21
Port: 23
admin_cred:
username: admin
password: Cisco123$
nonadmin_cred:
username: six
password: six
Device2:
IP: 192.168.23.22
Port: 23
admin_cred:
username: admin
password: Cisco123$
nonadmin_cred:
username: six
password: six
下面是机器人代码段:
*** Settings ***
Variables /tmp/robot/device_details.yaml
*** Test Case ***
Test
Device Detail
***Keywords****
Device Detail
Log Device1 IP is ${Device1.IP}
Log Device1 port is ${Device1.Port}
Log Device1 admin username is ${Device1.admin_cred.username}
Log Device1 admin password is ${Device1.admin_cred.password}
Log Device1 non-admin username is ${Device1.nonadmin_cred.username}
Log Device1 non-admin password is ${Device1.nonadmin_cred.password}
Log Device2 IP is ${Device2.IP}
Log Device2 port is ${Device2.Port}
Log Device2 admin username is ${Device2.admin_cred.username}
Log Device2 admin password is ${Device2.admin_cred.password}
Log Device2 non-admin username is ${Device2.nonadmin_cred.username}
Log Device2 non-admin password is ${Device2.nonadmin_cred.password}
我们最终可能会在yaml文件中包含200至300个设备详细信息。除了调用每个变量之外,还有什么方法可以动态地迭代另一个变量?
谢谢,
Mohan
devices.yaml
Devices:
a1:
IP: 192.168.23.21
b2:
IP: 192.168.23.22
test.robot
*** Settings ***
Library Collections
Variables devices.yaml
*** Test Case ***
Test
${device_names} Get Dictionary Keys ${devices}
FOR ${device} IN @{device_names}
Log Device1 IP is ${devices}[${device}][IP]
END