2.高级选项下的Non HTML-generated elements(e.g. JavaScript,VBScript,ActiveX, Applets)选项这个选项是对非标准的HTML元素的处理方式,VuGen有以下3种处理方式:
● Record within the current script step
对于JavaScript等内容直接作为web_url下的附属信息记录。
● Record in separate steps and use concurrent groups
对于相关的内容新建一个web_url来处理。
● Do not record
不录制额外的内容。
在默认情况下选择直接录制在web_url下,如果某些内容录制会导致脚本回放错误,那么可以不录制该内容。
URL-BASE Script:是基于URL请求的脚本录制方式,会录制得到所有的HTTP请求。选择该选项会录制所有的HTTP请求,导致脚本包含大量的 web_url()函数,参考前面HttpWatch获得的HTTP交互过程,VuGen只是将所有的请求抓取出来,并且对每个请求均生成一个 web_url()函数来进行模拟。
思考:
什么时候应该用HTML-BASE Script?什么时候应选择URL-BASE Script?
一般来说如果是标准使用IE访问的B/S架构,应该使用HTML-BASE下的A script containing explicit URLs only方式来录制脚本,这种脚本基于URL请求完成,不会带有任何前后依赖的内容。而如果是一个非IE标准的C/S架构,建议使用URL-BASE Script来录制脚本,这样可以确保不会遗漏任何HTTP请求。
例如:如果使用HTTP进行数据传送,而数据内容是存放在.dat文件中的,那么使用HTML-BASE Script就无法录制到对该.dat文件的操作,而使用URL-BASE Script就可以录制出来。
Network
Port Mapping提供了对于端口映射的处理规则,在默认情况下不需要进行任何设置,VuGen会自动根据协议确定端口名,对该端口进行监控和录制,但是如果使用了非标准的端口进行数据传输偶尔会出现VuGen能发现数据包的收发操作,但是无法正确录制出脚本的情况,这时就需要使用Port Mapping来指挥VuGen识别端口名和协议类型。
下面我们来录制一个电子邮件收发的脚本,选择协议为SMTP+POP3,如图3.19所示。
图3.19 在多协议情况下添加POP3和SMTP两个协议
我们使用MDaemon搭建了一个本地电子邮件服务器,使用邮件的客户端为Becky!。在选择应用窗口中填写Becky!客户端的信息,如图3.20所示。
单击OK按钮开始录制,可以看到在客户端收发电子邮件的时候,Recording中的events一直在变化,如图3.21所示。
图3.20 选择Win32应用添加录制对象为B2.exe
图3.21 Rocording Bar
这说明VuGen可以识别到该协议并且将协议交互截取下来,但是打开脚本,就可能会出现脚本完全没有内容的情况,那么这个时候需要手动帮助VuGen来进行识别协议内容的工作。