2015-05-04 2 views
4

Я пытаюсь выполнить несколько ключевых слов, если условие оценивается как true.Robot Framework - выполнение нескольких ключевых слов после запуска ключевого слова, если

Я пытался сделать что-то вроде этого

*** Test Cases *** 
| Example 

*** Keywords *** 
| Example 
| | ${title}= Get Title 
| | Run Keyword If  | '${title}' == 'Some Title' 
| | ... Click Element | xpath=some element 
| | ... Element Text Should Be | xpath=some element | some text 
| | ... Else 
| | ... Click Element | xpath=other element 

Я получаю ошибку при запуске этого является то, что Click элемент ожидает 1 аргумент, но получает 4.

Я знаю, что я могу установить, если заявление в разделе «Тестирование», и если он будет оценен true, он будет запускать ключевое слово со всеми вещами, которые я хочу, но мне интересно, есть ли способ сделать это из раздела «Ключевые слова».

Спасибо.

ответ

6

Вы можете сделать несколько вещей. Первый заключается в создании нового ключевого слова, которое вызывает все другие ключевые слова, а затем вызывает это от Run keyword if. Это может быть наиболее читаемым решением, но за счет необходимости писать и документировать другое ключевое слово.

Другой вариант заключается в использовании комбинации Run keyword if и Run keywords, например, так:

| | Run Keyword if | '${title}' == 'Some Title' 
| | ... | Run Keywords 
| | ... | Click Element | xpath=some element 
| | ... | AND | Element Text Should Be | xpath=some element | some text 
| | ... | ELSE 
| | ... | Click Element | xpath=other element 
+0

Ницца! Спасибо. – PurpleBeni

1

Run ключевых слов не принимает ключевые слова с аргументами, так что вы не можете использовать this.Option, чтобы создать ключевое слово для всех приведенных ниже утверждений Запустите ключевые слова и вызовите их. https://robotframework.googlecode.com/svn/trunk/doc/libraries/BuiltIn.html#Run - Ключевые слова должны использоваться, если выполняемые ключевые слова должны принимать аргументы.

Смежные вопросы