首页 | 互联网 | IT动态 | IT培训 | Cisco | Windows | Linux | Java | .Net | Oracle | 软件测试 | C/C++ | 嵌入式开发 | 存储世界 | 服务器
网络设备 | IDC | 安全 | 求职招聘 | 数字网校 | 网页设计 | 平面设计 | 技术专题 | 电子书下载 | 教学视频 | 源码下载 | 搜索 | 博客 | 论坛
中国IT实验室软件测试频道
Google
首页 资讯动态 测试技术 测试工具 行业软件测试 测试管理 测试下载 经验分享 软件质量 其他技术 RSS订阅 博客 论坛
您现在的位置: 中国IT实验室 >> 软件测试 >> 测试工具 >> Robot >> 正文

用Rational Robot测试有数据关联的Web应用

  上面介绍的所有这些函数都定义在文件“routines.s”中(见资源)。若要使用它们,请在Robot中创建一个新的空脚本然后将routines.s的内容粘贴进去。在其他脚本中,只要在文件头中添加下面这一行就可以使用上面介绍的函数了:
 

#include “newscript.s”

        请将“newscript”替换为实际的文件名。

        客户端数据构造的模拟

        一个具备完整功能的VU脚本应该具备模仿浏览器所有相关行为的能力。举个简单的例子,仔细阅读列表1中的脚本片断会发现,把“Content-Length”这个头参数的值静态地设置为55是不恰当的,原因是实际的内容长度取决于可能出现的使用关联的动态值或者数据池的FORM参数值。因此,更好的做法是模仿浏览器在运行时计算实际的内容长度,而不是使用录制脚本时记录的静态值。列表7给出了改进后的脚本。

列表7. 改进后的脚本
{
string formData;
formData = "username=admin&password=admin&login-form-type="
      + http_url_encode(SgenRes_005[0]) + ""; 
}
http_request ["t3079"] 
   "POST /pkmslogin.form HTTP/1.1\r\n"
"Accept: image/gif, image/x-xbitmap, 
image/jpeg, image/pjpeg, applicat" "ion/vnd.ms-excel,
application/vnd.ms-powerpoint, application/msword, ap" "plication/x-shockwave-flash, */*\r\n" "Referer: " + SgenURI_009 + "\r\n" /* "Referer:
http://gclgtod.cn.ibm.com/wps/myportal?lang=en_US" */ "Accept-Language: en-us,zh-cn;q=0.5\r\n" "Content-Type: application/x-www-form-urlencoded\r\n" "Accept-Encoding: gzip, deflate\r\n" "User-Agent: Mozilla/4.0 (compatible; MSIE 6.0;
Windows NT 5.1)\r\n" "Host: gclgtod.cn.ibm.com\r\n" "Content-Length: " + itoa(strlen(formData)) + "\r\n" "Connection: Keep-Alive\r\n" "Cache-Control: no-cache\r\n"
"Cookie: w3sauid=d002000000001363710753854620000923482.0009B551AB;
PBC_N LSP" "=en_US; msp=alreadyOffered;
JSESSIONID=0000fRBw1aq9nolhnP9ZMKhaw2B:- 1; " "PD-H-SESSION-ID=
4_oxjUZgfvY4ToFOhh9cFnnAg54o4sndHOA6rRkqpxbT2NAAAA\r" "\n" "\r\n" "" + formData + "";

  当HTML页面中包含JavaScript代码或者嵌入式组件例如Java Applet和ActiveX控件时,客户端的模拟就变得更为重要,因为它们常会被用来根据某一逻辑响应用户的操作在客户端动态地生成一些数据的值。客户端模拟的最直接有效的方法就是用VU语言实现由网页中的JavaScript或者嵌入式组件所实现的数据构造过程。但在这之前,通常需要先抽取构造所需的输入,上一节中介绍的函数会有助于此。举个例子,列表8中的HTML页面片断使用JavaScript来根据一个员工的名字动态地生成一个编码后的URL,列表9中的VU脚本片断模拟了这一URL的构造过程。

列表8. 包含JavaScript代码的HTML片断样例

Jack Lee

Rose Smith
列表9. 模拟JavaScript的VU脚本片断样例
…
#include "routines.s"
…
{
 string employeeName;
 employeeName = getStringByBoundaries(_response, 
"javascript:gotoPage('", "'"); employeeName += ".htm"; employeeName = http_url_encode(employeeName); } …

        总结

        Web应用中的连续页面存在数据关联是很普遍的现象。使用Rational Robot通过或多或少的人工干预可以正确地处理这些关联从而产生更完善的VU脚本。本文在分析了常见形式的数据关联的基础上介绍了其相应的处理方法。 

上一页  [1] [2] [3] [4] [5] [6] [7] 

【责编:michael】

中国IT教育

相关产品和培训
文章评论
 专题推荐

 ·建立可全面监控Squid代理服务器
 ·华为认证题库、模拟器下载专题
 ·嵌入式操作系统Linux资料下载(A)
 ·JAVA的应用编程接口——JAVA API详解…
 ·Linux Shell学习技术专题[上]…
 ·windows Server 2008专区…
 ·WEB开发ASP.NET和PHP、JSP究竟学哪个
 ·五步带你入门XML
 ·零距离接触OCP_Oracle认证体系全攻略
 ·揭秘:网络工程师职业发展路线图
 最近更新
 博客论点
 频道精选
 软件测试频道导航