2017-03-10 1 views
0

comment écrire le code si vouloir valider si la fonction que j'ai appelée a été exécutée complètement?UFT - comment vérifier si la fonction a été exécutée sans erreur

par ex.

Call Func_Import() 

'-insert code to verify that Func_Import() was ran completely- 

Call Func_OpenAUT() 

'-verify that Func_OpenAUT() was ran completely- 

Call Func_Login() 

'-verify that Func_Login() was ran completely- 

merci à l'avance, P

Répondre

0

Votre question trop abstraite pour fournir une answer.However exacte, D'après ma compréhension, voici les solutions possibles, je pouvais penser

Approche 1

Public Function Func_Import() 
    Dim blnReturnValue : blnReturnValue = True 
    If blnReturnValue = True Then blnReturnValue = Do Some Actions 
    If blnReturnValue = True Then blnReturnValue = Do Some More Actions 
    Func_Import = blnReturnValue 
End Function 

Si la valeur de retour est vrai, il a été exécuté toutes les étapes d'autre som e où cassé.

Approche 2

procédé UFT inbuild - GetLastError() Déclaration.

Look Here

0

Ceci est un problème classique UFT, comment détectez-vous l'échec, et de bien répondre à votre question, nous devons comprendre les deux ci-dessous scénarios

1) Si vous savez quoi faire en cas d'échecs ou si votre objectif est de redémarrer l'exécution de l'itération de test/test en cours, vous pouvez utiliser le scénario de récupération et le configurer pour appeler une fonction de la bibliothèque de fonctions pour chaque erreur. appelé et alors vous pouvez faire ce que vous voulez.

Maintenant, cela ne fonctionne que si vous suivez le framework fourni par l'UFT pour l'exécution, et vous vous concentrez uniquement sur les erreurs, pas sur les échecs de flux d'exécution. 2) Si vous avez créé vos propres frameworks alors l'option 1 pourrait ne pas vous aider, car vos tests seront contrôlés par des feuilles d'entrée et votre framework doit passer au cas de test suivant pendant les exécutions. Donc ce que j'ai fait pour résoudre ce problème, c'est que j'ai créé une fonction de tunnel, tous les autres appels de fonction sont faits par cette fonction, donc dans votre cas OpenAUT et Login seront les appels de fonction dans cette fonction de tunnel. Donc, s'il y a une erreur dans l'une de ces fonctions, alors le contrôle entrera dans la condition If (à cause de la prochaine erreur).

La seule chose que vous devez vous assurer est OpenAut() et LoginApp() ne devrait pas avoir Suite à une erreur de reprise, cela devrait résoudre votre problème.Maintenant, cela permettra de s'assurer qu'il n'y a pas d'erreurs au cours des exécutions, mais il pourrait encore y avoir des échecs dans les fonctions, comme si vous cliquez sur connexion et l'ID utilisateur et le mot de passe est faux, la connexion échouera et pour cela vous devez mettre en œuvre une valeur de retour de la fonction, donc la prochaine chose que je vais faire est de retourner vrai ou faux de la fonction de prendre d'autres décisions nécessaires pendant les exécutions

donc votre fonction openAUT devrait ressembler à

public function OPenUAT() 

    ''Open App 
    if APP.Exist then 
     OPenUAT = true 
    else 
     OPenUAT = false 
    End If 

End Function 

et votre callAppropriatefunction deviendra

Public Function CallAppropriateFunctions() 

    On Error Resume Next 
    Dim Results 
    Select Case expression 
     Case "OPENUAT" 
      Results = OpenAut() 
     Case "LoginAPP" 
      Results = LoginApp() 
    End Select 

    If Err.Number <> 0 Then 
     ''Control will come here on error 
    End If 

    If Results = false then 
     '' Your function executed successfully but application produced a different '''''''result 
    End If 

End Function 

Vous pouvez lire l'article ci-dessous pour comprendre l'option 2

https://sumeetkushwah.com/2014/08/12/implementing-try-catch-functionality-in-qtpuft/