colsson
7 years agoOccasional Contributor
VBScript Using a function to run an unstable function/sub multiple times
Hello!
Do you use any utility-function to attempt a call of an unstable function/sub multiple times in TestComplete using VBScript?
Here's a proposal:
Function tryTimes(times, unitName, functionName, arguments) fullFunctionName = unitName + "." + functionName lastIndex = UBound(arguments) Dim argumentsAsStrings() Redim argumentsAsStrings(lastIndex) For index = 0 To lastIndex argumentsAsStrings(index) = "arguments(" + CStr(index) + ")" Next argumentsString = Join(argumentsAsStrings, ", ") functionCall = fullFunctionName + "(" + argumentsString + ")" attempts = 0 success = False value = Null errorDescription = Null While attempts < times And Not success Err.Clear Dim functionCallResult On Error Resume Next functionCallResult = Eval(functionCall) If Err.Number = 0 Then success = True value = functionCallResult Else errorDescription = Err.Description Err.Clear End If attempts = attempts + 1 Wend Dim resultDictionary Set resultDictionary = CreateObject("Scripting.Dictionary") resultDictionary.add "errorDescription", errorDescription resultDictionary.add "success", success resultDictionary.add "value", value Set tryTimes = resultDictionary End Function attempts = 10 Set tryResult = tryTimes(attempts, UnitName, UnstableFunctionOrSubName, Array(Param1, Param2, ...))
Kind Regards
Christian Olsson