Python 机器人框架中循环的退出
使用Robot框架,我试图创建一个FOR循环,其中从列表中选择一个随机值。选择随机值后,打开该值的页面,然后我想验证该方可用的数据,等等。如果值匹配,则循环应该退出 目前,我可以选择一个随机值并转到该值页面,但由于FOR循环从列表中找到另一个值,脚本失败,因此无法执行进一步的操作Python 机器人框架中循环的退出,python,python-3.x,selenium,robotframework,Python,Python 3.x,Selenium,Robotframework,使用Robot框架,我试图创建一个FOR循环,其中从列表中选择一个随机值。选择随机值后,打开该值的页面,然后我想验证该方可用的数据,等等。如果值匹配,则循环应该退出 目前,我可以选择一个随机值并转到该值页面,但由于FOR循环从列表中找到另一个值,脚本失败,因此无法执行进一步的操作 @{ORGANISATIONAL_NAME} JSK MARKETING KEDARNATH COMOTRADE PONDICHERRY SRI LAKSHMI View Basic Info of the P
@{ORGANISATIONAL_NAME} JSK MARKETING KEDARNATH COMOTRADE PONDICHERRY SRI LAKSHMI
View Basic Info of the Party
${value} = Evaluate random.choice($ORGANISATIONAL_NAME) random
input text ${SEARCH_BAR} ${value}
log to console \nvalue: ${value}
click element ${SEARCH_BUTTON}
log ${value}
Run Keyword If '${value}' == 'JSK MARKETING' click element ${JSK_MARKETING}
... ELSE IF '${value}' == 'KEDARNATH COMOTRADE' click element ${KEDARNATH_COMOTRADE}
... ELSE IF '${value}' == 'PONDICHERRY SRI LAKSHMI' click element ${PONDICHERRY_SHRI_LAKSHMI}
... ELSE log to console condition didn't met
FOR ${value} IN @{ORGANISATIONAL_NAME}
log to console ${value}
click element ${BASIC_INFO}
wait until page contains Summary
Exit For Loop If '${value}' == 'JSK MARKETING'
click element ${BASIC_INFO}
wait until page contains Summary
Exit For Loop If '${value}' == 'KEDARNATH COMOTRADE'
click element ${BASIC_INFO}
wait until page contains Summary
Exit For Loop If '${value}' == 'PONDICHERRY SRI LAKSHMI'
END
需要对从列表中选择的随机值执行验证。您的问题是您首先选择了一个随机值。
@{ORGANISATIONAL_NAME} JSK MARKETING KEDARNATH COMOTRADE PONDICHERRY SRI LAKSHMI
View Basic Info of the Party
${value} = Evaluate random.choice($ORGANISATIONAL_NAME) random
input text ${SEARCH_BAR} ${value}
log to console \nvalue: ${value}
click element ${SEARCH_BUTTON}
log ${value}
Run Keyword If '${value}' == 'JSK MARKETING' click element ${JSK_MARKETING}
... ELSE IF '${value}' == 'KEDARNATH COMOTRADE' click element ${KEDARNATH_COMOTRADE}
... ELSE IF '${value}' == 'PONDICHERRY SRI LAKSHMI' click element ${PONDICHERRY_SHRI_LAKSHMI}
... ELSE log to console condition didn't met
FOR ${value} IN @{ORGANISATIONAL_NAME}
log to console ${value}
click element ${BASIC_INFO}
wait until page contains Summary
Exit For Loop If '${value}' == 'JSK MARKETING'
click element ${BASIC_INFO}
wait until page contains Summary
Exit For Loop If '${value}' == 'KEDARNATH COMOTRADE'
click element ${BASIC_INFO}
wait until page contains Summary
Exit For Loop If '${value}' == 'PONDICHERRY SRI LAKSHMI'
END
然后按照创建列表的顺序迭代列表
for循环的原因是什么?
因为我不明白你在循环中想做什么
编辑:
如果只有这3个值你的名单上会有你可以这样做:
View Basic Info Of The Party
${value} = Evaluate random.choice($ORGANISATIONAL_NAME) random
Input Text ${SEARCH_BAR} ${value}
Log To Console \nvalue: ${value}
Click Element ${SEARCH_BUTTON}
Log ${value}
Run Keyword If '${value}' == 'JSK MARKETING' Click Element ${JSK_MARKETING}
... ELSE IF '${value}' == 'KEDARNATH COMOTRADE' Click Element ${KEDARNATH_COMOTRADE}
... ELSE IF '${value}' == 'PONDICHERRY SRI LAKSHMI' Click Element ${PONDICHERRY_SHRI_LAKSHMI}
Log To Console ${value}
Click Element ${BASIC_INFO}
Wait Until Page Contains Summary
如果你想拥有更多的价值观在列表中,如果您只想在这3种情况中的一种情况下执行操作,请尝试执行以下操作:
View Basic Info Of The Party
${value} = Evaluate random.choice($ORGANISATIONAL_NAME) random
Input Text ${SEARCH_BAR} ${value}
Log To Console \nvalue: ${value}
Click Element ${SEARCH_BUTTON}
Log ${value}
Run Keyword If '${value}' == 'JSK MARKETING' Click Element ${JSK_MARKETING}
... ELSE IF '${value}' == 'KEDARNATH COMOTRADE' Click Element ${KEDARNATH_COMOTRADE}
... ELSE IF '${value}' == 'PONDICHERRY SRI LAKSHMI' Click Element ${PONDICHERRY_SHRI_LAKSHMI}
... ELSE Log To Console condition didn\'t met
Run Keyword If '${value}' == 'JSK MARKETING' or '${value}' == 'KEDARNATH COMOTRADE' or '${value}' == 'PONDICHERRY SRI LAKSHMI' Run Keywords
... Log To Console ${value} AND
... Click Element ${BASIC_INFO} AND
... Wait Until Page Contains Summary
我希望这能有所帮助。您得到的错误是什么?@WojtekT错误是,首先,它取的是一个值,比如PONDICHERRY SRI LAKSHMI,当FOR循环执行时,它取的是另一个值,比如JSK MARKETING。使用FOR循环的原因是,在选择了一个随机值后,我想对该特定方执行数据验证。整个场景是,我有一个巨大的不同政党的数据集,每个政党的数据也是不同的。现在我必须从该数据集中选择一个随机参与方并对其进行验证。我尝试了这两种代码,但现在在搜索参与方后直接失败,因为现在它跳到元素${BASIC_INFO}而不是首先单击参与方,即“${value}”=='KEDARNATH COMOTRADE'单击元素${KEDARNATH_COMOTRADE}。我想我知道你有什么问题。让我们关注代码2。最后3行包含开头的
…
,因此最后3行取决于检查结束时的关键字运行关键字(第11行)。我想你没有把…
放在开头,这就是为什么最后3行总是被执行的原因。它可以在日志中看到,因为最后3行应该出现在日志中的runkeywords键中,如下所示:重新格式化代码后,问题仍然存在。现在发生的事情是,在随机选择后,它没有点击聚会页面链接,浏览器关闭,结果是通过。[链接]()由于本地治里·斯里·拉克希米珠宝店与本地治里·斯里·拉克希米珠宝店不匹配,因此不符合任何条件。在这种情况下,代码是正确的