Remote Agent - VBA

This is an example remote agent in VBA to communicate with TestOptimal server. The agent will be driven by TestOptimal server to execute the test sequence remotely on your application under test (AUT).

Below is an example of a VBA agent. This demo is included in the download package. Find the excel file named “TOAgent.xls” in folder “script”. To run this demo, just open the “TOAgent.xls” and press “Alt-F8” to run the macro “RunTOAgent”.

You should see remote commands received from the server in a popup dialog window. When the execution completes, it will display the model execution summary in a popup dialog window.

If you want to run this demo within your own Excel document, MS Access or others, create the following scripts and include TOAgent.vba to the project:

  Declare Sub Sleep Lib "kernel32" (ByVal dwMilliseconds As Long)
  Sub RunTOAgent()
    Dim agent As TOAgent
    Dim agentID As String
    Dim curCmd As String
    Dim showNextCmd As String
    'create agent object
    Set agent = New TOAgent
    'TestOptimal server host localhost, port# 8888, modelName Demo_RemoteAgent
    agent.init "localhost", 8888, "Demo_RemoteAgent"
    'start model execution on TestOptimal server. Params are user id and password.
    agent.execModel "", ""
    'wait 2 seconds to make sure the model execution is started.
    Sleep 2000
    'obtains the agent id from TestOptimal server
    agentID = agent.getAgentID()
    showNextCmd = vbYes
    exitLoop = False
    'loops until no more remote commands received from the server.
    Do Until exitLoop
       'obtains the next remote command from the server
       curCmd = agent.getNextCmd()
       'exit loop on any error or empty remote command
       If (agent.getStatus = "E" Or curCmd = "") Then
         exitLoop = True
       Else
         ' add your logic to execute mbtCmd received from TestOptimal server
         '    "C" for completion, "X" for failure, "E" for fatal error (cause MBT to exit)
         If showNextCmd = vbYes Then
           showNextCmd = MsgBox("Received remote cmd: " & curCmd & ". Do you wish to display next command? Answer No to run to the end without pause.", vbQuestion + vbYesNo, "Command from " & model)
         End If
         agent.setStatus "C", "successfully executed " & curCmd
       End If
    Loop
    'stop the model execution
    agent.stopExec
    'wait for 2 second for the model exeution to stop
    Sleep 2000
    'save the model execution results to be reviewed later with TestOptimal Browser.
    agent.saveStat "exec from VBA agent"
    MsgBox "Execution summary is: " & agent.getExecSummary
    agent.closeModel
  End Sub

It ueses “Microsoft WinHttp Services” package which can be enabled with “Tools” / “References” in Microsoft Excel.

Since Release 3.0

Print/export
QR Code
QR Code remoteagentvba (generated for current page)