51Testing软件测试论坛

 找回密码
 (注-册)加入51Testing

QQ登录

只需一步,快速开始

微信登录,快人一步

手机号码,快捷登录

查看: 849|回复: 2
打印 上一主题 下一主题

有请朴老师进来解答

[复制链接]

该用户从未签到

跳转到指定楼层
1#
发表于 2006-10-19 17:07:39 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
我用HTML-based的Advanced里面选择Script type的第一项(A script describing user actions)录制脚本的时候回放出错,
错误提示:
Action.c(30): Error -27979: Requested form not found          [MsgId: MERR-27979]
Action.c(30): web_submit_form("lx0001") highest severity level was "ERROR", 0 body bytes, 0 header bytes          [MsgId: MMSG-26388]

然后,用HTML-based的Advanced里面选Script type的第二项(A script containing explicit URLs only
) 和 用URL-based录制回放都成功,不知道这两项有没有什么不同,好像都是录下web_url 和web_submit_form ?
(录制的脚本中含有js和gif文件)

请PCL详细解释一下以下三种录制的时候有啥不同,什么情况下该用哪种录制:
1.HTML-based(A script describing user actions)
2.HTML-based(A script containing explicit URLs only)
3.URL-based        
谢谢~~~
分享到:  QQ好友和群QQ好友和群 QQ空间QQ空间 腾讯微博腾讯微博 腾讯朋友腾讯朋友
收藏收藏
回复

使用道具 举报

该用户从未签到

2#
发表于 2006-10-19 22:37:18 | 只看该作者
基于HTML的高级选项设置
在VuGen中,基于HTML的录制标准为默认选项。该标准命令VuGen生成当前网页上下文中的HTML行为。在录制会话中不会录制任何资源,但会在回放时下载这些资源。
VuGen允许你为基于HTML的录制标准设置下列高级选项:
•        指定脚本类型(Script Types)
•        Handling Non HTML-Generated Elements


指定脚本类型
在基于HTML的录制标准中,有两种脚本类型可供选择:
•        描述用户行为类脚本(a script describing user actions)
•        只包含直接的URLs类脚本(a script containing explicit URLs only)
第一个选项“描述用户行为类脚本”为默认选项。使用该类型录制的脚本产生的是与发生的行为直接对应的函数,包括创建URL(web_url)、链接(web_link)、图片(web_image)和表单提交(web_submit_form)这些函数。产生的脚本十分直观并且类似于上下文敏感的录制。
/* HTML-based mode - a script describing user actions*//
...
web_url("Click Here For Additional Restrictions",
"URL=http://www.im.aa.com/American...restrictions.html",
"TargetFrame=",
"Resource=0",
"RecContentType=text/html",
"Referer=http://www.im.aa.com/American?…,
"Snapshot=t4.inf",
"Mode=HTML",
LAST);

web_link("Click Here For Additional Restrictions",
"Text=Click Here For Additional Restrictions",
"Snapshot=t4.inf",
LAST);

web_image("buttonhelp.gif",
"Src=/images/buttonhelp.gif",
"Snapshot=t5.inf",
LAST);

第二个选项是“只包含直接的URLs类脚本”,该类型脚本会把所有链接、图片和URLs为录制为web_url语句,或者如果是表单,则生成web_submit_data函数。该类脚本不会产生web_link、web_image和web_submit_form函数。产生的脚本显得不够直观。这一模式主要用在一个站点有很多链接,并且这些链接的文本很多是相同的时的测试中。在这种情况下如果使用第一个选项来录制脚本,它录制的是链接的序数(第几个),但是如果你使用的第二个选项来录制脚本,则会根据URLs列出每一个链接。这使得在参数化和修正步骤时变得更加容易。
下面的代码片段为使用“只包含直接的URLs类脚本”录制时产生的脚本:
/* A HTML-based script containing explicit URLs only*//

web_url("Click Here For Additional Restrictions",
"URL=http://www.im.aa.com/American...restrictions.html",
"TargetFrame=",
"Resource=0",
"RecContentType=text/html",
"Referer=http://www.im.aa.com/American?…
"Snapshot=t4.inf",
"Mode=HTML",
LAST);

