LoadRunner测试GWT

来源:互联网 发布:香港阿里云 ss 教程 编辑:程序博客网 时间:2024/06/06 09:47

GWT(Google Web Toolkit) 是 Google 推出的 Ajax 应用开发包,GWT 支持开发者使用Java 语言开发 Ajax 应用。

  LoadRunner中的AJAX 函数支持的框架包括:

  • Atlas 1.0.10920.0/ASP.NET AJAX - 所有控件
  • Scriptaculous 1.8 - 自动完成、重新排序列表和滑块

  VuGen 支持引擎级别的以下框架。这表示 VuGen 将创建标准的 Web (Click and Script) 步骤,而不是创建 AJAX 特定函数:

  • Prototype 1.6
  • Google Web Toolkit (GWT) 1.4

  其中包括了GWT。下载了一个gwt-windows-1.4.61,解压后可以在里面的samples目录找到一些GWT的AJAX应用的例子,测试了一下其中的DynaTable。

  启动其中的DynaTable-shell.cmd批处理文件,会出来一个GWT附带的浏览器,并自动导航到:http://localhost:8888/com.google.gwt.sample.dynatable.DynaTable/DynaTable.html

  使用LoadRunner的AJAX(Click and Script)协议来录制,把录制的URL设置为使用分配的IP或127.0.0.1,而不是localhost:

  http://192.168.1.100:8888/com.google.gwt.sample.dynatable.DynaTable/DynaTable.html

  否则录制下来的脚本中web_browser函数会出现不正常的情况:

web_browser("Please enter the initial URL here",
DESCRIPTION,
ACTION,
"Navigate=Please enter the initial URL here",
LAST);

  改成分配的IP地址后录制下来的脚本如下所示:

Action()
{
web_browser("DynaTable.html",
DESCRIPTION,
ACTION,
"Navigate=http://192.168.1.100:8888/com.google.gwt.sample.dynatable.DynaTable/DynaTable.html",
LAST);
lr_think_time(6);
web_button("BUTTON",
"Snapshot=t1.inf",
DESCRIPTION,
"Type=button",
"Tag=BUTTON",
"ID=",
"Value=>",
ACTION,
"UserAction=Click",
LAST);
web_element("Saturday",
"Snapshot=t2.inf",
DESCRIPTION,
"Text=Saturday",
"Tag=LABEL",
ACTION,
"UserAction=Click",
LAST);
web_button("BUTTON_2",
"Snapshot=t3.inf",
DESCRIPTION,
"Type=button",
"Tag=BUTTON",
"ID=",
"Value=All",
ACTION,
"UserAction=Click",
LAST);
return 0;
}

  其中,第一个web_button函数对应录制的是按表格下一页按钮的动作,这个动作会动态发送HTTP请求后台数据,第二个web_button 函数对应的是点击ALL按钮的动作,web_element函数对应的是点击选择框的动作,按理应该录制成web_check_box函数,但是这个动作不会产生HTTP请求(第二个web_button也一样),因此将其去掉也可以。

如果想看到第一个web_button点击后服务器返回的数据,可以用web_reg_save_param函数来获取并保存到参数,然后用lr_output_message输出参数值:

Action()
{
web_browser("DynaTable.html",
DESCRIPTION,
ACTION,
"Navigate=http://192.168.1.100:8888/com.google.gwt.sample.dynatable.DynaTable/DynaTable.html",
LAST);
lr_think_time(6);
web_reg_save_param("NextData",
"LB=",
"RB=",
"Search=Body",
"ORD=1",
LAST);
web_button("BUTTON",
"Snapshot=t1.inf",
DESCRIPTION,
"Type=button",
"Tag=BUTTON",
"ID=",
"Value=>",
ACTION,
"UserAction=Click",
LAST);
lr_output_message(lr_eval_string("{NextData}"));
web_element("Saturday",
"Snapshot=t2.inf",
DESCRIPTION,
"Text=Saturday",
"Tag=LABEL",
ACTION,
"UserAction=Click",
LAST);
web_button("BUTTON_2",
"Snapshot=t3.inf",
DESCRIPTION,
"Type=button",
"Tag=BUTTON",
"ID=",
"Value=All",
ACTION,
"UserAction=Click",
LAST);
return 0;
}

原创粉丝点击