如何在Robotframework中对列表进行排序并返回值

时间:2018-10-31 06:25:29

标签: robotframework

我有一个用例,必须自动执行以下步骤:

  1. 创建一个空列表
  2. 将数据放入空白列表
  3. 将原始订单保留/保存在变量中
  4. 对原始订单进行排序
  5. 保存排序列表
  6. 反向排序列表并返回值

    *** Settings ***
    Library  SeleniumLibrary
    Library  Collections
    
    *** Keywords ***
    Sort order verification
        @{username_list}=   Create List                        //creates an empty list
        @{get_name}=   Get WebElements     css=#userTable > tbody > tr> td:nth-child(1)
        :FOR    ${each}     IN      @{get_name}
        \  ${get_username}=  Get Text    ${each}
        \  Append To List  ${username_list}  ${get_username}   //pushes data into list in iteration
        ${original_order}=  Copy list  ${username_list}        //returns original order
        ${sorted_list}=  Sort List  ${original_order}          //sorts the list but returns none(nothing is saved in the variable
        ${reverse_sorted_list}=  Reverse List  ${sorted_list}  //returns AttributeError: 'NoneType' object has no attribute 'reverse'
    

1 个答案:

答案 0 :(得分:2)

Sort ListReverse List关键字就地修改列表,例如它们更改目标变量的值。

它们也不返回任何内容-因此,在您使用它们的行上,您已将值None分配给变量,从而导致错误。

您可以在Collections library documentation

中了解有关此行为的信息