一种检查web应用和Android应用一致性的方法

文档序号:8395804阅读:245来源:国知局
一种检查web应用和Android应用一致性的方法
【技术领域】
[0001]本发明涉及互联网技术领域,尤其涉一种检查web应用和Android应用一致性的方法。
【背景技术】
[0002]随着移动设备使用的越来越广泛,现如今的传统互联网网站都会开发一个相对应的移动应用程序,为移动设备的用户提供更佳的用户体验。因此,移动应用的开发,大部分是参照传统互联网web版本进行,其功能相对固定,可以说是web版本的一个子集。
[0003]但参照web应用进行移动应用的开发是一项耗时且重复性的工作,这样便可能产生一致性的问题。一致性的问题主要包括以下几个方面:web应用中不存在的功能或页面;某些信息的错误;错误的链接等等。
[0004]可以看出,对于传统互联网Web应用程序与移动互联网中应用程序中一致性的问题,并不一定是一种错误,也有可能是移动应用为了适配移动设备而进行的特殊设计,包含了一些移动设备上才有的功能。比如购物网站的手机应用版本中,可能为顾客提供了特价或者移动应用才有的折扣。因此,找出网站和移动应用之间的不一致,可以为软件开发过程提供很好的参考。如图1所示,左边为Android应用的界面,而右边为传统互联网中网页上相对应的模块,可以看出其在展现的信息上存在着不同之处,这便可以看成是不同平台上的不一致的展现。
[0005]在传统互联网的web平台中,已经有相当成熟的网络爬虫技术和网页解析技术。网络爬虫技术和网页解析技术结合,首先利用网页解析技术,对网页进行分析,提取出网页的超链接,再利用特定的爬虫策略,通过超链接,不断地进行网页的爬取。
[0006]网页爬虫技术没有涉及到一致性内容的对比,只是单纯的在web平台中获取到网页信息的技术,但是可以利用到一致性内容检查中来。
[0007]在移动平台中,随着Android成为移动设备最流行的操作系统,Android的测试技术成为研宄的一大热点。Android的测试技术分为白盒和黑盒两种,白盒即需要Android应用的源代码,而黑盒则只需要拿到应用的Android安装包(Android Package,APK)文件即可进行相应的测试。Android的测试技术没有涉及到一致性内容的对比,只是单纯的在Android平台的可以用来获取Android界面信息的技术,但是可以利用到一致性内容检查中来。
[0008]在一致性的检查方面,主要是集中在统一建模语言(Unified ModelingLanguage,UML)模型的一致性检查,UML模型被广泛应用到软件开发的过程中,而UML模型的一致性影响到了代码生成的质量。UML模型的一致性检查,则主要是侧重在模型这方面,从比较抽象且宏观的角度来进行检查。而Web应用和Android应用的一致性检查,需要去对比具体的文本、链接等元素。

【发明内容】

