Selenium 应为类似列表的值,获取字符串
我写了一个关键字,它调用一个子关键字。现在sub关键字返回两个值,我试图将其存储在分配给main关键字的数组中。当我登录控制台返回值时,它会给出一条错误消息,说-Expected list like value,get string 我尝试了以下解决方法(失败): 我的目标是: 我让sub关键字返回两个值:OTOID和LineIdentifier,并将其存储在数组中。然后分别使用这两个值以供进一步使用 实际: 当我登录到控制台存储在数组中的值时,我会收到一个错误消息:Selenium 应为类似列表的值,获取字符串,selenium,robotframework,Selenium,Robotframework,我写了一个关键字,它调用一个子关键字。现在sub关键字返回两个值,我试图将其存储在分配给main关键字的数组中。当我登录控制台返回值时,它会给出一条错误消息,说-Expected list like value,get string 我尝试了以下解决方法(失败): 我的目标是: 我让sub关键字返回两个值:OTOID和LineIdentifier,并将其存储在数组中。然后分别使用这两个值以供进一步使用 实际: 当我登录到控制台存储在数组中的值时,我会收到一个错误消息: Expected list
Expected list-like-value,get-string问题是您试图将子关键字的返回值存储为数组/列表,但从中返回字符串
*** Keywords ***
Main keyword
${OTO_ID} ${LineIdentifier} Run keyword if '${INACTIVEStateCount}'!='0' INACTIVE OTOID selector ${StateCount}
INACTIVE OTOID selector
Return From Keyword If '${OTO_IDStatus}'!='None' ${OTO_ID} ${LineIdentifier}
这将返回值${OTO_ID}
和${LineIdentifier}
作为单个变量,而不是数组
请注意,为了让答案更简单,我忽略了sub关键字中的其他步骤
需要更换的线路:
Run Keyword If '${OTO_IDStatus}'!='None' [Return] ${OTO_ID}
Run Keyword If '${OTO_IDStatus}'!='None' [Return] ${LineIdentifier}
更新:
如果您想严格地以列表形式返回值,请使用下面的代码
*** Keywords ***
Main keyword
${Identifiers} Run keyword if '${INACTIVEStateCount}'!='0' INACTIVE OTOID selector ${StateCount}
INACTIVE OTOID selector
${Identifiers} Create List
.
<Your FOR loop here>
.
\ Run Keyword If '${OTO_IDStatus}'!='None' Append to List ${identifiers} ${OTO_ID} ${LineIdentifier}
Exit For Loop If '${OTO_IDStatus}'!='None'
Return From Keyword If '${OTO_IDStatus}'!='None' ${Identifiers}
***关键字***
主关键字
${Identifiers}如果“${INACTIVEStateCount}”!=”运行关键字0'非活动OTOID选择器${StateCount}
非活动耳蜗选择器
${Identifiers}创建列表
.
.
\如果“${OTO_IDStatus}”运行关键字!=”None'附加到列表${identifiers}${OTO_ID}${LineIdentifier}
如果“${OTO_IDStatus}”!=”退出循环没有
如果“${OTO_IDStatus}”!=”从关键字返回无“${Identifiers}
参考:
*** Keywords ***
Main keyword
${Identifiers} Run keyword if '${INACTIVEStateCount}'!='0' INACTIVE OTOID selector ${StateCount}
INACTIVE OTOID selector
${Identifiers} Create List
.
<Your FOR loop here>
.
\ Run Keyword If '${OTO_IDStatus}'!='None' Append to List ${identifiers} ${OTO_ID} ${LineIdentifier}
Exit For Loop If '${OTO_IDStatus}'!='None'
Return From Keyword If '${OTO_IDStatus}'!='None' ${Identifiers}