#robotframework
#robotframework
Вопрос:
У меня есть ключевое слово, которое генерирует несколько случайных данных, используя ключевое слово Generate Random String, и в настоящее время я создаю переменные для хранения этих сгенерированных случайных строк.
То, как я это делаю, выглядит следующим образом
Generate Random Form Data
${variable1} Generate Random String 8 [Letters]
${variable2} Generate Random String 8 [Letters]
${variable3} Generate Random String 8 [Letters]
Есть ли какой-либо способ сгенерировать эти строки внутри словаря, например, так?
Generate Random Form Data
${variable} Create Dictionary
Set To Dictionary ${variable} first_name Generate Random String 8 [Letters]
Попытка сделать, как в приведенном выше примере, генерирует словарь с двумя ключами: firstname и 8, когда все, что я хотел, это создать словарь с одним ключом со случайной строкой.
Ответ №1:
Короче говоря — нет, не могу сделать это так; Set To Dictionary
принимает все, что вы передаете, и устанавливает его непосредственно в качестве значения.
Это то же самое для (почти) всех ключевых слов в Robot Framework — вы не можете указать в качестве аргумента другое ключевое слово, возвращаемое значение которого будет использоваться в качестве аргумента вызывающего.
В этом случае, однако, это легко решаемо, выполнив столько итераций генерации случайных значений и добавив их в словарь — например, используя цикл for:
${variable}= Create Dictionary
FOR ${i} IN RANGE 10 # how many random string you need
${value} Generate Random String 8
Set To Dictionary ${variable} first_name_${i} ${value}
END
Вы можете поместить ее в ключевое слово и передать необходимое количество пар ключ: значение.