RobotFramework получение каждого отдельного числа из большого числа

#python #list #loops #iteration #robotframework

#python #Список #петли #итерация #каркас робота

Вопрос:

Я работаю над тестовым примером в robotframework. Я хочу запустить так называемый «11 proef» на большом количестве. Число может варьироваться от 8 до 9 цифр. «11 proef» выглядит следующим образом: число: 005897896 ((9 * 0) (8 * 0) (7 * 5) (6 * 8) (5 * 9) (4 * 7) (3 * 8) (2 * 9)) — 6

Итак, чтобы запустить этот код, мне нужно разделить большое число на отдельные числа. Есть ли способ в Robot Framework?

Это то, что у меня есть до сих пор:

 split number
    Create List    @{split-number}
    [arguments]    ${number}
    ${length_number}=    Get Length    ${number}
    FOR    ${letter}    IN RANGE    1    ${length_number 1}
        ${number}=    Fetch From Left    ${number}    ""
        log    ${number}
        Append to list    ${split-number}    ${number}
    END
    return @{split-number}
 

Комментарии:

1. И это работает? Если нет, то какой результат вы получаете?

2. К сожалению, нет. Он просто выводит целое число

Ответ №1:

Вы всегда можете перейти на Python, где такие операции могут быть проще выполнять.

 def split_number(n: str):    
    i = len(n)
    result = 0
    for l in n:
        if i > 1:
            result  = (i * int(l))
        else:
            result -= int(l)
        i -= 1
    return result
 

Это приводит 192 к числу 005897896 из вашего вопроса.

Вы можете создать пользовательскую библиотеку и импортировать ее в RF. Как это сделать, обсуждалось здесь несколько раз, и это подробно объясняется в официальном руководстве пользователя, поэтому я оставлю вас на этом.

Комментарии:

1. Спасибо за помощь! По какой-то причине я не мог заставить пользовательскую библиотеку работать. Но также не нашел ссылку на руководство пользователя. Спасибо, я посмотрю на это

2. Что вы имеете в виду? Я включил ссылку на руководство пользователя в свой ответ, все, что вам нужно сделать, это нажать на нее, прочитать и сделать так, как они говорят.

3. Да, я имел в виду, прежде чем отправить его. Но сейчас все сработало. Спасибо, что помогли мне!