作者:Confach 发表于2006-04-28 21:50
版权信息:可以任意转载, 转载时请务必以超链接形式标明文章原始出处 和作者信息.

13



测试应用程序

使用调试工具

测试应用程序

通过在BlackBerry设备模拟器或在一个已连接的BlackBerry设备上运行应用程序来测试它们。

  1.       BlackBerry IDEDebug菜单中,点击Go.

  2.       将应用程序部署到设备。为获得更多信息,参看166页的使用BlackBerry桌面软件部署应用程序

  3.       在模拟器或一个BlackBerry使用应用程序。

  4.       BlackBerry IDEDebug菜单中,点击Break Now

  5.       进行下列任何操作:

操作

过程

重新运行应用程序

Debug菜单,单击Continue

完成调试

Debug菜单,单击Stop Debugging

使用设备模拟器测试应用程序

BlackBerry IDE中,当运行应用程序时,设备模拟器会自动启动。

在访问BES,模拟器设计为模拟一个在BlackBerry设备上运行应用程序的各个方面,包括email状况,浏览器状况,HTTP/TCP连接,以及push功能.

在没有访问BES的情况下,你需要使用BlackBerry MDS模拟器来模拟浏览器状况,第三方应用程序的http/tcp连接,以及push功能.为获得更多信息,参看176页的测试HTTP网络连接”.

你需要一个BlackBerry邮件服务器模拟器(邮件模拟器)来发送和接收BlackBerry设备模拟器以及一个计算机邮件应用程序之间的消息.为获得更多信息,参看173页的使用邮件服务器模拟器”.

动作

鼠标过程

键盘过程

滚动滑轮

滚动鼠标的滑轮.

在键盘上按UP ARROWDOWN ARROW

点击滑轮

点击鼠标的滑轮按钮.

回车键.

运行一个应用程序

选择适合的图标,点击鼠标滑轮按钮.

回车键.

按键

-

按键盘上的键.

分配Escape按钮给滑轮

1.在设备模拟器中的Edit菜单,点击Map Cursor Key To Escape.

2.完成下面的一个操作:

  • 为分配Left给滑轮,要么选择Right
  • 为分配Right给滑轮,要么选择Left.

 

 

测试BES APIIT策略

BlackBerry 应用程序开发者指南 第一卷:基础--第13章 测试和调试:设备模拟器需要的版本为4.0以及更高的BES.

设备模拟器可以连接到BES上的一个帐户.如果你可以访问一个BES,可以把一个模拟的BlackBerry设备连接到BES.使用选项来模拟BES API以及应用的IT策略.这个选项需要有BES管理员的知识,并且它为测试应用了网络依赖.你不需要一个BlackBerry MDS模拟器或一个邮件服务器模拟器.你可以模拟BES 扩展API的使用,应用的IT策略,邮件和浏览器消息,HTTP/TCP连接以及push功能.

   1.     启动设备模拟器.

   2.       在主屏幕上,单击”Turn Wireless Off”.

   3.       在微软窗口的任务栏,点击开始>程序>BlackBerry>Desktop Manager.

   4.      在模拟器菜单,完成下面任一操作:

动作

过程

模拟USB连接.

点击Simulate>USBConnected

模拟序列端口连接

点击Simulate>Serial Connected

  5.     单击Yes.

  6.      完成执导操作生成一个新的加密键.

  7.       在初始的插件中:Verifying Application对话框,点击Cancel.

当和计算机的初始同步完成时,企业激活就启动了.

使用邮件服务器模拟器(ESS)

ESS允许你发送和接收设备模拟器和任意一个计算机邮件程序,例如Microsoft Outlook Express或者邮件服务器如POP3SMTP,之间的消息.使用ESS代替连接一个设备模拟器到BES来进行测试单机上的本地应用程序..

  1.    在任务栏,单击开始>程序>Research In Motion>BlackBerry JDE 4.1.0>ESS.

  2.    完成下面任一操作:

  • Standalone mode(单机模式):存储消息到本地文件系统,和一个计算机邮件程序直接通信.你不需要一个POP3SMTP服务器.
  • 打开计算机邮件程序,
  • 设置POP3服务器到本地的110端口号.
  • 设置SMTP服务器到本地的25端口号.
  • Connected mode.邮件模拟器为接收消息poll用户POP3邮件服务器,并且使用SMTP服务器发送消息.邮件模拟器需要有效的POP3SMTP服务器.

   3.   为了从本地文件系统移除邮件模拟器,单击Clean FS

  • Outgoing域,输入你的帐户使用的SMTP服务器的主机名。
  • Incoming域,输入你的帐户使用的POP3服务器的主机名。
  • User name域,输入用户名连接到你的帐户。
  • Password域,输入密码连接你的消息帐户。
  • Poll inbox域,指定邮件模拟器检查收件箱新消息的频率(以秒为单位)。
  • Name域,输入一个名字,它显示在设备模拟器发出的消息中。
  • Email域,输入消息帐户地址,它显示在BlackBerry设备模拟器发出的消息中。
  • PIN域,输入设备模拟器使用的PINPersonal Identification Number,个人验证码)(缺省值为0x2100000A)。

  4         点击Launch

    如果你在ESS窗口中改变了参数值,一个对话框将提示你保存修改。

  5          检查命令行窗口中的启动信息,它也包含了任何错误日志。

