Differences

This shows you the differences between two versions of the page.

Link to this comparison view

agent_integration_process [2016/09/22 02:35] (current)
Line 1: Line 1:
 +This page describes the different integration processes for integrating with existing test automation tools and test frameworks to allow you to test any type of applications from TestOptimal.
  
 +The integration processes are categorized as follows based on who you would like to see driving/​initiating the model execution:
 +
 +**Driver Process** allows agent to initiate the model execution remotely while **Agent Process** assumes that the model is already started on TestOptimal server and thus it just needs to attach itself to the executing model. Details are described in the following.
 +
 +**Driver Process**:
 +
 +  - start model execution on server: /​MbtSvr/​app=client&​action=exec&​userid=xxx&​password=yyy&​model=zzz
 +  - wait n seconds for model to start (should make it changeable by user)
 +  - attach to model (obtain agent id): /​MbtSvr/​app=agentsvc&​action=regAgent&​mbtFile=zzz
 +  - loop until return empty string: /​MbtSvr/​app=agentsvc&​action=nextCmd&​agentID=aaa
 +    * first cmd is: launchApplication
 +    * pass execution rseult in result=xyz
 +    * pass execution status in status=pass or fail
 +    * last cmd is: abortAUT
 +  - stop model execution: /​MbtSvr/​app=client&​action=stop
 +  - retrieve execution summary: /​MbtSvr/​app=client&​action=summary
 +  - save the execution stats: /​MbtSvr/​app=client&​action=saveStat&​desc=sometext
 +  - close model: /​MbtSvr/​app=client&​action=close
 +
 +**Agent Process**:
 +
 +  - assume model has been started on TestOptimal server
 +  - attach to model (obtain agent id): /​MbtSvr/​app=agentsvc&​action=regAgent&​mbtFile=zzz
 +  - loop until return empty string: /​MbtSvr/​app=agentsvc&​action=nextCmd&​agentID=aaa
 +    * first cmd is: launchApplication
 +    * pass execution rseult in result=xyz
 +    * pass execution status in status=pass or fail
 +    * last cmd is: abortAUT
 +  - exit agent executable
 +
 +Using the above two processes, you can develop three types of integrations:​
 +
 +  - **Standalone - Interactive mode** (running agent in a remote host):
 +    * Button //Execute Model//
 +      * follow Driver Process
 +    * Button //Attach To Model//
 +      * assume model has been started on TestOptimal server
 +      * follow Agent Process
 +      * this option allows running multiple agents against (attach to) the same model,
 +    * When either button is clicked, both button should be grayed out (inactivated) until the process is completed
 +  - **Standalone - Batch/​Script mode** (running agent in a remote host):
 +    * Execute model, specify server, port, model, user, password
 +      * follow Driver Process
 +      * exit agent executable when agent completes (nextCmd = blank or abortAUT() is received)
 +    * Attach agent to model, specify server, port, model, user, password
 +      * follow Agent Process
 +      * exit agent executable when agent completes (nextCmd = blank or abortAUT() is received)
 +  - **Integrated mode** (start/stop of agent executable is controled by TestOptimal server):
 +    * TestOptimal server executes the model with plugin specifica for the agent
 +    * Plugin uses JNI or Runtime to start agent module/​executable with the following parameters: server, port, modelName
 +    * Agent starts and initializes
 +    * Agent follows Agent Process
 +    * Agent exits upon receiving blank or abortAUT() cmd
 +
 +You may choose one type of integration and implement it at the first and add implementations for other types of integration based on your needs.
Print/export
QR Code
QR Code agent_integration_process (generated for current page)