所以这里的问题是我正在比较来自不同位置的两个列表。一个列表来自excel,另一列表来自特定表,该表代表相同excel值的导入值。
因此所有值都是正确的;但是excel会给出一个或可能是“ none”的多个值,并且从表中我只能以空值的形式得到这些值,例如“”。如何将“无”更改为“反之”?
在这种特殊情况下,“ None”和“''位于列表的第10个值槽中,但随着时间的流逝,它会更改,因为将不同的值放入excel。
那么,如何删除或替换/修改这些“ nones”为'':s?反之亦然?
Excel列表:[1,'X','Y',200,1999,'Z','W',4,'V',无,2,1100] 列表:[1,'X','Y',200,1999,'Z','W',4,'V','',2,1100]
使用ExcelLibrary和ExcelRobot来获得关键字..的混合,下面是类似的方法
${iTotalRows} = Get Row Count Sheet1 (etc.) # excel
${item1} = Get Table cell //table[@class="xx"] 2 1
${item1} = Get Table cell //table[@class="xx"] 2 2 #etc..
Lists should be equal ${x} ${y}
提前谢谢
答案 0 :(得分:2)
我认为没有为此准备的关键字(例如,在“收藏库”中)。如果我错了并且正在重新发明轮子,请告诉我,我可以编辑或删除答案。
我会在Python中创建一个自定义关键字,并将其作为库导入到RF中。这可以在Python中轻松完成(实际上只有一行),因此创建它甚至不需要花费很多时间或精力。
Libraries / ListUtils.py :
def substitute_values_in_list(list, value_to_substitute, substitute_to):
return [substitute_to if ele == value_to_substitute else ele for ele in list]
然后在测试或关键字中:
*** Settings ***
Library ../Libraries/ListUtils.py
*** Test Cases ***
Empty List Value
${list}= Create List 1 2 ${None}
Log To Console ${list}
${new_list}= Substitute Values In List ${list} ${None} ${Empty}
Log To Console ${new_list}
第一个控制台输出将是:
['1', '2', None]
,第二个带有替换值:
['1', '2', '']
您可以通过另一种方式对自定义关键字Substitute Values In List
进行参数设置,以便将空字符串替换为None值或类似的值。