标签归档:Android
Android自动化测试之Monkeyrunner从零开始
最近由于公司在组织一个Free CoDE的项目,也就是由大家自己选择研究方向来做一些自己感兴趣的研究。由于之前我学过一点点关于android的东西,并且目前android开发方兴未艾如火如荼,但自动化测试还基本上属于新兴领域,接触的人并不多,所以我给我们团队提出研究android自动化测试方面的项目,果然得到大家一致的赞同,大家的兴致都很高,呵呵。于是二话不说,我们开始看看现在android平台上现有的一些自动化测试工具。经过网上的一番搜索和学习,我了解目前android SDK里自带的现成的测试工具有monkey 和 monkeyrunner两个。大家别看这俩兄弟名字相像,但其实是完完全全不同的两个工具,应用在不同的测试领域。总的来说,monkey主要应用在压力和可靠性测试上,运行该命令可以随机地向目标程序发送各种模拟键盘事件流,并且可以自己定义发送的次数,以此观察被测应用程序的稳定性和可靠性,应用起来也比较简单,记住那几个命令就行了。而monkeyrunner呢,相比之下会强大一些,它主要可应用于功能测试,回归测试,并且可以自定义测试扩展,灵活性较强,并且测试人员可以完全控制。 好了,废话不多说,我们直接进入主题吧。之所以想把这个过程写下来,是由于经过我这段时间在网上的搜索和学习,发现关于monkeyrunner的教程极少,几乎都是把android官方材料自己翻译了一下摆上去的,对于第一次接触的同学来说,可能还不太详细。我在这里就想以完全初学者的角度出来,真正从0开始,记录我的学习过程。本文仅针对真正的菜鸟,大虾们请飘过哈,嘿嘿。 要使用Monkeyrunner,我们首先得干神马呢?当然得准备使用环境。这个不外乎就是我们得事先安装好android的SDK,配置好开发环境(如Eclipse),安装好Python(因为Monkeyrunner其实是由Jython写的,直接调用android API来整的)。这些步骤网上都有非常详细的教程,教大家手把手地搭环境,我这里就不多废话了。 环境搭好后,接下来就开始我们的使用之旅了。网上的monkeyrunner很多都直接从实例代码入手,写得很粗略,也没有把详细步骤说明下来,搞得我确实废了两三天才摸到头绪。所以我这里会写得很详细,尽量帮助大家能够轻易地看懂。详细步骤如下(在模拟器上运行,由于不知道什么原因图片不能正常显示,所以我还是直接写命令吧): 1. 用Elipse打开andorid的模拟器或者在CMD中用andorid命令打开模拟器,如下: D:\Software\Android SDK2.3\android-sdk-windows\tools>emulator -avd AVD2.3.3 Comments: 定位到android SDK的路径下的tools目录,运行上面这个命令。“AVD2.3.3”是我的模拟器的名字,这个命令是每个人自己命名的,用的时候需改成实际的名字。 2. 这个时候,如果一切正常的话,模拟器应该可以启动起来了。(运行monkeyrunner之前必须先运行相应的模拟器,不然monkeyrunner无法连接设备。这点很多教程上都没有说,我也试了好多次才明白过来)。接着,我们打开另一个CMD窗口(前一个不要关),还是定位到tools目录,输入命令”monkeyrunner”,回车,将进入shell命令交互模式。 好了,接下来就可以导入monkeyrunner所要使用的模块了。当然是我们的”From…import…” 直接在shell命令中输入: from com.android.monkeyrunner import MonkeyRunner, MonkeyDevice 回车 OK,这步完成之后,我们就可以开始和模拟器“勾兑”了,哈哈,命令如下: device = MonkeyRunner.waitForConnection() 没有报错的话,就代表和模拟器勾兑成功,我们可以接着“骚扰”它了。接下来,我们可以在里面装点东西了。输入如下命令,并传入你的apk所在相对路径即可。我这安装的是著名的ApiDemos。成功了会返回true。如果没有返回true,一般都是语法错误或者你传入的相对路径有问题,仔细检查下就没问题了。 device.installPackage(“../samples/android-10/ApiDemos/bin/Apidemos.apk”) 接下来,我们就可以启动其中的任意activity了,只要传入package和activity名称即可。命令如下: device.startActivity(component = “com.example.android.apis/com.example.android.apis.ApiDemos”) 此时模拟器会自动打开ApiDemos这个应用程序的主页。 接下来我们还可以给模拟器发送更多的操作,如模拟任何按键时间和滚动等,并且可以截图。命令格式和上述命令类似,我就不再累述了。 … 继续阅读
周几是发布应用的最佳和最糟糕的日期?
为了了解周几是发布应用的最佳和最糟糕的日期,移动分析服务机构Mobilewalla对在2011年5月16日至9月8日期间在iTunes应用商店和Android市场上发布的应用进行了跟踪调查,调查结果表明,周日是发布新应用的最佳日期,不过周三是开发者最喜欢的发布日期。 在为期119天的调查分析期间,在iTunes应用商店发布的应用共有9.1754万个,在Android市场上发布的应用有12.222万个。Mobilewalla通过对每周不同时间发布的应用的下载情况进行了对比分析,结果发现,在周日发布的应用下载情况最好,更容易进入应用Top 240。在周日发布的iOS应用中,42%都能进入Top 240,在周日发布的Android应用中,11%能进入Top 240。 那么周几是发布应用的最糟糕的日期呢?此次调查发现,周四是发布Android应用最糟糕的日期,只有7%的应用能进入Top 240;周五是发布iOS应用最糟糕的日期,只有10%的应用能进入Top 240。此次调查还发现了另一个现象,iOS平台上的应用被发现的概率是Android市场上的应用被发现概率的4倍。 via TC
向日葵手机远程控制Android版
给大家隆重介绍下向日葵的手机版,这是通过某支付公司组织的开发者沙龙上找向日葵的产品经理拿到的向日葵Andriod手机内部版,用了一下很易上手,而且跟现在流行的多点触摸屏做到了流畅的融合。 下载地址: http://u.115.com/file/aqzs2jq8。 要控制远程主机只装这个东东可不行,先到向日葵官网上下载向日葵被控端程序,安装到要控制的主机上。下载地址:http://www.oray.com/sunlogin/download_sunlogin.php,安装完成并登录之后这个主机就会出现在你手机的主机列表上了。 废话少说,看图说事。 登录页面 远程主机列表,在线主机、离线主机一目了然。 主机列表 向日葵在登录远程桌面时需要进行二次验证,可输入windows账户密码进行验证,基于很多用户不会设定windows账户密码,向日葵提供访问密码方式进行验证,访问密码可在被控端上进行设置。点击“切换验证”按钮即可进行切换。 这种二次验证的方式大大提高了软件的安全性。 访问密码验证 输完密码后就可以登录远程桌面,对远程主机进行控制了。 准备登录远程桌面 手势操作指南,单指双指均可操作。 手势指南 需强调的是要想实现远程控制,必须先在控制的机器上安装向日葵的被控端,这个步骤可是不能省的。向日葵被控端下载地址:http://www.oray.com/sunlogin/download_sunlogin.php 最后再附上APK下载地址:http://u.115.com/file/aqzs2jq8,大家赶紧下来体验吧! 原文链接
iPhone/Android 社交通讯应用大集合
苹果的iPhone提供了Push Notification的通知服务,通知内容可以是文字、声音、或着其它组合,有了推送服务功能,不需要移动运营商也可以联系到用户,甚至iPod Touch也可以和iPhone一样打电话发短信。 除了iPhone之外,Android手机也支持Push通知功能,Android使用的是后台跑程序的方式,开启Push之后手机的耗电量会有所增加。 基于Push通知的原理,应用开发商在iPhone和Android上发布了不少具有信息推送技术的应用,通过扫描手机现有通讯录的方法,快速匹配真实关系网络,实现无需帐号注册即可与通讯录好友进行短信、语音、视频的通话交流,以下是月光博客总结的一些常见的通讯类移动应用盘点。 短信类 Kik Messenger Kik Messenger是一个跨平台社交短信服务,在Android、iPhone和黑莓平台都非常的火爆,可以实现跨平台之间的信息交流。Kik Messenger在表现形式上很类似手机的短信,但其是利用网络而不是运营商发送短信的软件,其速度非常快,并且完全免费,界面也非常简洁和易用。 Kik Messenger支持三个手机平台(Android、iPhone和黑莓),安装Kik后,程序将扫描手机通讯录,并自动提醒用户其中正在使用Kik的联系人。 Kik Messenger的短信界面采用对话模式,现在的智能手机用户应该都能够适应。同时,系统提供一些简单的表情增加对话的乐趣。 WhatsApp WhatsApp Messenger和Kik类似,支持iPhone手机、Android手机和黑莓手机,用于智能手机之间通讯的应用程序。WhatsApp借助手机的推送通知服务,可以即刻接收好友发送的文字、图片、音频文件和视频信息。 WhatsApp Messenger不需要帐号和密码,用户的手机号码就是其帐号,安装应用后会自动扫描用户电话和通讯录,通过电话号码,自动加入其他已经使用WhatsApp的好友,使用起来非常方便,几乎可以替代手机短信。 微信 微信是一款腾讯发布的类Kik的快速发送文字和照片的手机聊天软件,用户可以通过微信免费给自己的好友发送短信和彩信,发消息不按短信计费,走GPRS或WIFI的网络,整体功能和Kik很类似。 微信支持iPhone、Android以及诺基亚等主流的智能操作系统,不同系统间互发畅通无阻。 米聊 米聊是小米科技出品的一款跨iPhone、Android、Symbian手机平台的手机端免费聊天通讯工具,通过手机网络(WiFi、3G、GPRS),可以跟用户的米聊联系人进行实时的信息沟通,收发图片和音频,只消耗网络流量。 米聊无缝集成用户的通讯录,米聊的好友就是用户手机通讯录中的联系人,用米聊可以直接给通讯录中的人发短信或者打电话,完全无缝集成。 飞信 飞信是中国移动推出的综合通信服务,实现互联网和移动网之间的无缝通信服务。飞信利用中国移动自身的运营商优势,可以支持通过WiFi将短信发送给未上网的中国移动手机用户,对于短信控一族非常有用。飞信支持即时聊天、免费发送短信、添加好友、管理手机通讯录、传送文件(支持即拍即发),同时,还支持多人聊天、群发短信、群组聊天。 语音类 Google Voice Google Voice是由Google推出的一种电话服务,能够将个人所用的众多电话号码集中成为一个号码,将现有电话服务与互联网电话服务合并到一起。 简而言之,Google Voice的服务就是以一个Google提供的免费电话号码,来整合用户生活当中所有会接触到的电话,如家里、办公室、手机等,当呼叫这个号码时,用户所有电话如家庭、办公室固话和手机都会响。GoogleVoice也提供语音邮件的副本、免费在美国和加拿大打电话、低费率的国际长途电话、电话会议功能和网络语音邮件收件箱。 Google Voice仅在美国境内使用,部分国家免费使用(打电话),非常便宜地打国际长途电话,免费在线收发短信。中国用户可以使用VPN来注册和使用Google Voice的服务。 Viber和Skype类似,是一款免费网络通话应用,这款应用程序可以让用户在WiFi或3G环境下拨打免费的电话。 Viber的使用比Skype简单的多,Viber无需注册和添加好友,安装后就能使用,Viber没有帐号系统,用户的手机号码就是帐号,手机联系人就是好友,直接调用现有的联系人通讯录,非常实用方便的。 … 继续阅读