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:
- Click on New Script.
- Select Single Protocol Script and in All Protocols category choose Terminal Emulation (RTE).
- Click on Create for creating script and then click on Start Recording.
- PowerTerm Emulator will show up.
- Click on Communication menu and then click on Connect.
- In Connect window choose Terminal type: 3270 Display
- It will automatically set the default settings like Session Type, Terminal ID, and Port Number according to your Terminal Type value.
- You can change them according to your need.
- Enter Host Name, which is given in Test Plan.
- Click on Connect, it will connect to the server then follow the business flow given in test plan.
- When you are done with your business flow then stop recording.
- 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);
/* 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);
}