2014-12-05 3 views
1

Я создал тест с 1 действием, который содержит n действий. Есть ли способ проверить после выполнения каждого действия n действий результат, если он терпит неудачу или пройдет и продолжит соответственно?UFT. Могу ли я получить результат действия во время запуска?

ответ

0

Не напрямую.

Аналогичная идея заключалась бы в том, чтобы запросить текущий статус результата выполнения, см. How can I get the run result status according to the current report node?, но это в настоящее время не разрешено.

Вы можете, однако, называть свои действия, и потреблять там возвращают значение, как это:

ActionSucceeded=RunAction ("myTest [Action2]", oneIteration) 
If not ActionSucceeded then 
    ' The Action2 call signalled "failure" (false) 
End If 

Это означает, что Action2 должен возвращать такой результат, как здесь:

ExitActionIteration (false) 

Опасайтесь, однако, что необходимо указать инструкции RunAction usi ng QTP's IDE (Вставка/Вызов к действию ...), что приводит к вызову RunAction без скобок. Когда вы редактируете это в форме присваивания выше (с помощью скобок), убедитесь, что вы правильно это сделали в первый раз, прежде чем сохранить тест - потому что , если вы сохраните тест, содержащий сломанный вызов RunAction, QTP дезактивирует вызванный тест и тест завершится неудачно во время выполнения, даже если вы отредактируете скрипт для правильного синтаксиса. Это связано с тем, что QTP сохраняет невидимым образом в скрипте, и если вы сохраняете недействительный вызов действия, этот метаинфо отбрасывается. (Вы можете видеть, когда это произойдет, потому что вызов действия исчезнет с точки зрения испытания потока.)

И: Если вам не хранить RunAction результат в переменной, но и использовать его непосредственно, как в

If not RunAction ("myTest [Action2]", oneIteration) then 
    ' The Action2 call signalled "failure" (false) 
End If 

такой же беспорядок возникает: QTP не понимает, что это действительный вызов действия, и он не будет работать, даже если вы отредактируете его обратно в исходную форму.

За исключением подсказки «Остерегайтесь», то же самое верно для LoadAndRunAction, который вызывает действие во время выполнения. LoadAndRunAction можно назвать функцией, и если вызываемые действия возвращают значение через ExitActionIteration, оно возвращает это значение.

Еще один «берегись» намек: ExitActionIteration действительно требует, чтобы его аргументы должны быть заключены в скобки, даже если это Sub (или, по крайней мере, называется как Sub). Я подозреваю, что это связано с тем, что он не является реальным Sub или Function, но специальным заявлением, «заделанным» в двигателе MS VBScript каким-то экзотическим способом.

+0

О, я использую QTP, но я думаю, что это то же самое в UFT. – TheBlastOne

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

  • Нет связанных вопросов^_^