当邮件模拟器启动时,使用模拟器里的消息列表来发送和接收带有一个帐户的消息。

BlackBerry 应用程序开发者指南 第一卷:基础--第13章 测试和调试:如果你从命令行启动设备模拟器,指定/rport=0x4d4e参数和ESS通讯。

在模拟器中使用同步来测试一个应用程序

          1.  退出BlackBerry桌面软件。

2.    在你的计算机的COM1COM2之间连接一个空的modem线。

3.    BlackBerry IDEEdit菜单,单击Preferences

4.    在首选项窗口,挡架Basic标签。

5.  选择Set Serial port for device(s)选项,输入1

6.    单击OK

7.    BlackBerry IDE中,编译和允许应用程序。

8.    在模拟器启动后,启动BlackBerry桌面软件。

9.    BlackBerry桌面管理窗口的Options菜单里,单击Connection Settings

10. 点击Detect检测模拟器。

BlackBerry 应用程序开发者指南 第一卷:基础--第13章 测试和调试:如果BlackBerry桌面软件没有检测到模拟器,重启计算机。重复步骤710

使用一个已连接的BlackBerry设备测试应用程序

当你将一个BlackBerry设备连接到一台计算机时,在BlackBerry设备上运行应用程序,并且利用BlackBerry IDE调试工具来完成测试以及优化。

BlackBerry 应用程序开发者指南 第一卷:基础--第13章 测试和调试:为了将BlackBerry IDE附加到一个序列化端口连接的BlackBerry设备,需要安装Java通信API v2.0,http://java.sun.com/products/javacomm/可得到它。当BlackBerry设备连接到USB端口时此API则不需要。

安装.debug文件

为了使用BlackBerry设备调试应用程序,BlackBerry IDE中的.debug文件必须和BlackBerry设备的版本号相匹配。

1.    BlackBerry开发区 http://blackBerry.com/developersBlackBerry设备软件版本号下载.debug文件。

2.    BlackBerry IDEEdit菜单,单击Preferences

3.    单击Debug标签。

4.    单击Other标签。

5.    Handheld debug file location域,输入下载的.debug文件的路径。

加载一个应用程序进行测试

BlackBerry 应用程序开发者指南 第一卷:基础--第13章 测试和调试:在加载一个应用程序进行测试之前,请备份你的BlackBerry设备应用程序信息.

JavaLoader.exe工具允许你使用命令行增加或更新BlackBerry设备上的应用程序.仅当以开发和测试目的时使用本工具.对于产品应用程序,使用BlackBerry桌面软件.

BlackBerry 应用程序开发者指南 第一卷:基础--第13章 测试和调试:你必须按照依赖关系的正确顺序加载应用程序. 如果项目A依赖项目B,在加载项目A之前先加载项目B.

1. 退出桌面软件.

2. BlackBerry设备连接到计算机.

3. 在命令行里,找到BlackBerry JDE安装目录下的Bin文件夹.

4. 输入下面的命令:

