• 软件测试技术
  • 软件测试博客
  • 软件测试视频
  • 开源软件测试技术
  • 软件测试论坛
  • 软件测试沙龙
  • 软件测试资料下载
  • 软件测试杂志
  • 软件测试人才招聘
    暂时没有公告

字号: 小 中 大 | 推荐给好友 上一篇 | 下一篇

开发人员如何调试ASP页中的脚本对象 (3)

发布: 2007-6-30 18:56 | 作者: admin | 来源: | 查看: 12次 | 进入软件测试论坛讨论

领测软件测试网 跟踪事件
当一个ASP页使用脚本对象模型时,单独脚本对象触发事件对状态改变(如Recordset1_ondatasetcomplete)或用户行为(如Button1_onclick)进行反应。通常,你需要知道你自己的脚本及由脚本对象模型触发的事件在什么时候执行。

为此,通过把@trace 或 @trace事件选项设置为true来打开事件跟踪。如果你使事件跟踪有效,当事件发生时,事件信息就被写到ASP页中。例如,ASP页的一部分可能像下面这个样子:

EVENT TRACE: thisPage fired oninit event.
EVENT TRACE: Recordset1 fired ombeforeopen event.
EVENT TRACE: Recordset1 fired onrowenter event.
EVENT TRACE: Recordset1 fired ondatasetchanged event.
EVENT TRACE: Recordset1 fired ondatasetcomplete event.
(etc)

为了确定你的脚本什么时候执行,在重要点包含Response.Write语句,如下面脚本所示。这个例子为一个recordset设置了一个参数,这个recordset是建立在一个文本框中的信息的基础之上的。每个步骤都通过在页面上显示来报告。

Sub btnQuery_onclick()
   Recordset1.close()
   Response.Write("Finished closing recordset.")
   Recordset1.setParameter 1, txtLastName.value
   Response.Write("Finished resetting query parameter.")
   Recordset1.open()
   Response.Write("Finished reopening recordset.")
End Sub

通过使用Jscript条件编译命令,你可以指定Response.Write语句只有在你设置调试选项的情况下才出现在页面中。例如,在下面的代码块中,Response.Write语句只有在@trace选项设置为true时才被执行:

@if (@trace)
   Response.Write("Ready to set SQL statement parameters.");
@end

你不一定只限于使用调试选项--你也可以创建你自己的条件标记,如下面例子所示:

@set @trace_custom = true
‘’ ... other script here
@if (@trace_custom)
   Response.Write("Ready to set SQL statement parameters.");
@end

注意 在把你的页面变成产品之前,一定要把所有的调试条件设置为false。 有关条件编译的更多信息,见微软脚本网站语句部分的@if 和 @set命令。网站地址是 http://msdn.microsoft.com/scripting/default.htm? /scripting/JScript/doc/Jstoc.htm.

跟踪警告
为了使脚本对象尽可能健壮,并且使显示在ASP页上的不必要信息最少,脚本对象通常不报告非致命错误。例如,如果你向脚本对象方法传递了一个无效值,并且这个值并没有使对象完全失败,这个对象常常是继续执行而没有错误消息。但是,当你开发应用程序时,你一般会想知道脚本对象是否已经发生了一个可能的错误。有时,不被报告的错误以后在页面执行期间可能会产生不同的问题,使调试页面更加困难。

解决办法是,通过将@trace 或 @trace警告选项设置为true来跟踪警告。如果一个脚本对象遇到了一个可能的问题,那么它将按如下的格式向页面书写信息:

WARNING TRACE:

FILE: recordset.asp
FUNCTION: Recordset1.open()
DESCRIPTION: Recordset is already open.

文章来源于领测软件测试网 https://www.ltesting.net/


关于领测软件测试网 | 领测软件测试网合作伙伴 | 广告服务 | 投稿指南 | 联系我们 | 网站地图 | 友情链接
版权所有(C) 2003-2010 TestAge(领测软件测试网)|领测国际科技(北京)有限公司|软件测试工程师培训网 All Rights Reserved
北京市海淀区中关村南大街9号北京理工科技大厦1402室 京ICP备10010545号-5
技术支持和业务联系:[email protected] 电话:010-51297073

软件测试 | 领测国际 | ISTQB | ISTQB官网 | TMMi | TMMi认证 | 国际软件测试工程师认证 | 领测软件测试网