#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. Да, я имел в виду, прежде чем отправить его. Но сейчас все сработало. Спасибо, что помогли мне!