Web Dynpro For ABAP跟踪测试工具简介
概述
从传统ABAP UI开发(如Dynpro,ABAP List等等)直接转到Web Dynpro For ABAP开发来,我们可能会发现那些传统的跟踪测试工具(如SAT,也许SAAB还是一个简单易用的、合适的工具)并不适用在Web Dynpro For ABAP上。即使你有ITS的开发测试经验,知道如何通过ICF来跟踪测试Web应用,但是如果你把相同的方法用在Web Dynpro For ABAP上,会发现有相当的局限性。
SAP为Web Dynpro For ABAP提供了一组工具,以帮助程序员跟踪测试。 这个系列将有对如何操作这组工具(包括浏览器端的非SAP官方提供的工具)做个简介。
以下所有示例运行在: 服务器端:
SAP EHP 2 for SAP NetWeaver 7.0
SAP_BASIS 702 support package level 0 SAP_ABA 702 support package level 0
客户端:
Windows XP SP2
SAP GUI For Windows 710 Patch level 14 Internet Explorer 7.0.5730.13
第一部分 服务器端跟踪工具
第二部分 浏览器端跟踪工具 第三部分 性能监视器
第一部分 服务器端跟踪工具
在Web应用服务器端,SAP为Web Dynpro For ABAP的跟踪设计了一个运行于.Net framework上的称为Web Dynpro trace tool的工具。这个工具可以收集Web Dynpro应用程序在整个(或者部分)运行时中,数据交互、事件处理、HTTP请求/响应等等信息,可以用于错误分析等。
工具提供了两种跟踪数据浏览方式:
- 离线方式:将跟踪数据生成HTML页面,并打包下载至本地。 - 在线方式:直接在浏览器中浏览实时的数据。
07.2009第 1 页sdn.sap.cn
作者:SAP中国研究院 高亚平
跟踪程序在收集数据时对程序的运行性能有一定的影响,因此开发员可以基于某个特定的用户选择激活或关闭工具。而每次的激活,只有30分钟的有效期。
跟踪程序对数据的收集是针对被跟踪应用程序的任何操作,因此例如隐藏的页面元素或者数据传递都可以被跟踪记录下来。
一、使用方法
1. t-code:WD_TRACE_TOOL
点击Active for This User按钮将为当前用户激活工具,或者点击Active for按钮,为某个用户激活工具。在弹出窗口中,可以选择需要跟踪的项目。
点击Refresh按钮,可以刷新跟踪结果列表。
当跟踪结果列表中已经有跟踪结果时,可以点击Download Trace按钮来打包下载结果。下载后,建议及时用Delete Trace按钮删除跟踪结果。
2. 当你启动一个Web Dynpro应用时,跟踪工具在另一个Session中同时启动。
2.1. 切换回Web Dynpro应用Session,并做正常操作。
2.2. 每次的操作,在跟踪Session中的Current Page计数器会加一,同时可以在注释区来补
充描述。如果想更详尽地描述当前页面的状态,可以附加文件(比如一个屏幕的截图)。
2.3. 可以选取下拉列表中不同的选项,显示当前跟踪到的相关信息。
其中:
07.2009第 2 页sdn.sap.cn
作者:SAP中国研究院 高亚平
DeltaRenderingChangeTracking:描述触发该操作所涉及的Web Dynpro Component名,触发的Event及其View Controller。
User Comment: 显示注释。
WD/Request.txt: HTTP请求包。 WD/Response.txt: HTTP响应包。
3. 点击Finish Trace链接,可以将跟踪结果保存在一个ZIP文件中。
二、操作实例:
1. 在SAP GUI中,用WD_TRACE_TOOL激活跟踪,不要关闭该Session。 2. 运行Web Dynpro Application: wdt_alv
3. 输入: Depart. city = FRANKFURT, Arrival city = BERLIN.
为当前屏幕做截屏,保存为PAGE_2.JPG 4. 切换到跟踪页面
在注释区输入 “启动页 FRANKFURT - BERLIN” 添加PAGE_2.JPG
5. 切换回wdt_alv,点击Search。 6. 切换到跟踪页面
在注释区输入 “查询结果 FRANKFURT - BERLIN” 点击Add按钮,在注释区输入 “PAGE 3附加的注释”
从下拉列表中选择DeltaRenderingChangeTracking,显示Search动作触发的调用。 从下拉列表中选择WD/Request.txt,显示HTTP请求包全文。 从下拉列表中选择WD/Response.txt,显示HTTP响应包全文。
点击”Store trace as ZIP File…&Finish trace”链接,将ZIP文件保存到本地。 7. 回到WD_TRACE_TOOL ,点击刷新按钮,看到一条新的跟踪记录。
第二部分 浏览器端跟踪工具
SAP为Web Dynpro For ABAP除了提供服务器端跟踪工具以外,还建议开发者使用浏览器端跟踪工具。我们可以找到一些公开发布的代理类跟踪工具,如Fiddler,ProxyTrace,PingPlotter,Charles,Firebug等等,但是由于这些都是非SAP官方提供的工具(甚至未得到SAP认证),所以在SAP的各种途径中都找不到相关的资料。 而在某些情况下时(Web Dynpro For ABAP中包含动态的程序逻辑,例如,拼接并跳转到一个URL),则需要通过这类工具调试,跟踪你的应用程序。 在这里我们仅就Fiddler(相对其它免费软件来说,可以说Fiddler的功能惊人地强大!)对Web Dynpro For ABAP应用程序的跟踪做简单的介绍。全面介绍Fiddler的使用方法,请参考Fiddler官方网站。 首先从Fiddler官方网站上下载安装这个小软件。安装以后也占用不超过2M的空间。
07.2009第 3 页sdn.sap.cn
作者:SAP中国研究院 高亚平
启动后,Fiddler就获取了浏览器的代理权(如果浏览器原来使用了某个服务器代理,则Fiddler会使用相同的代理)。SAP的Online Help解释了这个本地HTTP代理机制。
*注意:某些信息会以明码形式被Fiddler捕获(比如用户密码)。 下面的实例中,我们使用SAP提供的标准测试程序WDR_TEST_PERFORMANCE和WDR_TEST_EVENTS。
1. 利用Fiddler的Debugging功能调试HTTP请求。 运行WDR_TEST_PERFORMANCE。
回到Fiddler。在输入框中输入 bps [这个Display Table请求的URL](可以先点击一次,然后从Fiddler的Web Session跟踪窗口中,复制该URL)。
输入参数,如Columns = 7点击Display Table按钮。
网页加载会挂起,回到Fiddler,选中那个挂起的Session,选择WebForms格式,可以找到这个数字7。
07.2009第 4 页sdn.sap.cn
作者:SAP中国研究院 高亚平
将7修改成其它数字,比如3。并点击Run To Completion。
网页恢复加载。而其中的Table只包含3个列。
2. 利用Fiddler的Performance分析功能,测试程序性能。
当你用Fiddler跟踪了一个应用程序,点击Statistics,可以看到该应用程序所有请求及其响应相关的性能数据。 如:
• Bytes Sent • Bytes Received
• Aggregate Session Time • TCP/IP Connect Time • ……
07.2009第 5 页sdn.sap.cn
作者:SAP中国研究院 高亚平
由于该工具无法跟踪HTTP请求以外的其它运行时性能(如ABAP代码,WAS运行性能,等等),我们需要结合SAP专为Web Dynpro For ABAP设计的性能监视器,来综合分析一个Web Dynpro 应用程序的性能(这将在下一个部分介绍)。 3. 利用Fiddler的Autoresponder功能,提高程序测试效率。
对于Web Dynpro For ABAP应用程序(尤其是Portal整合的应用)来说,当我们仅需测试应用的某部分功能,而需要避免其它部分在WAS和网络上的时耗,Autoresponder功能可以非常巧妙地用来提高应用程序测试的效率。
下面的例子运行在SAP提供的标准测试程序WDR_TEST_EVENTS的FileDownload上。
07.2009第 6 页sdn.sap.cn
作者:SAP中国研究院 高亚平
运行WDR_TEST_EVENTS,点击屏幕左侧Standard中的FileDownload链接,切换到FileDownload视图。
点击A File…链接。新窗口中显示。
回到Fiddler。选择AutoResponder页面,选中“Enable automatic response”,将最后一个请求复制到AutoResponder页面,并且选择一个本地文件作为该请求的响应。(具体操作方法请看http://www.fiddler2.com/fiddler/help/video/FiddlerAutoResponder.wmv)
07.2009第 7 页sdn.sap.cn
作者:SAP中国研究院 高亚平
件。
其中的myTestResonse.dat只包含字串“这是保存在本地的响应文本。”。
回到WDR_TEST_EVENTS,再次点击A File…链接。新窗口中显示替换为本地响应文
第三部分 性能监视器
由于Web应用程序的运行时架构与基于SAP GUI的程序不尽相同,利用原有的性能分析工具无法完整分析一个Web应用程序的运行效率。尤其对于Web Dynpro For ABAP应用来说,因其设计、渲染、运行框架非常复杂,对于这种应用程序的性能分析就更困难一些。SAP官方提供了一个称为“性能监视器”的小工具,对Web Dynpro For ABAP应用运行效能提供了概览。当然,如果开发员需要详尽的运行性能细节数据,还需要使用其它基于GUI的工具。此外,我们也可以结合浏览器端的跟踪工具,对Web Dynpro For ABAP应用程序完整的运行时性能(包括服务器端和网络)作进一步分析。
性能监视器提供了以下五类数据:
07.2009第 8 页sdn.sap.cn
作者:SAP中国研究院 高亚平
• 概览(Overview Information) • 性能(Performance) • 内存(Memory) • 渲染(Rendering)
• 系统信息(System Information)
我们通过下面的例子,联合性能监视器与Fiddler的Statistics数据,来解读一个Web Dynpro For ABAP应用的运行性能数据。
操作步骤:
启动Fiddler。
运行WDR_TEST_EVENTS,点击屏幕左侧Standard中的Button链接,切换到
Button视图。
点击右上角那个
Performance视图。
回到Fiddler。清空全部现有的请求(这样,后面的分析数据就一定是来自第一条请
求了)。
回到WDR_TEST_EVENTS,点击按钮
。
按钮,展开性能监视器窗口,点Performance,切换到
此时,性能监视器和Fiddler都已捕获到运行数据,让我们综合起来看: 1. 运行时间分析
07.2009第 9 页sdn.sap.cn
作者:SAP中国研究院 高亚平
描述
End2End
实现按钮动作的完整运行时间
Client
浏览器加载、渲染页面,Script运行时间等
Aggregate Session time 从发出HTTP请求到接到HTTP响应的时间 包括:
TCP/IP 注服务器处理时○Connect time 间 网络传输时耗
包括:
• WAS上运行时间 • DBS上运行时间 • ICM时间 • 网络时间
数据源 标记
公式(关系) 数据(ms)
Web Dynpro For Web Dynpro For ABAP性能监视器 ABAP性能监视器
a b c a = b + c
0 124 500
• WAS上运行时间 • DBS上运行时间 • ICM时间
Fiddler Fiddler 公式估算
d e e = c - d 218 282
注:性能监视器提供的Server Time无法准确表达服务器时耗,但是可以通过公式估算。可以○
通过WAS上的相关工具对Web Dynpro For ABAP应用在WAS,DB和ICM上完整的性能分析,此处略过。
参考性能评判标准:
1) 实际Web Dynpro For ABAP应用运行时应该比监视器获取的时间稍短,因为监视器运行
也有时耗。
2) 如果b值较大,考虑可能是Web Dynpro的界面设计不合理,参考
http://help.sap.com/saphelp_nw70ehp1/helpdata/en/5e/b29046859d48d68af26c16c75d4a/content.htm
07.2009第 10 页sdn.sap.cn
作者:SAP中国研究院 高亚平
3) 如果e值较大,需要结合WAS上其它性能分析工具,如SAT、STAD、ST05、SMICM
等。
4) d值通常应为定值,如异常,需连续网络管理员,一般不考虑应用程序性能问题。
2. 数据传输分析
重复前面的操作步骤。最后获得:
其中:
a. Web Dynpro For ABAP性能监视器监测到的HTTP响应主体数据。 b. Fiddler监测到的HTTP响应全部数据。 c. Fiddler监测到的HTTP响应主体数据。
a与c不同的原因是,Web Dynpro框架的运行时会使用GZIP格式将响应主体数据压缩后传输。回到Fiddler,选择Inspectors页面Æ在响应窗口(右下方部)Æ选择Transformer页面Æ选择No Compression
此时,可以看到响应实体数据实际的大小是约13kB,与性能监视器的数据一致。
07.2009第 11 页sdn.sap.cn
作者:SAP中国研究院 高亚平
可能的化,要避免传送大量数据到浏览器端,因为大数据量代表了服务器端可能负担也较大,以及浏览器端的加载、渲染负荷也较大。 3. 内存消耗分析
性能监视器只能提供当前应用程序动作所消耗内存的大致情况。
如果想获取更多的信息,可以通过以下几个工具:
1) Web Dynpro For ABAP服务器端跟踪工具,选择WDMemConsumption.xml。
07.2009第 12 页sdn.sap.cn
作者:SAP中国研究院 高亚平
2) Business Transaction Analysis(STAD) 3) Performance Analysis(SAT)
参考资料:
http://www.fiddler2.com/
http://help.sap.com/saphelp_nw70ehp1/helpdata/en/48/73ee80347e0e27e10000000a421937/content.htm
http://msdn.microsoft.com/en-us/library/bb250446(VS.85).aspx#ie_introfiddler_topic4
07.2009第 13 页sdn.sap.cn
因篇幅问题不能全部显示,请点此查看更多更全内容
Copyright © 2019- huatuo2.com 版权所有 湘ICP备2023021991号-2
违法及侵权请联系:TEL:199 1889 7713 E-MAIL:2724546146@qq.com
本站由北京市万商天勤律师事务所王兴未律师提供法律服务