JavaLoader [-usb] [-p<port> [-b<bps>] [-w<password>] load <files>

选项

描述

port

BlackBerry设备连接的COM端口(缺省为1).如果BlackBerry使用USB端口连接,BlackBerry设备的PIN(-usb选项必须指定).

bps

到序列端口的位速率(缺省为115200).

password

BlackBerry的设备密码,如果你设置了一个的话.

files

加载到BlackBerry设备中的一个或多个.cod文件名,它们分别以空格分开.

BlackBerry删除应用程序

在命令行,输入下面的命令行:

JavaLoader [-usb] [-p<port>] [-b<bps>] [-w<password>] erase [-f] <files>

在这里,-f选项删除应用程序,甚至此应用程序正在使用.

BlackBerry IDE调试器和BlackBerry设备相连

1. 为了将BlackBerry IDE调试器与使用USB端口连接的BlackBerry设备连接,启动BBDevMgr.exe.BlackBerry桌面软件3.5.1以及后续版本安装BBdevMgr.exe工具.

C:\program files\Common Files\Research In Motion\USB Drivers.

   1.        完成下面任一操作:

操作

过程

BlackBerry IDE调试器连接一个使用序列端口的BlackBerry设备

单击Attach to>Handheld>COM n,在这里n是你的BlackBerry设备连接的序列端口.

BlackBerry IDE调试器连接一个使用USB端口的BlackBerry设备

单击Attach to>Handheld>USB(PIN),在这里PIN是已连接的BlackBerry设备的PIN..

  • 对于一个连接到序列端口的BlackBerry设备, 单击Attach to>Handheld>COM n,在这里n是你的BlackBerry设备连接的序列端口.
  • 对于一个连接到USB端口的BlackBerry设备, 单击Attach to>Handheld>USB(PIN),在这里PIN是已连接的BlackBerry设备的PIN.

测试HTTP网络连接

为了测试一个需要HTTP网络连接的应用程序,使用BlackBerry MDS模拟器,它是一个BlackBerry JDE的组件.

> 在任务栏里,单击开始>程序>Research In Motion>BlackBerry JDE 4.1.0>MDS.

BlackBerry 应用程序开发者指南 第一卷:基础--第13章 测试和调试:当设备模拟器启动时,为了启动MDS服务模拟器,BlackBerry IDEEidt菜单,单击Preferences.点击Simulator标签,选择Launch Mobile Data Service(MDS) with simulator选项.

使用一个WAP网关

你可以使用服务商提供的一个WAP网关来配置HTTP连接.BlackBerry设备支持WAP 1.1.

BlackBerry 应用程序开发者指南 第一卷:基础--第13章 测试和调试WAP服务仅在你所选的无线网络可以得到.在你开始开发之前,联系你的服务商获得更多关于WAP网关的信息.

>为了使用WAP建立一个HTTP连接,Connector.open()URL后的末尾包含WAPGatewayIP以及WAPGetwayAPN参数.

Connector.open("http://host;WAPGatewayIP=127.0.0.1; WAPGatewayAPN=rim.net.gprs");

使用分号(;)分隔WAP参数,验证WAP参数没有空格.

参数

描述

缺省

WapGatewayIP

网关的IP地址

-

WapGatewayAPN

APN(仅为GPRS),为了测试,使用net.rim.gprs

-

WapGatewayPort

网关端口值

9201

WAP_GETWAY_PORT_DEFAULT

 

 

WapSourceIP

IP地址

127.0.0.1

WAP_SOURCE_IP _DEFAULT

 

 

WapSourcePort

源端口值

8205

WAP_SOURCE_PORT_DEFAULT

 

 

TunnelAuthUserName

APN对话或PAPCHAP验证的用户名.

TunnelAuthPassword

APN对话或PAPCHAP验证的密码.

WapEnableWTLS

打开或关闭WTLS(如果你没有指定这个参数,那么到端口8203的连接将使用WTLS).BlackBerry设备支持WTLS级别1(仅加密,没有认证)和级别2(加密和服务器验证).

BlackBerry 应用程序开发者指南 第一卷:基础--第13章 测试和调试:在BlackBerry设备模拟器中,当你测试一个需要APN连接的应用程序,增加命令行选项/rport=<wap_source_port>,一般为/rport=8205.模拟器的APNnet.rim.gprs.

增加模拟器命令行选项

BlackBerry IDEEdit菜单里,单击Preferences.

单击Simulator标签.

点击Advanced标签

Simulator Command Line域里,增加命令行选项.

配置BlackBerry MDS模拟器

1.       在文本编辑器中,打开rimpublic.property文件(MDS\Config文件夹下).

2.       编辑参数,配置下列特性:

  • 参看178页的日志级别参数获得更多信息.
  • 参看178页的”HTTP支持参数获得更多信息.
  • 参看178页的”HTTPS支持参数获得更多信息.
  • 参看179页的”Push支持参数获得更多信息.
  • 参看179页的”Internet消息的地址-PIN映射获得更多信息.

  3.       重起BlackBerry MDS模拟器.

BlackBerry 应用程序开发者指南 第一卷:基础--第13章 测试和调试:在产品环境中,BES系统管理员通过使用BlackBerry管理器来配置MDS服务参数.联系你的管理员获得更多信息.

日志级别参数

参数

描述

缺省

Logging.level

如果启用日志,这个参数指定记录写到日志中的信息类型.

l         1:仅写入事件信息,例如MDS服务的启动和停止.

l       2:写事件和错误

l        3:写事件,错误和警告.

l        4:写事件,错误,警告以及调试信息.

4

Logging.console.log.level

如果启用日志,这个参数指定在控制台输出的信息类型.参看Logging.level参数的描述.

4

HTTP支持参数

参数

描述

缺省

application.handler.http.

logging

此参数打开(TRUE)或关闭(FALSE)HTTP标准日志(HTTP)

TRUE

application.handler.http.

logging.verbose

此参数打开(TRUE)或关闭(FALSE)HTTP调试日志(HTTP数据和头).当需要调试一个特殊的问题时,此参数设置为TRUE.

FALSE

application.handler.http.

cookieSupport

此参数打开(TRUE)或关闭(FALSEcookie的存储。如果选择TRUEBlackBerry MDS服务代替BlackBerry设备来管理cookie存储。这明显减少了BlackBerry上的加载。

TRUE

application.handler.http

.AuthenticationSupport

此参数打开(TRUE)或关闭(FLASE)用户验证信息的存储。

TRUE

application.handler.http. AuthenticationTimeout

如果HTTP验证设为TRUE,在验证信息无效之前此参数决定时间的长短。无论何时,当用户发布一个为某一域调用验证信息的时候,这个计时器都会重置。

3600000

application.handler.http. device.connection.timeout

在一个连接试图访问BlackBerry设备时,如果BlackBerry不可用,此参数设定过期时间的长短(以毫秒计)

140000

application.handler.http. server.connection.timeout

在一个连接试图访问服务器时,如果服务器不可用,此参数设定过期时间的长短(以毫秒计)

150000

HTTP支持参数

参数

描述

缺省

application.handler.https.logging

此参数打开(TRUE)或关闭(FALSE)测试目的的HTTPS日志

TRUE

application.handler.https. allowUntrustedServer

此参数允许MDS服务连接到一个不信任的服务器(TRUE),或者仅受限访问一个可信任的服务器(FALSE),如果服务器的证书安装在MDS服务主机上,那么服务器是信任的。参看190页的“使用keytool安装一个证书”获得更多信息。

FALSE

PUSH支持参数

不要改变这些参数。

参数

描述

缺省

WebServer.listen.host

此参数定义了MDS服务监听发送HTTP POST请求的PUSH应用程序所在的计算机。

localhost

WebServer.listen.port

此参数定义了MDS服务监听发送HTTP POST请求的PUSH应用程序所在的端口。

8080

 

Internet消息的地址-PIN映射

在一个产品环境里,BES自动将用户的internet消息地址映射到BlackBerry设备的PIN上。在BlackBerry JDE,你可以模拟internet消息地址和PIN之间的映射。

BlackBerry 应用程序开发者指南 第一卷:基础--第13章 测试和调试:如果你正在测试一个push应用程序,你仅需要配置internet消息地址到PIN之间的映射。为获得更多信息,参看137页的“创建一个client/server push应用程序。

rimpublic.property文件里,在你的BlackBerry JDE安装目录下的MDS/config子目录下,增加或修改【simulator】部分的入口。入口使用下面的格式:

Simulator. <PIN>=<host> :< port>, <messaging_address>

例如:

Simulator.2100000a=<local machine IP>:81, user2100000a@blackberry.com

改变internet消息地址,以致你可以测试使用实际的internet消息地址的应用程序。发送push的数据到一明确的BlackBerry设备模拟器。

模拟器缺省的PIN2100000a

为了改变模拟器PIN,设置/rsim选项。在BlackBerry IDEEdit菜单,单击Preferences。单击Simulator标签,然后单击Advanced标签。在Simuator Command Line域里,修改为/rsim-0x2100000A.

端口必须和IPPP.push.listen.tcp.port参数里的值相匹配。缺省是81

使用调试工具

BlackBerry 应用程序开发者指南 第一卷:基础--第13章 测试和调试:本部分提供BlackBerry IDE中一些可用调试工具的概括。参看BlackBerry IDE在线帮助获得更多关于使用BlackBerrry IDE的详情。

分析代码覆盖

为了显示已经运行代码的概括,使用覆盖工具。当你设计和运行测试案例时,一个概括是有用的,因为你可以看到什么已经精确的测试了。

1.  设置2个或多个断点。

2.blackBerry IDEView菜单中,点击Coverage

3.  为将信息重置为0,在覆盖(coverage)区域,点击Clear

4.  运行你的程序到下一个断点。

5.  为了显示你单击Clear后运行的代码的覆盖率,在覆盖区域,单击Refresh

使用profiler

使用BlackBerry IDE profiler工具优化你的代码。Profiler工具显示了每个代码区所花费的时间百分比,一直到当前运行点。

BlackBerry 应用程序开发者指南 第一卷:基础--第13章 测试和调试:当你运行profiler时,为了改善结果的可信度,退出其他的Microsoft windows应用程序。

运行profiler

1.  在代码段的开始,按F9设置一个断点。

2.  在代码段的末尾,按F9设置一个断点。

3.Debug菜单里,单击Go

4.  在模拟器里使用应用程序运行合适的代码,直到它达到断点。

5.  View菜单,单击Profile

6.  profile区域,单击Options

7.  选择方法属性的类型,一个有序的方法,以及信息的类型给Profile。为获得更多信息,参看181页的“设置profle选项

8.  单击OK

9.  为删除profiler数据,并且重设运行时时间,在profile区域,单击Clear

10. Debug菜单,单击Go

11.  在模拟器里使用应用程序运行合适的代码,直到它达到断点。

12.  如果profile区域不可见,在View菜单里单击Profile

13.  为了获得所有精确的profile数据,在profile区域里,单击Refresh

14.   单击Saveprofile区的内容保存到. 以逗号分割的csv文件中。

Profile视图

描述

Summary

Summary视图显示关于系统和垃圾回收的普通统计。它显示了Java VM空闲时间,运行代码,以及完成快速和完全垃圾回收的时间的比例。Percent列显示了总的VM运行时间,包括空闲和回收时间的比例。

Methods

Methods视图显示了一列模块,他们要么根据你正在profile的信息排序,要么根据每项运行的次数排序,

Source

Source视图显示了单个方法的源代码行。它允许你通过调用的或被调用的方法来找到那个方法。单击BackForward按钮来跟踪你在Source视图里访问过的方法的历史记录。

在这个视图里,ercent列显示了总的VM运行时间,不包括空闲和回收时间的比例。

 

设置Profile选项

1.  单击Options标签

   1         Method attribution下拉列表中,选择下列任一选项

  • 为了计算执行方法和它调用的方法里字节代码所花费的时间,选择Cumulative
  • 为了只计算执行方法里字节代码所花费的时间,选择In Method only。当调用另外的方法时,计时器停止。

2        Sort method by下拉列表中,选择Count根据项运行的次数将Profile视图里的方法进行排序,或者选择其他选项根据profile的数据将方法排序。

3        What to profile下列列表中,选择profile的数据类型。

查找内存泄漏

使用内存统计和对象来查找和修正内存泄漏.

使用内存统计工具

内存统计工具显示了对象数以及对象处理,RAM,以及闪存用到的字节数的统计.

1        View菜单,单击Memory statistics.

2         在你的代码中设置2个或多个断点.

3         运行你的程序到第一个断点.

4         单击Refresh刷新内存统计.

5         单击Snapshot得到一个快照.

6         将程序运行到下一个断点.

7         单击Refresh.

8         单击Compare to Snapshot.

9         为了将内存统计的内容存储到一个逗号分隔的.csv文件中,单击Save.

使用对象工具

对象工具显示了内存中所有的对象,它帮助你定位到发生泄漏的对象.对象泄漏可能导致VM在闪存的外部运行,它将重新设置你的BlackBerry设备.

1         BlackBerry IDEDebug菜单,单击Go.

2         Debug菜单中,单击Break Now.

3         View菜单中,单击Objects

4         单击GC.

5         单击Snapshot.

6         Debug菜单,单击Continue.

7         在程序里完成的任务不应增加可达到的对象的数量;例如,创建一个新的联系人,然后再删除它.

8         Debug菜单,单击Continue.

9         在对象域里,单击GC.

单击Compare to Snapshot.对象域,它将显示自上一次快照以来删除和增加的对象数.如果增加的对象数和删除的对象数不一样,你可能有一个对象泄漏.使用TypeProcess过滤项查看特定的对象.

10     为了将内存统计的内容存储到一个逗号分隔的.csv文件中,单击Save.

相关文章: