学以致用
文章平均质量分 80
帝求仁
大量北美合约机项目经验
展开
-
【学以致用】android功能实现2---UIautomator 2.0(1)
UiAutomator是用于自动化测试的,更明确的说,是可视化的自动化测试的,用来测试android应用的UI交互相关内容。 UiAutomator 2.0是UiAutomator的升级版,使用方式没有区别,会其中一个,就会另外一个。 UiAutomator 2.0是通过模仿用户的确切操作,根据能否完整完成整个预期操作流程,以及得到期望的结果,来判断是否完成整个测试流程。在使用时,原创 2017-11-30 19:37:22 · 1404 阅读 · 0 评论 -
【学以致用】android功能实现3---UIautomator 2.0(2)
上一部分提到:自动化测试可以简单分为获取测试工具,找到交互目标,进行操作行为,判断操作结果。这么4步,并且讲解了第一步UiDevice的初始化和使用。 接来下讲解后面3步: 2.找到交互目标: 交互目标常用有2种,UiObject和UiScrollable,分的对应着不用滑动的操作目标和需要滑动的操作目标。 UiObject是属于UIautomator,而UiO原创 2017-11-30 19:38:42 · 579 阅读 · 0 评论 -
【学以致用】android功能实现1---分享功能
在某程序中,选择某图片或者文字,点击分享,下方弹出一个选择框。点击分享并且弹出框这是分享主体的操作。弹出框中存在的内容,可供分享的对象,是分享客体。 分享主体与客体的实现均是围绕着Intent.ACTION_SEND这个官方Intent展开。官方给与了一个简单的分享流程,我们随着流程就能实现分享流程。 先上代码,下面是最简单分享主体的代码,只要在应用中调用本应用,就可以弹出分享框。原创 2017-11-16 15:11:41 · 621 阅读 · 0 评论 -
【学以致用】android功能实现4---UIautomator 2.0(3)
上一部分提到:自动化测试可以简单分为获取测试工具,找到交互目标,进行操作行为,判断操作结果,这4步。并且讲解了前两步UiDevice的初始化,UiObject2和UiScrollable的获取。 接来下学习后面2步: 3.进行操作行为:在上一步,成果获取了UiObject2和UiScrollable,分的对应着不用滑动的操作目标和需要滑动的操作目标。对目标的操作,主要有点击原创 2017-12-04 19:51:15 · 495 阅读 · 0 评论 -
【学以致用】android功能实现5---android8.0 Launcher获取快捷方式源码分析(1)
从其他应用往桌面创建快捷方式,android8.0统一采用requestPinShortcut的方式。 对于桌面而言,是怎么从requestPinShortcut获取快捷方式信息在桌面创建快捷方式呢? Android8.0的快捷方式参数不再通过广播传送,而是存放在系统当中。创建快捷方式的应用将信息放入系统,而系统则生成shortcut ID等信息,传入桌面应用。 桌面创建快捷方式由原创 2017-12-26 18:46:33 · 4061 阅读 · 0 评论 -
【学以致用】android功能实现7---android8.0 Launcher获取快捷方式源码分析(3)
获取完快捷方式的信息之后,便是如何具体的将快捷方式的名字,图标和打开方式放置到桌面上。 最后一步addAndBindAddedWorkspaceItems( new LazyShortcutsProvider(context.getApplicationContext(), items)); 先将获取的LazyShortcutsProvider,是原创 2017-12-26 18:49:58 · 2573 阅读 · 0 评论 -
【学以致用】android功能实现6---android8.0 Launcher获取快捷方式源码分析(2)
为了获取快捷方式,packageName和ID是Laucnher传递快捷方式的主要信息,而其载体则是Laucnher自己通过makeIntent创建的intent,详见上章最后。和7.0不同,快捷方式的信息有一半是保存在系统里,通过数据库是查阅不到快捷方式的实际地址。下面看看快捷方式的信息是如何在Laucnher中转化成快捷方式图标的。创建好intent后,来自intent的信息则放入了P原创 2017-12-26 18:47:30 · 1679 阅读 · 3 评论 -
【学以致用】android功能实现8---Android Studio 的UiAutomator 2.0的测试覆盖率验证
之前研究了如果使用Uiautomator 2.0来自动化模拟人的手动测试,来检测程序的基本功能是否完整。然而,根据经验来检测功能,是人为设定哪些功能是我们需要关注的,认为设定的真的测试完整了吗?这个测试究竟对程序验证到了什么程度?这就需要代码覆盖率来完成。 首先,人为设定哪些需要检测是可行的,也是可信的。程序是程序员设计的,这个程序有什么目的,需要完成什么功能,程序员是知道的,所以我们可以原创 2018-02-02 14:20:33 · 987 阅读 · 0 评论 -
【学以致用】android功能实现9---Launcher之AS中,在Launcher源码中增加google负一屏的实现方法
负一屏是相对于正常屏幕而言,正常屏幕是指桌面上用户用于摆放图标(也可以编辑图标位置)的屏幕,根据用户喜欢可以有一个或多个屏幕。在一些手机当中,包括苹果和安卓,在正常屏幕的最左边一屏,我们再往左滑,会出现一个特殊的屏幕。这个屏幕往往会提供:语音搜索?常用应用?天气预报? 都有可能提供,也可以提供其他内容。 Android的负一屏的实现主流有两种方式:其一,Launcher自行开发,通过Launche...原创 2018-02-09 14:33:45 · 5838 阅读 · 18 评论