2014-10-14 7 views
-1

Я хотел бы повторить аналогичные команды с заменой нескольких переменных в платформе Robot. Могли бы, пожалуйста, предложить мне, как это сделать?Looping in Robot framework

Вот пример кода:

variable1 = ['abc'] 
varaible2 = ['123','456'] 

| | Run Keyword And Continue On Failure | testing | ${variable1} | ${variable2} | ${GetVal} | ${Check} | 

variable3 = ['xyz'] 
varaible2 = ['678','789'] 

| | Run Keyword And Continue On Failure | testing | ${variable3} | ${variable4} | ${GetVal} | ${Check} | 
+0

может 'variable1' иметь несколько позиций? Вы хотите одновременно перебирать «переменную1» и «переменную2»? –

ответ

2

рамки Robot обеспечивает «для» петли со специальным ключевым словом :FOR (см For Loops в руководстве пользователя)

| | :FOR | ${v2} | IN | @{variable2} 
| | | Run keyword and continue on failure 
| | | ... | testing | ${variable1} | ${v2} | ${GetVal} | ${Check} 

Обратите внимание, что тело цикл имеет дополнительный уровень отступов.

Если вы хотите делать вложенные циклы, вам нужно создать отдельное ключевое слово для вложенного цикла. Очень быстро становится проще написать одно ключевое слово python, которое выполняет все циклические и логические операции, поскольку робот действительно не предназначен для использования в качестве языка программирования общего назначения.

0

здесь пример, который петли для данного номера

: FOR ${INDEX} IN RANGE  200  
     \ Log To Console    ${INDEX} 
0

Другие ответы очень полезны для объяснения того, как написать простой цикл FOR в Robot Framework, поэтому это добавляет ясности для вашей информации.

Прежде всего, код, чтобы сделать, как вы спрашиваете, как следует, предполагая различные неизвестные переменные уже определены в другом месте:

*** Test Cases *** 
Do Your Test 
    :FOR ${INDEX} IN RANGE ${INCLUSIVE_STARTING_INDEX1}  ${EXCLUSIVE_ENDING_INDEX1} 
    \ Run Keyword and Continue On Failure  testing ${variable1} ${variable2} ${GetVal} ${Check} 
    :FOR ${INDEX} IN RANGE ${INCLUSIVE_STARTING_INDEX2}  ${EXCLUSIVE_ENDING_INDEX2} 
    \ Run Keyword and Continue On Failure  testing ${variable3} ${variable4} ${GetVal} ${Check} 

Во-вторых, мне нужно уточнить, что для Петель в Robot Framework являются НЕ Ключевые слова. Они представляют собой отдельные сущности на самом базовом уровне языка. Я узнал об этом, потратив часы на разработку кода, пытаясь понять, как можно было бы закодировать цикл Nestable For. Чтобы спасти вас от попыток попробовать, это не без кодирования вашего собственного настраиваемого ключевого слова в Python.

Кроме того, я должен указать, что я беру на себя смелость предположить, что вы сделали несколько опечаток в своем вопросе и что ваше персонализированное ключевое слово «тестирование», которое вы написали где-то еще, принимает объект списка в качестве его второй входной переменной , Если это неверно, дайте мне знать, и я дам вам более точный ответ.