一种控件脚本程序多国文字解析系统及多国文字解析方法
技术领域
本申请涉及程序软件中的多国语言的技术领域,尤其涉及不常见的多国语言解析、显示的技术问题。
背景技术
各国的人们交流日益频繁,但语言文字上的差异导致信息交流的问题十分突出。为此,人们发明了各种各样的多国语言服务系统。
现有技术中对比android上不同应用在多国语言下的文字,通常只能识别常用英文和中文,在android中无法将出现的其他异国文字进行解析提取,会产生解码失败问题,对于android自动化测试工具有着一定的局限性。
字节(Byte)是计算机信息技术用于计量存储容量和传输容量的一种计量单位,1个字节等于8位二进制。在计算机和电信技术中,一个字符是一个单位的字形、类字形单位或符号的基本信息。UTF-8编码:一个英文字符等于一个字节,一个中文(含繁体)等于三个字节。UTF-8(8-bit Unicode Transformation Format)是一种针对Unicode的可变长度字符编码,又称万国码。由Ken Thompson于1992年创建。现在已经标准化为RFC 3629。UTF-8用1到6个字节编码UNICODE字符。用在网页上可以同一页面显示中文简体繁体及其它语言(如英文,日文,韩文)。
中国专利申请号为CN201010562921.9,该发明是关于一种用于产生多国语言网页的方法,包括:自动识别原始电子文件中的需呈现元素,该原始电子文件适用于以第一人类语言呈现网页,需呈现元素中的每一个包括需以该第一人类语言来呈现的需呈现文字内容;产生与需呈现元素对应的物件元素的列表,该列表包括以第二人类语言来翻译的需呈现元素的需呈现文字内容的翻译本;及借由将需呈现元素修改成为各包括需呈现文字内容的物件元素,且借由将用于使具有浏览器的客户端装置在呈现该多国语言网页时可参照该列表的指令插入原始电子文件中,将原始电子文件自动转换成多国语言电子文件,使得该多国语言网页包含以从第一及第二人类语言中选择的其中一种人类语言来呈现的物件元素的需呈现文字内容。
中国专利申请号为CN200610023779,该发明涉及一种多国语言相似文字符号输入法及其输入系统,而输入法包含有下列步骤:输入第一语言文字;在确认请求输入一相似文字符号后,解析第一语言文字,以取得一文字图形特征;依据文字图形特征查询相似文字表;依据相似文字表至多国语言文字数据库中搜寻对应第一语言文字的其余语言相似文字符号;以及列出对应第一语言文字的其余语言相似文字符号,以供使用者选取,借以省去切换多种语言输入法的程序,进而提升数据输入的便利性。
现有的文字识别解析系统只能识别英语和中文,对于出现的其他异国语言文字,特别是不太使用的国家文字,如阿拉伯文,韩文等,都无法进行文字解析和提取。无法提取意味着无法对于语言载体的控件进行控制。
发明内容
本发明针对上述问题,提出了能够解析出其他不常用国家的语言问题,并进行提取记录在TXT中,解决产生解码失败的问题。本发明是通过以下技术方案实现的:
一种控件脚本程序中的多国文字解析方法,所述方法包括如下步骤:
S200:逐条执行控件的运行脚本程序;
S300:逐条抓取所述脚本程序的程序行,记录至TXT(纯文本格式)文件中;
S400:将所述TXT(纯文本格式)文件内容保存至一级缓存;
S500:将一级缓存中的TXT(纯文本格式)文件内容逐行转换成字节形式的所述脚本程序;
S600:将所述字节按照UTF-8的格式转化;
S700:将格式转化后的所述字节转换成字符形式的所述脚本程序。
进一步,所述的多国文字解析方法,所述S200步骤前包括:S100:所述控件在激活后,被操作系统调用执行。
进一步,所述的多国文字解析方法,所述S700步骤后包括:S710:将所述字符保存至新的TXT(纯文本格式)文件中。供后续操作系统查询、修改。
进一步,所述的多国文字解析方法,所述S700步骤后包括:S750:将所述字符形式的脚本程序保存至二级缓存中。供操作系统调用执行,尤其是作为android脚本程序的测试工具。
进一步,所述的多国文字解析方法,所述多国文字至少包括:中文、英文、日文、俄文、朝鲜文或者阿拉伯文。
进一步,所述的多国文字解析方法,所述脚本程序通过:JAVA、VB、VC、VFP、ASP或者PHP编程语言封装制作。
本发明还提供一种多国文字解析系统:
一种控件脚本程序中的多国文字解析系统,包括脚本程序封装制作模块、抓取模块、脚本输出模块、编码(接收)处理模块、一级缓存、转换模块、UTF-8转化模块,
所述脚本程序封装制作模块,用于封装制作所述脚本程序;
所述抓取模块,用于逐条抓取所述脚本程序的程序行,记录至TXT(纯文本)文件中;
所述脚本输出模块,用于将所述TXT(纯文本格式)文件输出至所述编码处理模块;
所述编码(接收)处理模块,用于将接收到的所述TXT(纯文本格式)文件内容保存至一级缓存中;
所述转换模块,用于将一级缓存中的TXT(纯文本格式)文件内容逐行转换成字节形式的所述脚本程序;
所述UTF-8转化模块,用于将所述字节按照UTF-8的格式转化,再将格式转化后的所述字节转换成字符形式的所述脚本程序。
进一步,所述的多国文字解析系统,所述脚本程序封装制作模块为JAVA、VB、VC、VFP、ASP或者PHP编程语言工具。
进一步,所述的多国文字解析系统,所述抓取模块为控件捕捉器。
进一步,所述的多国文字解析系统,还包括二级缓存,所述二级缓存,用于保存所述字符形式的脚本程序,供操作系统调用执行,尤其是作为android脚本程序的测试工具。
进一步,所述的多国文字解析系统,还包括存储器,所述存储器,用于存放所述字符形式的TXT(纯文本格式)文件,供操作系统查询、修改。
进一步,所述的多国文字解析系统,所述多国文字至少包括:中文、英文、日文、俄文、朝鲜文(韩文)或者阿拉伯文。
本发明至少具有以下有益效果之一:
1.本发明克服了原先在多国语言(非常用中、英文)在显示、解析等时候出现乱码或者“?”的技术问题,甚至发生读取失败的问题。
2.本发明使用功能简便,操作性良好,具有很强的封装性。
3.本发明在现有android自动化工具方法中进行运用,达到预期效果。
4.与现有架构相比,本发明的优点在于:应用范围广,可靠性高,解析识别率高,通用性很强。
5、本发明提供的基于UTF-8转化方式的多国文字解析方法,可适用多种编程语言。
附图说明
下面结合附图和具体实施方式对本发明作进一步详细说明:
图1为本发明第一实施例流程示意图;
图2为本发明第一实施例模块构架示意图;
图3为本发明第三实施例核心模块结构示意图;
图4为本发明第三实施例流程结构示意图;
图5为本发明第三实施例流程示意图;
图6为本发明第三实施例应用本方案结果示意图;
图7为本发明第三实施例未用本方案结果示意图。
附图标记说明
1000-控件脚本程序中的多国文字解析系统、110-脚本程序封装制作模块、120-抓取模块、130-脚本输出模块、140-编码(接收)处理模块、150-一级缓存、160-转换模块、170-UTF-8转化模块。
具体实施方式
为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,以下说明和附图对于本发明是示例性的,并且不应被理解为限制本发明。以下说明描述了众多具体细节以方便对本发明理解。然而,在某些实例中,熟知的或常规的细节并未说明,以满足说明书简洁的要求。
在本申请一个典型的计算硬件配置中,客户端/终端、网络设备和可信方均包括一个或多个处理器(CPU)、输入/输出接口、网络接口和内存。
本发明中的客户端、移动终端或网络设备包括处理器,含单核处理器或多核处理器。处理器也可称为一个或多个微处理器、中央处理单元(CPU)等等。更具体地,处理器可为复杂的指令集计算(CISC)微处理器、精简指令集计算(RISC)微处理器、超长指令字(VLIW)微处理器、实现其他指令集的处理器,或实现指令集组合的处理器。处理器还可为一个或多个专用处理器,诸如专用集成电路(ASIC)、现场可编程门阵列(FPGA)、数字信号处理器(DSP)、网络处理器、图形处理器、网络处理器、通信处理器、密码处理器、协处理器、嵌入式处理器、或能够处理指令的任何其他类型的逻辑部件。处理器用于执行本发明所讨论的操作和步骤的指令。
本发明中的客户端、移动终端或网络设备包括存储器,用于存储大数据,可包括一个或多个易失性存储设备,如随机存取存储器(RAM)、动态RAM(DRAM)、同步DRAM(SDRAM)、静态RAM(SRAM)或其他类型的存储设备。存储器可存储包括由处理器或任何其他设备执行的指令序列的信息。例如,多种操作系统、设备驱动程序、固件(例如,输入输出基本系统或BIOS)和/或应用程序的可执行代码和/或数据可被加载在存储器中并且由处理器执行。
本发明中的客户端、移动终端或网络设备的操作系统可为任何类型的操作系统,例如微软公司的Windows、Windows Phone,苹果公司IOS,谷歌公司的Android,以及Linux、Unix操作系统或其他实时或嵌入式操作系统诸如VxWorks等。
为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,以下说明和附图对于本发明是示例性的,并且不应被理解为限制本发明。以下说明描述了众多具体细节以方便对本发明理解。然而,在某些实例中,熟知的或常规的细节并未说明,以满足说明书简洁的要求。本发明的具体设备/系统及方法参见下述实施例:
第一实施例
如图1为本发明第一实施例流程示意图所示:
一种控件脚本程序中的多国文字解析方法,所述方法包括如下步骤:
S200:逐条执行控件的运行脚本程序;
S300:逐条抓取所述脚本程序的程序行,记录至TXT文件中;
S400:将所述TXT文件内容保存至一级缓存;
S500:将一级缓存中的TXT文件内容逐行转换成字节形式的所述脚本程序;
S600:将所述字节按照UTF-8的格式转化;
S700:将格式转化后的所述字节转换成字符形式的所述脚本程序。
优选地,所述的多国文字解析方法,所述S200步骤前包括:S100:所述控件在激活后,被操作系统调用执行。
优选地,所述的多国文字解析方法,所述S700步骤后包括:S750:将所述字符形式的脚本程序保存至二级缓存中。供操作系统调用执行,尤其是作为android脚本程序的测试工具。
优选地,所述的多国文字解析方法,所述多国文字至少包括:中文、英文、日文、俄文、朝鲜文或者阿拉伯文。
优选地,所述的多国文字解析方法,所述脚本程序通过:JAVA、VB、VC、VFP、ASP或者PHP编程语言封装制作。
本实施例还提供一种多国文字解析系统:
一种控件脚本程序中的多国文字解析系统,包括脚本程序封装制作模块、抓取模块、脚本输出模块、编码(接收)处理模块、一级缓存、转换模块、UTF-8转化模块,
所述脚本程序封装制作模块,用于封装制作所述脚本程序;
所述抓取模块,用于逐条抓取所述脚本程序的程序行,记录至TXT(纯文本格式)文件中;
所述脚本输出模块,用于将所述TXT文件输出至所述编码处理模块;
所述编码(接收)处理模块,用于将接收到的所述TXT文件内容保存至一级缓存中;
所述转换模块,用于将一级缓存中的TXT文件内容逐行转换成字节形式的所述脚本程序;
所述UTF-8转化模块,用于将所述字节按照UTF-8的格式转化,再将格式转化后的所述字节转换成字符形式的所述脚本程序。
优选地,所述的多国文字解析系统,还包括二级缓存,所述二级缓存,用于保存所述字符形式的脚本程序,供操作系统调用执行,尤其是作为android脚本程序的测试工具。
优选地,所述的多国文字解析系统,所述多国文字至少包括:中文、英文、日文、俄文、朝鲜文或者阿拉伯文。
第二实施例
在实施例一的基础上,本实施例又提供了一种控件脚本程序中的多国文字解析方法:
优选地,所述的多国文字解析方法,所述S700步骤后包括:S710:将所述字符保存至新的TXT文件中。供后续操作系统查询、修改。
本实施例还提供一种多国文字解析系统:
优选地,所述的多国文字解析系统,所述脚本程序封装制作模块为JAVA、VB、VC、VFP、ASP或者PHP编程语言工具。
优选地,所述的多国文字解析系统,所述抓取模块为控件捕捉器。
优选地,所述的多国文字解析系统,还包括存储器,所述存储器,用于保存所述字符形式的TXT文件,供操作系统查询、修改。
第三实施例
本技术方案要解决的技术问题是,自动化测试系统中,系统只能识别英语和中文,对于出现的其他异国语言文字,特别是不太使用的国家文字,如阿拉伯文,韩文等,都无法进行文字解析和提取。无法提取意味着无法对于语言载体的控件进行控制,因此本技术方案要解决这个问题。
现有android自动化工具技术,只能识别常用英文和中文,在android中无法将出现的其他异国文字进行解析提取,会产生解码失败问题,对于android自动化测试工具有着一定的局限性。针对这个问题,本案的能够解析出其他异国语言问题,并进行提取记录在TXT中,解决产生解码失败的问题。
本发明专利涉及到android多国语言的自动化测试文字解析方案技术。
本技术方案有至少包括两大模块,脚本输出模块,编码处理模块,如图3为本发明第三实施例核心模块结构示意图所示;
下面进行详细讲解两大块的内容。
脚本输出模块,使用纯TXT文本载体,进行脚本内容记录。
脚本内容通过Android控件捕捉器,根据用户点击进行选取,形成Android控件内容。记载到TXT文本中。如图4为本发明第三实施例流程结构示意图所示。
其次这边的一个步骤是,通过Android控件捕捉器,将Android各个Activity中的控件以图4为本发明第三实施例流程结构示意图中的每一行形式进行捕捉(捕捉Activity控件非本案重点内容),并记录到TXT中。
如图5为本发明第三实施例流程示意图所示,编码处理模块,从脚本输出模块接收到TXT脚本。
1)将TXT脚本内容保存到一级缓存中。(一级缓存是保存临时原始TXT脚本的空间)
2)并将脚本中的字符逐行内容转换成字节。
3)根据字节流内容输出后,将全部内容强制转化成UTF-8格式。
4)再将字节流内容转化为字符流,还原文字形式。
5)转化成字符流以后,有两种用法。
一种是保存入TXT脚本中供后续使用;另一种是保存到二级缓存中,待系统直接调用。(二级缓存是直接可以供系统调用的脚本化数据)
通过两大模块脚本输出模块,编码处理模块输出的脚本,可以接收任意国的文字,并进行保存为TXT格式。这边举一个例子,以韩文为测试文体,使用以上方法,能保存出完整的韩文(包括其他世界各国文体),如图6为本发明第三实施例应用本方案结果示意图所示,使用该种方式脚本能完整的保存出来。图7为本发明第三实施例未用本方案结果示意图所示,未使用本方案,所保存出来的脚本在windows电脑中无法解析出来,看到的都是“?”其次,如果未使用本方案保存到windows电脑中,其TXT脚本无法被工具所读取。
本方案使用功能简便,操作性良好,具有很强的封装性。本方案已经通过实验,在现有android自动化工具方法中进行运用,达到预期效果。
本方案思路和封装方法建立的多国语言解析方法可被应用于各种应用场景。其次技术方案是通过JAVA来实现功能的,但是还可以使用其他编程语言可对其进行封装制作和使用。
对于本领域技术人员而言,显然本发明不限于上述示范性实施例的细节,而且在不背离本发明的精神或基本特征的情况下,能够以其他的具体形式实现本发明。因此,无论从哪一点来看,均应将实施例看作是示范性的,而且是非限制性的,本发明的范围由所附权利要求而不是上述说明限定,因此旨在将落在权利要求的等同要件的含义和范围内的所有变化涵括在本发明内。不应将权利要求中的任何附图标记视为限制所涉及的权利要求。此外,显然“包括”一词不排除其他单元或步骤,单数不排除复数。装置权利要求中陈述的多个单元或装置也可以由一个单元或装置通过软件或者硬件来实现。第一,第二等词语用来表示名称,而并不表示任何特定的顺序。