脚本的编辑
编辑脚本,使你能够制定切合实际的测试,提高测试的质量。脚本编辑器中有多种编辑选项,可以帮助你制定切合实际的性能测试。
SCL 是一种简单的脚本语言,让你能够控制所创建的脚本。对脚本进行编辑以准确地模拟 Web 活动,并控制目标 WAEs 在测试运行时处于指定的负载水平。在对脚本进行编辑前,首先要对脚本的结构和 SCL 语言有所了解。脚本被分为三个部分,你可以通过以下 SCL 关键字来定位:Environment,Definitions和 Code。
环境段
环境段是脚本的第一部分。以关键字 Environment 作为起始。前面是 Gateway 记录的当前的浏览器和创建日期。这部分用于定义脚本的全局属性,包括:Description,Mode和 Wait。
清单 1. 环境段代码示例
!Browser:IE5
!Date : 3/31/2012
Environment
Description ""
Mode HTTP
Wait UNIT MILLISECONDS
定义段
定义段以关键字 Definitions作为起始。它包含脚本中使用的所有定义,包括变量和常量的定义,以及定时器和文件定义的声明。
清单 2. 定义段代码示例
Definitions
! Standard Defines
Include "RESPONSE_CODES.INC"
Include "GLOBAL_VARIABLES.INC"
CHARACTER*512 USER_AGENT
Integer USE_PAGE_TIMERS
CHARACTER*256 MESSAGE
Timer T_TESTSCRIPT
CONSTANT DEFAULT_HEADERS = "Host: www.baidu.com" &
"Accept-Encoding: gzip. deflate"&
"User-Agent: Mozilla/4.0 (compatible; MSIE 8.0; Windows NT 5.2; Trident/4.0; "&
".NET CLR 1.1.4322; .NET CLR 2.0.50727; .NET CLR 3.0.4506.2152; "&
".NET CLR 3.5.30729; InfoPath.2; .NET4.0C; .NET4.0E)"
CONSTANT S_cookie_1_0 = "BAIDUID=3E588F42E284D6C6D84921872F590936:FG=1"
RESPONSE_CODES.INC 是一个 include 文件,其中包含 HTTP / S 的响应代码对应的常量的定义。
GLOBAL_VARIABLES.INC 用于保存测试运行过程中虚拟用户共享的全局和脚本范围的变量定义。
代码段
代码段以关键字 Code作为起始,由 SCL 命令组成,用来代替已录制的 Web 活动的命令,并定义脚本的行为。
清单 3. 代码段代码示例
PRIMARY GET URI "http://www.baidu.com/ HTTP/1.1" ON 1 &
HEADER DEFAULT_HEADERS &
,WITH {"Accept: image/gif, image/jpeg, image/pjpeg, image/pjpeg," &
"application/x-ms-application, application/x-ms-xbap, " &
"application/vnd.ms-xpsdocument, application/xaml+xml, "&
"application/vnd.ms-excel, application/vnd.ms-powerpoint, " &
"application/msword, */*", &
"Accept-Language: en-US,nb-NO;q=0.7,zh-CN;q=0.3", &
"Connection: Keep-Alive", &
"Cookie: "+S_cookie_1_0}
DISCONNECT FROM 1
上面的这段代码 , 是代码段中一次 Web 请求的 SCL 命令。其中指定了请求的地址和一些相关参数。