Как отсортировать список и вернуть значение в Robotframework - PullRequest
0 голосов
/ 31 октября 2018

У меня есть сценарий использования, для которого я должен автоматизировать следующие шаги:

  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 голосов
/ 31 октября 2018

Ключевые слова Sort List и Reverse List изменяют список на месте, например, они изменяют значение целевой переменной.

Они также ничего не возвращают - таким образом, в используемых вами строках вы присвоили значение None переменным, что привело к ошибке.

Вы можете прочитать об этом поведении в документации библиотеки Collections

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...