Sorting 我怎样才能在Robot框架中用数字排序的数字检查列表
我在检查我的名单时有问题。事实上,我需要检查列表是否在Robot框架中按数字顺序排列 假设我们有一个列表Sorting 我怎样才能在Robot框架中用数字排序的数字检查列表,sorting,robotframework,Sorting,Robotframework,我在检查我的名单时有问题。事实上,我需要检查列表是否在Robot框架中按数字顺序排列 假设我们有一个列表 ${nice}= ['13', '12', '10', '7', '6', '6', '6', '4', '3', '2', '2', '1', '1', '1', '0', '0'] 我需要验证第一个元素是否大于第二个元素,第二个元素是否大于第三个元素,依此类推 问题是,在Robot框架中,关键字“排序列表”并没有以正确的方式对数字列表排序 其中一个决定是在robot框架中调用Pytho
${nice}= ['13', '12', '10', '7', '6', '6', '6', '4', '3', '2', '2', '1', '1', '1', '0', '0']
我需要验证第一个元素是否大于第二个元素,第二个元素是否大于第三个元素,依此类推
问题是,在Robot框架中,关键字“排序列表”并没有以正确的方式对数字列表排序
其中一个决定是在robot框架中调用Python方法“sort”或“sorted”,但可能有更好的方法吗?排序列表关键字将列表排序为字符串,因此它将
11
放在2
之前
如果您必须检查列表是否按数字排序,则可以不进行排序。您应该简单地迭代列表并相互比较相邻的元素。例如:
*** Variables ***
@{LIST_NOK} 13 12 10 7 6 6 6 4 3 2 2 1 1 1 0 0
@{LIST_OK} 999 765 213 78 21 12 2
*** Test Cases ***
Test
Check List ${LIST_OK}
Check List ${LIST_NOK}
*** Keywords ***
Check List
[arguments] ${list}
${length}= Get Length ${list}
FOR ${i} IN RANGE ${length-1}
${first}= Set Variable ${list}[${i}] # element at index i in ${list}
${second}= Set Variable ${list}[${i+1}] # element at index i+1 in ${list}
Run Keyword If ${first} <= ${second} Fail Element ${first} is not greater than ${second}.
END
***变量***
@{LIST_NOK}13 12 10 7 6 6 4 3 2 1 1 0 0
@{LIST_OK}999 765 213 78 21 12 2
***测试用例***
试验
检查列表${List_OK}
检查列表${List_NOK}
***关键词***
检查表
[参数]${list}
${length}=获取长度${list}
对于范围为${length-1}的${i}
${first}=在${list}中的索引i处设置变量${list}[${i}]#元素
${second}=在${list}中的索引i+1处设置变量${list}[${i+1}]#元素
如果${first}排序列表关键字将列表排序为字符串,则运行关键字,例如,它将11
置于2
之前
如果您必须检查列表是否按数字排序,则可以不进行排序。您应该简单地迭代列表并相互比较相邻的元素。例如:
*** Variables ***
@{LIST_NOK} 13 12 10 7 6 6 6 4 3 2 2 1 1 1 0 0
@{LIST_OK} 999 765 213 78 21 12 2
*** Test Cases ***
Test
Check List ${LIST_OK}
Check List ${LIST_NOK}
*** Keywords ***
Check List
[arguments] ${list}
${length}= Get Length ${list}
FOR ${i} IN RANGE ${length-1}
${first}= Set Variable ${list}[${i}] # element at index i in ${list}
${second}= Set Variable ${list}[${i+1}] # element at index i+1 in ${list}
Run Keyword If ${first} <= ${second} Fail Element ${first} is not greater than ${second}.
END
***变量***
@{LIST_NOK}13 12 10 7 6 6 4 3 2 1 1 0 0
@{LIST_OK}999 765 213 78 21 12 2
***测试用例***
试验
检查列表${List_OK}
检查列表${List_NOK}
***关键词***
检查表
[参数]${list}
${length}=获取长度${list}
对于范围为${length-1}的${i}
${first}=在${list}中的索引i处设置变量${list}[${i}]#元素
${second}=在${list}中的索引i+1处设置变量${list}[${i+1}]#元素
运行关键字If${first}您可以使用python的排序
使用求值
关键字以降序获得列表元素,然后使用列表应相等
关键字比较它们
Import Library Collections
@{nice}= Create List 13 12 10 7 6 6 6 4 3 2 2 1 1 1 0 0
${sorted}= Evaluate sorted(${nice}, key=int, reverse=True)
Lists Should Be Equal ${nice} ${sorted}
您可以使用python的sorted
使用Evaluate
关键字以降序获得列表元素,然后使用列表应相等
关键字对它们进行比较
Import Library Collections
@{nice}= Create List 13 12 10 7 6 6 6 4 3 2 2 1 1 1 0 0
${sorted}= Evaluate sorted(${nice}, key=int, reverse=True)
Lists Should Be Equal ${nice} ${sorted}