web_url("buttonhelp.gif",
"URL=http://www.im.aa.com/American?BV_EngineID...,
"TargetFrame=aamain",
"Resource=0",
"RecContentType=text/html",
"Referer=http://www.im.aa.com/American?…
"Snapshot=t5.inf",
"Mode=HTML",
LAST);

非HTML元素的处理(Handling Non HTML-Generated Elements)
很多的网页包含了非HTML元素,如applets、XML、ActiveX元素、javascript。这些非HTML元素通常包含了对它们自身资源的获取。例如:录制网页中的一个javascript函数调用中可能加载了几幅图片。某个applet可能加载了外部的文本文件。使用下面的选项可以控制VuGen在录制时如何处理产生的非HTML元素:
•        在当前脚本步骤中进行录制[Record within the current script step](默认)
•        使用并发组以独立的步骤进行录制[Record in separate steps using concurrent groups]
•        不录制
第一个选项“Record within the current script step”不会为每一个产生的非HMTL元素生成新的函数。它把所有的资源作为web_url语句的参数列出。这些资源参数用EXTRARES标志来标识。下面是使用该选项所生成的脚本片段:
web_url("index.asp",
"URL=http://www.daisy.com/index.asp",
"TargetFrame=",
"Resource=0",
"RecContentType=text/html",
"Referer=",
"Snapshot=t2.inf",
"Mode=HTML",
EXTRARES,
"Url=http://www.daisy.com/ScrollApplet.class","Referer=",ENDITEM,
"Url=http://www.daisy.com/board.txt", "Referer=",ENDITEM,
"Url=http://www.daisy.com/nav_login1.gif",ENDITEM,

LAST);
第二个选项“使用并发组以独立的步骤进行录制”为每一个产生的非HTML资源创建一个新的函数——不再把它们作为参数包含在处理该页面的web_url函数里面。所有的为处理这些非HTML资源所生成的web_url函数都放在一个并发组里面(用web_concurrent_start和web_concurrent_end括起来的部分)。
下面的样例即为使用这一选项来录制的。在该例中为applet和文本文件的处理各生成了一个web_url函数:
web_url("index.asp",
"URL=http://www.daisy.com/index.asp",
"Resource=0",
"RecContentType=text/html",
"Referer=",
"Snapshot=t2.inf",
"Mode=HTML",
LAST);

web_concurrent_start(NULL);
web_url("ScrollApplet.class",
"URL=http://www.daisy.com/ScrollApplet.class",
"Resource=1",
"RecContentType=application/octet-stream",
"Referer=",
LAST);

web_url("board.txt",
"URL=http://www.daisy.com/board.txt",
"Resource=1",
"RecContentType=text/plain",
"Referer=",
LAST);
web_concurrent_end(NULL);
第三个选项为“不录制”,使用这一选项时表示VuGen不会录制任何由非HTML元素所产生的资源。
值得注意的是当你在基于HTML模式下工作时,VuGen会在web_url语句中插入TargetFrame属性。VuGen使用这一信息以在浏览器运行和测试结果报告中正确地显示该页面。
web_url("buttonhelp.gif",
"URL=http://www.im.aa.com/American?BV_EngineID=...”,
"TargetFrame=aamain",
"Resource=0",
"RecContentType=text/html",
"Referer=http://www.im.aa.com/American?BV_EngineID=…l",
"Snapshot=t5.inf",
"Mode=HTML",
LAST);
当使用基于URL模式录制脚本时,VuGen会录制页面中所有frames内容,因此不需要TargetFrame属性。
回复 支持 反对

使用道具 举报

该用户从未签到

3#
 楼主| 发表于 2006-10-20 15:22:25 | 只看该作者
谢谢PCL~~~
回复 支持 反对

使用道具 举报

本版积分规则

关闭

站长推荐上一条 /1 下一条

小黑屋|手机版|Archiver|51Testing软件测试网 ( 沪ICP备05003035号 关于我们

GMT+8, 2024-11-9 00:14 , Processed in 0.060732 second(s), 24 queries .

Powered by Discuz! X3.2

© 2001-2024 Comsenz Inc.

快速回复 返回顶部 返回列表