OpenSTA 脚本和测试运行
HTTP/S 的通信是 Web 会话期间生成的关键信息。对它进行捕获,使你能够记录各种浏览器类型在不同平台的的活动。脚本可以被编写,然后在测试中被引用。录制和编写脚本后,你可以 重放脚本从而重现原始的浏览器命令。HTTP/S 请求并发异步运行,建立起和原始的 Web 对话一样多的 TCP 连接,连接数目可以因为你选择运行测试的虚拟用户数量而成倍增加。与其它仿真技术相比,开发和执行基于 SCL 的测试消耗更少的资源。这使 OpenSTA 可以支持虚拟用户数量较大的测试。
OpenSTA Repository
Repository 是 OpenSTA 在硬盘驱动器或网络计算机上的一个存储区域。其中保存了所有测试定义文件,包括脚本和性能指标收集器。另外,测试运行期间产生的所有结果文件也都存储在这 里。Repository 的内容和结构可以通过 commander 的 Repository 窗口来查看。它位于主窗口的左侧,能够显示存储的所有脚本、性能指标收集器和测试。你可以从 Repository 窗口开始创建新的脚本或者打开现有脚本。
OpenSTA 脚本开发
脚本包含了测试的内容,需要进行提前的录制。通过 OpentSTA Commander来启动脚本建模器,进行脚本的录制和编辑并把它添加到你的测试中。在你开始录制脚本前,应该先选择配置。对于不同的计算机网络配置,OpenSTA 提供了几种选择。你可以选择用来录制脚本的浏览器类型以及连接方式。
脚本的录制
打开 Commander 选择 File->New Script->HTTP。 在 Repository 窗口中,右键单击 Scripts文件夹,并选择 New Script->HTTP。脚本将出现在 Repository 窗口,脚本的图标上会出现一个红色小叉,表明该文件没有任何内容。只要你打开的脚本,录制一个 Web 会话,脚本图标的小叉就会消失。
右键单击新脚本的图标,选择 Rename,输入一个符合 OpenSTA Dataname 的唯一名称,最多 60 个字符。
双击新脚本的图标, 启动脚本建模器。
在捕获 / 回放工具栏点击录制按钮,或者选择 Capture->Record,来开始脚本 录制。这个动作会启动你所选择的 Gateway 和 Web 浏览器。当录制开始,浏览器的主页 Internet 选项会被脚本建模器重写,浏览器的主页将变成一个空白的 HTML 页面。这样以确保你的正常主页不会被启动并记录在脚本中。注意:如果没有手动选择远程录制模式,Gateway 会默认启动本地录制。
键入一个 URL,回车,或从浏览器的 URL 地址栏打开一个网址。然后正常的使用浏览器,执行一些你想记录到脚本上的动作。当您正在录制一个 Web 会话时,使用 Capture/Replay工具栏的添加注释按钮来添加注释,同样您也可以选择 Capture->Insert Comments。它们可以在进行单步执行时向你提供帮助。但是添加评论的时间不会被记录在脚本中。
当你完成所需要的浏览器动作后,在 Capture/Replay工具栏单击停止按钮或者直接关闭浏览器以切换回脚本建模器。当你完成脚本的录制,脚本窗格中会显示 SCL 格式的数据。
保存新脚本之前,需要使用语法检查选项来对它进行编译,以确保录制结果的有效性。选择 Capture->Syntax Check或在 Capture/Replay工具栏中单击编译按钮。编译结果会显示到输出窗格中。如果编译失败,则要通过重新录制脚本或者编辑脚本的内容来解决。
编译成功后,选择 Capture->Replay或者点击 Capture/Replay工具栏的回放按钮来回放脚本以检查已录制的结果。
录制完成后,在标准工具栏中点击保存按钮或者单击 File->Save将脚本保存在 Repository 中。
选择 File->Close以关闭当前脚本或者 File->Exit以退出脚本建模器。 如有未保存的脚本,在程序关闭之前会有自动提示对它们进行保存。关闭脚本建模器的同时也会关闭关联的浏览器并恢复原有的浏览器设置。
脚本的编辑
编辑脚本,使你能够制定切合实际的测试,提高测试的质量。脚本编辑器中有多种编辑选项,可以帮助你制定切合实际的性能测试。
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" |