一种核对apk内多国语言的方法及其系统的制作方法_2

文档序号:8445434阅读:来源:国知局
> 若否,则输出字典文件为无效文件的结果;
S4.2.1、解析字典文件,获取字典内容,新建一个ExlContent字符串构成的List,并将字典内容的第一列及第二列分别存入ExlContent字符串中的Rowl和Row2 ; S4.2.2、获取源文件中的一个元素对应的srcText字段;
S4.2.3、获对比文件中的一个节点对应的contrastText字段;
S4.2.4、将 srcText 字段与 contrastText 字段分别与 RowK Row2 对比;
54.2.5、判断是否有相符的字符串;
若否,则输出字典对比结果;
若是,则返回步骤S4.2.4。
[0030]步骤S4.2是在包含字典文件的情况下才会执行的,用于找出字典文件的缺失,可以协助完善字典文件。
[0031]有字典文件,会自动删除和字典文件中相同的节点(相同意味着不需要翻译)。将源文件List和对比文件List里面内容进行循环对比,若源文件List中label字段,srcText字段在对比文件List的label字段,contrastText字段上找到一致字符串,那么将字典List的Rowl和Row2字符串和源文件List中label字段,srcText字段进行循环对比,如没有一致的则输出到结果文件中,成为结果文件中文件相符部分。
[0032]S5、判断字段是否相同;
55.1、若是,则输出字段相符的对比结果,从源文件中选取下一个元素再执行步骤S4.1 ;
若否,则执行步骤S6;
如图4所示,步骤S5.2与步骤S5.1并列,包含:
S5.2.1、将源文件List中该元素的label和srcText字段分别与字典文件中的Rowl、Row2对比;
S5.2.2、判断字段是否相符;
若否,则输出字段不相符的结果,再从源文件中获取下一个元素后执行步骤S5.2.1 ; 若是,则执行步骤S5.2.3 ;
55.2.3、判断源文件中是否包含其他元素;
若否,则从源文件中选取下一个元素再执行步骤S5.2.1 ;
若是,则输出字段相符的结果。
[0033]S6、判断对比文件中是否包含其他元素;
56.1、若是,则从对比文件中选取下一个元素再执行步骤S4.1 ;
若否,则执行步骤S7;
57.判断源文件中是否包含其他元素;
S7.1、若是,则从源文件中选取下一个元素再执行步骤S4.1 ;
57.2、若否,则输出字段不相符的对比结果。
[0034]其中步骤S7.2之后包含两个并列步骤S8.1与S8.2,其中步骤S8.1包含:
58.1.1、将源文件List中该元素的label字段与对比文件中元素的label字段进行对比;
S8.1.2、判断字段是否相同;
若是,则执行步骤S8.1.1 ;
若否,则输出对比结果后上报至BUG库。
[0035]步骤S8.2包含:
S8.2.1、将对比文件List中该元素的label字段与源文件中元素的label字段进行对比;
S8.2.2、判断字段是否相同;
若是,则执行步骤S8.1.1 ;
若否,则输出对比结果后上报至BUG库。
[0036]步骤S8.1与步骤S8.2主要进行以下步骤。
[0037]将源文件List和对比文件List里面内容进行循环对比,若源文件List中label字段在对比文件List的label字段上没有找到一致的,那么输出到结果文件中,成为结果文件中监测到源文件比对比文件多部分。
[0038]将源文件List和对比文件List里面内容进行循环对比,若对比文件List中label字段在源文件List的label字段上没有找到一致的,那么输出到结果文件中,成为结果文件中监测到对比文件比源文件多部分。
[0039]在对比结果文件中列举了三种可能的对比结果:
文件相符部分(相同可能异常),这部分是指对比文件和源文件属性名,内容都和源文件的属性名,内容相同。这里输出的条目除纯数字,有$#%这种特殊字符外的内容都是测试后要上报的BUG。
[0040]监测到源文件比对比文件多部分(多出部分可能异常)这部分是指源文件节点属性名在对比文件上找不到相同的。这里输出的内容绝大部分都是正常字符,不需要上报BUG。
[0041]监测到对比文件比源文件多部分(多出部分可能异常)这部分是指对比文件节点属性名在源文件上找不到相同的。这里输出的条目除纯数字,有$#%这种特殊字符外的内容基本都是测试后要上报的BUG。
[0042]尽管本发明的内容已经通过上述优选实施例作了详细介绍,但应当认识到上述的描述不应被认为是对本发明的限制。在本领域技术人员阅读了上述内容后,对于本发明的多种修改和替代都将是显而易见的。因此,本发明的保护范围应由所附的权利要求来限定。
【主权项】
1.一种核对APK内多国语言的方法,其特征在于,包含以下步骤: 51、抓取待测试的APK文件,并对待测试的APK文件进行反编译以获得对比文件及源文件; 52、解析对比文件,获取对比文件中所有节点的属性名和内容字符串,新建一个MapFile字段构成的List,并将节点的属性名和内容字符串分别存入MapFile字段的label和 contrastText ; 53、解析源文件,获取源文件中所有节点的属性名和内容字符串,新建一个MapFi I e字段构成的LiSt,并将节点的属性名和内容字符串分别存入MapFiIe字段的IabeI和srcText ; 54、1、获取源文件List中的一个元素,将该元素中的label和srcText字段与对比文件中一个元素的label和contrastText字段进行对比; 55、判断字段是否相同; 55、1、若是,则输出字段相符的对比结果,从源文件中选取下一个元素再执行步骤S4.1 ; 若否,则执行步骤S6; 56、判断对比文件中是否包含其他元素; 若是,则从对比文件中选取下一个元素再执行步骤S4.1 ; 若否,则执行步骤S7; 57、判断源文件中是否包含其他元素; 若是,则从源文件中选取下一个元素再执行步骤S4.1 ; S7.1、若否,则输出字段不相符的对比结果。
2.如权利要求1所述的核对APK内多国语言的方法,其特征在于,所述的步骤SI中还包含一步骤S1.1: S1.1、判断源文件是否为xml格式; 若是,则执行步骤S2 ; S1.1.1、若否,则输出源文件为无效文件的结果。
3.如权利要求1所述的核对APK内多国语言的方法,其特征在于,所述的步骤SI还包含与一步骤S1.2: S1.2、判断对比文件是否为xml格式; 若是,则执行步骤S2 ; S1.2.1若否,则输出对比文件为无效文件的结果。
4.如权利要求1所述的核对APK内多国语言的方法,其特征在于,进一步包含一与所述步骤S4.1并列的步骤S4.2: S4.2.1、解析字典文件,获取字典内容,新建一个ExlContent字符串构成的List,并将字典内容的第一列及第二列分别存入ExlContent字符串中的Rowl和Row2 ; S4.2.2、获取源文件中的一个元素对应的srcText字段; S4.2.3、获对比文件中的一个节点对应的contrastText字段; S4.2.4、将 srcText 字段与 contrastText 字段分别与 RowK Row2 对比; S4.2.5、判断是否有相符的字符串; 若否,则输出字典对比结果; 若是,则返回步骤S4.2.4。
5.如权利要求4所述的核对APK内多国语言的方法,其特征在于,所述的S4.2.1之前还包含步骤S4.2.0: 54.2.0、判断字典文件是否为xls格式; 若是,则执行步骤S4.2.1 ; 若否,则输出字典文件为无效文件的结果。
6.如权利要求4所述的核对APK内多国语言的方法,其特征在于,进一步包含一与所述步骤S5.1并列的步骤S5.2: 55.2.1、将源文件List中该元素的label和srcText字段分别与字典文件中的Rowl、Row2对比; S5.2.2、判断字段是否相符; 若否,则输出字段不相符的结果,再从源文件中获取下一个元素后执行步骤S5.2.1 ; 若是,则执行步骤S5.2.3 ; S5.2.3、判断源文件中是否包含其他元素; 若是,则从源文件中选取下一个元素再执行步骤S5.2.1 ; 若否,则输出字段相符的结果。
7.如权利要求1所述的核对APK内多国语言的方法,其特征在于,所述的步骤S7.2之后还包含步骤S8.1: S8.1.1、将源文件List中该元素的label字段与对比文件中元素的label字段进行对比; S8.1.2、判断字段是否相同; 若是,则执行步骤S8.1.1 ; 若否,则输出对比结果后上报至BUG库。
8.如权利要求1所述的核对APK内多国语言的方法,其特征在于,所述的步骤S7.2之后还包含步骤S8.2: S8.2.1、将对比文件List中该元素的label字段与源文件中元素的label字段进行对比; S8.2.2、判断字段是否相同; 若是,则执行步骤S8.1.1 ; 若否,则输出对比结果后上报至BUG库。
9.一种核对APK内多国语言的系统,其特征在于,包含: 抓取模块,用于抓取待测试的APK文件; 反编译模块,与所述抓取模块连接,用于反编译待测试的APK文件,以获取对比文件及源文件; 格式校验模块,与所述反编译模块连接,用于校验对比文件及源文件的格式; 字段比对模块,与所述格式校验模块连接,用于对比源文件与对比文件中的字段是否相同; 结果输出模块,与所述字段比对模块连接,用于输出字段比对模块的结果; 存储模块,与所述结果输出模块连接,用于存储对比结果。
10.如权利要求9所述的核对APK内多国语言的系统,其特征在于,进一步包含一显示模块,与所述存储模块连接,用于显示对比结果。
【专利摘要】本发明公开了一种核对APK内多国语言的系统,包含:抓取模块,用于抓取待测试的APK文件;反编译模块,与抓取模块连接,用于反编译待测试的APK文件,以获取对比文件及源文件;格式校验模块,与反编译模块连接,用于校验对比文件及源文件的格式;字段比对模块,与格式校验模块连接,用于对比源文件与对比文件中的字段是否相同;结果输出模块,与字段比对模块连接,用于输出字段比对模块的结果;存储模块,与结果输出模块连接,用于存储对比结果。本发明还公开了一种核对APK内多国语言的方法本发明目的在于提供及其系统,能够实现不同Values文件中string.xml文件之间的对比,并且能够与字典文件进行对比,指出字典文件的缺陷,测试效率高,准确率高。
【IPC分类】G06F9-45
【公开号】CN104765635
【申请号】CN201510166613
【发明人】陈潇潞
【申请人】上海斐讯数据通信技术有限公司
【公开日】2015年7月8日
【申请日】2015年4月9日
当前第2页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1