В настоящее время я использую Robot Framework для автоматизации тестов для формы. Для подачи данных формы я использую словари, подобные этим:
*** Variables ***
&{TestCase1} key1=a key2=b key3=c key4=d
&{TestCase2} key2=x key3=y
Что я пытаюсь сделать, это обусловить заполнение определенных полей, если в словаре для этого теста есть соответствующий ключ, чтобы необязательные поля можно оставить пустыми. Я попытался запустить следующее ключевое слово:
*** Keywords ***
Fill Form
[Arguments] &{TestCase}
Run Keyword If &{TestCase}[key1] Input Text id=field1 &{TestCase}[key1]
Run Keyword If &{TestCase}[key2] Input Text id=field2 &{TestCase}[key2]
Run Keyword If &{TestCase}[key3] Input Text id=field3 &{TestCase}[key3]
Run Keyword If &{TestCase}[key4] Input Text id=field4 &{TestCase}[key4]
... но безрезультатно. Я получаю эту ошибку:
FAIL: Dictionary &{TestCase} has no key 'key1'.
... что в некоторой степени имеет смысл, потому что это не так, но в этом суть. Я ожидал, что это заставит условие оценить False и заставить RF пропустить ключевое слово.
Может кто-нибудь объяснить, почему это не работает таким образом, и если есть другой способ сделать это? Любая помощь с благодарностью!