|
在使用rational进行功能测试时,大家首先碰到的一个问题就是无法生成脚本。下面介绍脚本的生成及注意事项。
不能正确生成脚本的主要原因是由于选择了不正确的协议造成的,在录制VU脚本之前一定要弄清楚测试系统所使用的通讯协议,然后在robot中正确设置协议。
(一) 设置
1、打开robot,Tools>Session Record Options >Method
录制方法:
API:Robot录制客户机和服务器之间的socket API调用;
NETWORK:Robot使用计算机以太网卡的“混乱”模式录制LAN上的TCP/IP通讯,需要安装rational专用网卡驱动程序(在初次使用时会有提示,根据提示安装即可),在非windows客户端或rarional和客户端不在同一台机器上时使用;
PROXY:和NETWORK方法类似,可以扑获在NETWORK模式录制时不可见的包;
协议选择:
generator filtering > selected protocol 中是robot录制时使用的协议,左边是robot支持的网络协议,在selected protocol设置正确的协议并删除其他不用的协议,这对是否成功生成脚本至关重要。
(二) 录制示例
以下VU脚本是,是使用SOCKET协议的C/S架构的程序录制的。
设置:Method:API
selected protocol:Sokect
/*
->-> Session File Information <-<-
Created: Fri Jul 18 14:28:01 2003
Name: F:\ttt\TestDatastore\DefaultTestScriptDatastore\TMS_Sessions\123.wch
Type: Rational Robot - API
(with Winsock1 Data)
*/
#include <VU.h>
{
push Timeout_scale = 200; /* Set timeouts to 200% of maximum response time */
push Think_def = "LR";
Min_tmout = 120000; /* Set minimum Timeout_val to 2 minutes */
push Timeout_val = Min_tmout;
SERVER = sock_connect("123001", "SERVER:2000");
{ INFO SERVER "SERVER"="192.168.1.12"; } /*1*/
set Server_connection = SERVER;
push Think_avg = 0;
sock_send
"`45645651300000000001cc00f701000002000000c3330100000000000000000001000000"
"00000000000sdgsdfgfhjghjjdfhjhkjgfhjgfjjk000000000000hh0000000000000000000000"
"000000000000000000000000000000000000000000000100`g2222`0012313546545465431"
"`45641313000000000000000000000000000000000000`";
sock_nrecv ["123002"] 200;
sock_send
"`1321321656548745215599154654456546122132112313210000000000000001000000"
"00000000021321215665654548879654654655562000000000000000000000000000000"
"00000000000000000000000000000000000000000000012131132321213212111323213"
"`123110000000`Z2";
sock_recv ["123003"] "$"; /* 50 bytes */
sock_disconnect(SERVER);
pop [Think_def, Think_avg, Timeout_val, Timeout_scale];
}
以上脚本录制产生,自己录制时数据会和示例中的不一样。 |
|