Differences

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

Link to this comparison view

Both sides previous revision Previous revision
agent_integration_process [2020/05/10 16:30]
admin removed
— (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.