[0009]本发明的目的在于克服现有技术的不足,本发明所提出的技术的目的是是对Android应用和web应用进行不一致的检查,为软件开发人员和测试人员提供web应用和Android应用的一致性的信息,减少Android应用开发过程中的错误。
[0010]为了解决上述问题,本发明提出了一种检查web应用和Android应用一致性的方法,包括:
[0011]从APK文件中获取APK信息;
[0012]对APK文件进行重签名,使APK的签名与测试案例的签名一致;
[0013]接收测试人员填写的配置文件,对本次测试进行参数设置;
[0014]将APK文件安装到模拟器中;
[0015]采用深度优先的方法对Android的界面进行遍历;
[0016]通过网页爬虫技术遍历web应用;
[0017]将Android的界面与web应用进行匹配;
[0018]基于匹配的结果生成一致性检查结果。
[0019]所述APK信息包括启动类名、包名。
[0020]所述对APK文件进行重签名,使APK的签名与测试案例的签名一致包括:首先删除APK文件中的“ΜΕΤΑ-1NF”文件夹,然后采用与测试案例一样的签名文件对APK文件进行重签名。
[0021]所述配置文件包括类名、包名、Android界面爬取的深度、等待界面时间以及算法策略配置。
[0022]所述采用深度优先的方法对Android的界面进行遍历包括:
[0023]a,初始化,安装应用并运行测试案例;
[0024]b,解析当前界面,判断是否已经遍历过,如果还没遍历过,则生成事件集并提取控件信息,并将界面加入到界面集合中,同时截图;
[0025]C,是否有事件可执行,如果是,执行d,如果否,跳到e执行;
[0026]d,执行事件,然后重复执行b ;
[0027]e,是否满足结束条件,如果否,执行f,如果是,则执行g ;
[0028]f,查找事件,并跳到d执行;
[0029]g,结束遍历。
[0030]所述通过网页爬虫技术遍历web应用包括:
[0031]采用宽度优先的方法,从web应用的主页开始遍历,对每一个网页进行解析,生成其文本信息、超链接信息。
[0032]所述将Android的界面与web应用进行匹配包括:
[0033]找出Android界面和相匹配的web网页,根据Android界面和web界面的文本信息的匹配程度,文本匹配最高的网页即是与Android界面对应的网页。
[0034]所述基于匹配的结果生成一致性检查结果包括:
[0035]Android界面和网页的匹配结果、不一致的元素、不一致的链接、时间运行的信息、界面数量运行的信息、网页数量运行的信息。
[0036]实施本发明实施例,本发明技术方案生成了一份web应用和Android应用一致性检查的报告,为软件开发和测试过程提供了参考,有利于软件开发人员和测试人员找出web应用和Android应用的一致性的问题,减少Android应用开发过程中的错误。另外,本技术方案实现了测试过程的全自动化执行,减少了测试人员和开发人员的工作量,为提高工作的效率也有很大的帮助。
【附图说明】
[0037]为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其它的附图。
[0038]图1是现有技术中的同内容在不同应用平台的不同展现示意图;
[0039]图2是本发明实施例中的检查web应用和Android应用一致性的方法流程图;
[0040]图3是本发明实施例中的Android应用遍历流程图;
[0041]图4是本发明实施例中的对Android和web应用分别遍历后的数据示例图。
【具体实施方式】
[0042]下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
[0043]Android手机应用参照web应用进行开发,在功能上既是web应用的子集,也存在着其特殊的设计和功能,而在开发过程中可能出现错误。本发明所提出的技术的目的是是对Android应用和web应用进行不一致的检查,为软件开发人员和测试人员提供web应用和Android应用的一致性的信息,减少Android应用开发过程中的错误。
[0044]本发明提出了一种检查web应用和Android应用一致性的方法,该方法利用了Android自动化测试技术和网页爬虫技术,用户只需将APK部署到Android手机模拟器中,并进行相关的配置,就能生成一份一致性报告。本发明实施例中对不一致从界面、文本和链接三个方面去定义:
[0045](I)无法从web应用中找到匹配网页的Android界面;
[0046](2) Android界面上的文本无法从匹配的网页中找到;
[0047](3)链接出去的界面相匹配,但是链接的信息不同。
[0048]除了进行简单的配置和部署,本发明的技术实现运行过程全自动化进行,图2是整个方法的实施流程图,其具体过程和实现描述如下:
[0049]S201、从APK文件中获取APK信息;
[0050]从APK文件中获取APK相关的信息,如启动类名、包名等,本方案只需要一个APK文件,也就是说是属于黑盒的测试。
[0051]S202 JfAPK文件进行重签名,使APK的签名与测试案例的签名一致;
[0052]对APK文件进行重签名,APK的签名必须与测试案例的签名一致。首先删除APK文件中的“ΜΕΤΑ-1NF”文件夹,然后采用与测试案例一样的签名文件对APK文件进行重签名,如果APK的签名与测试案例的签名文件不一样,则无法运行测
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1