Friday, August 26, 2011

RTE protocol script recording in VuGen LoadRunner

Terminal Emulation (RTE):

Emulation of users who submit input to, and receive output from, character-based applications. VuGen LoadRunner has its own internal terminal emulator using which it connects to the application.

RTE Vuser:

  • RTE Vuser operates terminal emulator in order to load test client/server base applications.
  • Terminal emulator session is a collection of a real user’s actions.
  • RTE Vuser types character input into a terminal emulator, submits the data to a server, and then waits for the server to respond.
  • LoadRunner uses PowerTerm as a terminal emulator for emulating RTE session.
  • PowerTerm works like a standard terminal emulator, supporting common protocols such as IBM 3270 & 5250, VT100 and VT220.
  • VuGen records the terminal setup and connection procedure into the script.

Procedure:

  1. Click on New Script.
  2. Select Single Protocol Script and in All Protocols category choose Terminal Emulation (RTE). 
  3. Click on Create for creating script and then click on Start Recording.
  4. PowerTerm Emulator will show up.
  5. Click on Communication menu and then click on Connect.
  6. In Connect window choose Terminal type: 3270 Display
  7. It will automatically set the default settings like Session Type, Terminal ID, and Port Number according to your Terminal Type value.
  8. You can change them according to your need.
  9. Enter Host Name, which is given in Test Plan.
  10. Click on Connect, it will connect to the server then follow the business flow given in test plan.
  11. When you are done with your business flow then stop recording.
  12. Now you can enhance your recorded script with transactions and synchronization functions.

Challenge 1: Finding blank row on Terminal screen to add user inputs

char text[100];

/* suppose top rows are reserved for function description and user can input data from 6<sup>th</sup> row onwards and total rows are 22 */

int row=6;

int flag=TRUE;

//Finding the blank row to add user inputs

while (flag){

//If it’s End of page then start from next page

if (row==22) {

TE_type("");

TE_wait_sync();

row=6;

}

TE_get_text_line(5,row,1, text);

if (strcmp(text,"_")==0){

flag=FALSE;

break;

}

row++;

}

TE_set_cursor_pos(2,row);


Challenge 2: Handling transaction status using Text Check on terminal screen

 lr_start_transaction("T01_Modify_AccountDetails");


TE_type("{p_Amount}");

TE_wait_sync();

iReturn=TE_find_text ("RECORD(S) PROCESSED SUCCESSFULLY.", 1,22,40,22, &col, &row, match);

lr_output_message("value:%d", iReturn);

if (iReturn==0){

lr_end_transaction("T01_Modify_AccountDetails ",LR_PASS);

}else{

lr_end_transaction("T01_Modify_AccountDetails ",LR_FAIL);

}

 

4 comments: