Использование Evaluate
Как именно это сделать в вашей системе, зависит от того, как организованы ваши файлы и как вы настроили робота, но вкратце, Evaluate из библиотеки BuiltInключевое слово, которое позволяет запускать произвольные методы из импортируемых модулей.
Пример:
Для этого примера я создал файл с именем EnvVar.py в текущем рабочем каталоге.Он имеет следующее содержимое:
import random, string
def getRandomEmails():
a = ''.join(random.choice(string.ascii_lowercase + string.digits) for i in range(16))
email = a + '@' + 'gmail.com'
return email
Затем я создал файл с именем "example.robot", который выглядит следующим образом:
*** Test cases ***
Example
${result}= evaluate EnvVar.getRandomEmails() modules=EnvVar
log result: ${result}
Поскольку текущий рабочий каталог не по умолчаниюна моем PYTHONPATH (ваши настройки могут отличаться), я должен сказать роботу включить текущий каталог на PYTHONPATH.Я могу сделать это с помощью опции --pythonpath
.
$ robot --pythonpath . example.robot
Создание библиотеки ключевых слов
Другим решением является создание собственной библиотеки ключевых слов, которая предоставляет эту функцию в качестве ключевого слова.
Например, предполагая, что вы можете импортировать EnvVar, вы можете написать библиотеку с именем «Util» (Util.py), которая создает ключевое слово, которое вызывает эту функцию:
# Util.py
import EnvVar
def get_random_emails():
return EnvVar.getRandomEmails()
Затем вы будете использовать это втест, как и любая другая библиотека ключевых слов:
*** Settings ***
Library Util.py
*** Test Cases ***
Example
${result}= Get Random Emails
log result: ${result}