Robotframework robot测试框架:如果用户关键字不包含关键字,则运行关键字
以下代码位于For循环中Robotframework robot测试框架:如果用户关键字不包含关键字,则运行关键字,robotframework,Robotframework,以下代码位于For循环中 ELSE Enable Laser${app_id}${status}导致用户关键字“Enable Laser”不包含关键字错误。但是,如果我将其更改为,如果'${electricalApp}'='True'启用激光${app_id}${status},则此行没有错误,但行运行关键字if'${electricalApp}'='True'启用激光${app id}${status},如下所示,导致用户关键字“启用激光”不包含关键字错误 \ ${electricalAp
ELSE Enable Laser${app_id}${status}
导致用户关键字“Enable Laser”不包含关键字错误。但是,如果我将其更改为,如果'${electricalApp}'='True'启用激光${app_id}${status}
,则此行没有错误,但行运行关键字if'${electricalApp}'='True'启用激光${app id}${status}
,如下所示,导致用户关键字“启用激光”不包含关键字错误
\ ${electricalApp} Is App Electrical ${app}
\ ${status} Set Variable ON
\ ${validOptic} Set Variable False
\ ${validOptic} Run Keyword If '${electricalApp}'=='False' Is Optic Valid For App ${app_id} ${app}
\ ... ELSE Enable Laser ${app_id} ${status}
\ Run Keyword If '${validOptic}'=='True' Enable Laser ${app_id} ${status}
\ ${status} Set Variable OFF
\ Run Keyword If '${electricalApp}'=='True' Enable Laser ${app_id} ${status}
\ Run Keyword If '${validOptic}'=='True' Enable Laser ${app_id} ${status}
\ Exit Current Running Apps
在我将上述代码放入For循环之前,一切都运行良好
编辑:启用激光器:
Enable Laser [Arguments] ${app_id} ${status}
[Documentation] Turn on or off laser and then check Signal Sync Link. ${status} should be all upper case
${commmand} Catenate SEPARATOR= ${app_id} .0.SignalTx.LaserEnable
send cmd ${app_id} a_goto_state ${commmand} ${status}
${inquiry} Catenate SEPARATOR= ${app_id} .0.SignalTx.LaserState
${payload} send cmd ${app_id} r_get ${inquiry}
${parameters} Evaluate $payload.parameters
Run Keyword If '${status}'=='ON' Should Be Equal '1' ${parameters} Current state should be 1
Run Keyword If '${status}'=='OFF' Should Be Equal '0' ${parameters} Current state should be 0
Signal Sync Link Verification ${app_id} ${status}
事实证明,在
启用激光
的定义中,[文档]
需要缩进
像这样:
Enable Laser [Arguments] ${app_id} ${status}
[Documentation] Turn on or off laser and then check Signal Sync Link. ${status} should be all upper case
${commmand} Catenate SEPARATOR= ${app_id} .0.SignalTx.LaserEnable
send cmd ${app_id} a_goto_state ${commmand} ${status}
请与我们共享该关键字的代码
启用激光
?@JanKovarik谢谢,代码已添加。请修复代码的格式。第一个块很混乱,代码和文本混杂在一起。@BryanOakley如果你阅读它,你会发现这些代码是文本的一部分。请阅读并遵循这里的建议:这太疯狂了。我没有注意到,也没有尝试复制粘贴。无论如何,我很高兴你解决了这个问题。无论如何,非常感谢你。真是疯了,这狗屎把我抓了快一天了。