文本显示测试方法、装置、计算机设备和存储介质与流程

文档序号:24074871发布日期:2021-02-26 16:40阅读:74来源:国知局
文本显示测试方法、装置、计算机设备和存储介质与流程

[0001]
本申请涉及计算机技术领域,特别是涉及一种文本显示测试方法、装置、计算机设备和存储介质。


背景技术:

[0002]
随着智能交互设备的逐渐普及,显示屏作为交互的重要入口,应用越来越广泛。由于全球用户使用的语言多种多样,且各语言显示差异较大,例如在表达相同含义的情况下,相较于中文文本,其他语言所需要的文本长度通常会更长,因此在产品开发过程中,对于页面中显示文本会发生变化的文本显示框,难以评估其需要的真实长度,而且由于显示屏幕大小和用户界面(ui)设计需要,一般不会将文本显示框的长度设计的太长,这给产品测试带来了严重考验,测试过程中难以模拟所有可能出现的文本变化,可能导致产品实际使用后出现文本显示不全的问题,影响用户体验。
[0003]
目前,通常是在设计阶段评估可能出现的最大文本长度,使文本显示框的长度大于或等于该长度,然后在测试阶段,人工手动操作模拟实际最大可能长度,确认是否会出现文本超框的现象,如果出现超框,则需要修改产品设计,再次测试验证。然而,目前的测试方法存在效率低下的问题。


技术实现要素:

[0004]
基于此,有必要针对上述技术问题,提供一种能够提高测试效率的文本显示测试方法、装置、计算机设备和存储介质。
[0005]
一种文本显示测试方法,所述方法包括:
[0006]
获取待测试页面中待测试文本控件的控件信息,所述控件信息包括文本属性;
[0007]
根据所述文本属性对应的文本参数值范围确定目标文本参数值,将所述目标文本参数值赋值给所述待测试文本控件并进行页面显示,获得赋值后页面;
[0008]
根据所述赋值后页面中显示的文本信息,获得所述待测试文本控件的文本显示测试结果。
[0009]
一种文本显示测试装置,所述装置包括:
[0010]
获取模块,用于获取待测试页面中待测试文本控件的控件信息,所述控件信息包括文本属性;
[0011]
赋值模块,用于根据所述文本属性对应的文本参数值范围确定目标文本参数值,将所述目标文本参数值赋值给所述待测试文本控件并进行页面显示,获得赋值后页面;
[0012]
测试模块,用于根据所述赋值后页面中显示的文本信息,获得所述待测试文本控件的文本显示测试结果。
[0013]
一种计算机设备,包括存储器和处理器,所述存储器存储有计算机程序,所述处理器执行所述计算机程序时实现以下步骤:
[0014]
获取待测试页面中待测试文本控件的控件信息,所述控件信息包括文本属性;
[0015]
根据所述文本属性对应的文本参数值范围确定目标文本参数值,将所述目标文本参数值赋值给所述待测试文本控件并进行页面显示,获得赋值后页面;
[0016]
根据所述赋值后页面中显示的文本信息,获得所述待测试文本控件的文本显示测试结果。
[0017]
一种计算机可读存储介质,其上存储有计算机程序,所述计算机程序被处理器执行时实现以下步骤:
[0018]
获取待测试页面中待测试文本控件的控件信息,所述控件信息包括文本属性;
[0019]
根据所述文本属性对应的文本参数值范围确定目标文本参数值,将所述目标文本参数值赋值给所述待测试文本控件并进行页面显示,获得赋值后页面;
[0020]
根据所述赋值后页面中显示的文本信息,获得所述待测试文本控件的文本显示测试结果。
[0021]
上述文本显示测试方法、装置、计算机设备和存储介质,获取待测试页面中待测试文本控件的控件信息,控件信息包括文本属性;根据文本属性对应的文本参数值范围确定目标文本参数值,将目标文本参数值赋值给待测试文本控件并进行页面显示,获得赋值后页面;根据赋值后页面中显示的文本信息,获得待测试文本控件的文本显示测试结果。据此,可以通过文本参数值范围内的目标文本参数值对文本控件进行自动赋值,判断每次赋值后页面的文本显示是否正常,从而实现对涉及动态文本显示的页面的快速测试,提升测试效率。
附图说明
[0022]
图1为一个实施例中文本显示测试方法的流程示意图;
[0023]
图2为一个实施例中文本显示测试方法的流程示意图;
[0024]
图3为一个实施例中文本显示测试装置的结构框图;
[0025]
图4为一个实施例中计算机设备的内部结构图。
具体实施方式
[0026]
为了使本申请的目的、技术方案及优点更加清楚明白,以下结合附图及实施例,对本申请进行进一步详细说明。应当理解,此处描述的具体实施例仅仅用以解释本申请,并不用于限定本申请。
[0027]
在一个实施例中,如图1所示,提供了一种文本显示测试方法,本实施例以该方法应用于终端进行举例说明,包括以下步骤s102至步骤s106。
[0028]
s102,获取待测试页面中待测试文本控件的控件信息,控件信息包括文本属性。
[0029]
软件开发过程中,可能会涉及到很多用户界面(ui)的设计,用户可以通过用户界面进行相应操作以实现交互。待测试页面可以表示需要测试的用户界面,对于一个页面,其中可以包含固定显示的内容,还可以包括动态显示的内容,该动态显示可以理解为显示的内容随着用户输入内容的变化而变化。例如,页面中包括一个用于输入温度值的文本框,用户在该文本框中输入温度值,该文本框中会显示用户输入的温度值,随着用户输入的温度值变化,该文本框中显示的温度值也会相应的发生动态变化。本实施例中,待测试页面具体可以是涉及动态文本显示的页面。
[0030]
待测试文本控件表示需要测试的文本控件,一个页面中可能包含文本、图片、视频等多种不同形式的内容,每种形式的内容具有相应的标识,文本控件表示用于显示文本形式内容的控件,对应有文本标识,通过文本标识可以识别出该控件对应的是文本形式的内容,例如,在ui页面的脚本语言(qml)中,text代表文本标识。一个页面可能包括多个文本控件,本实施例中,待测试文本控件可以包括页面的所有文本控件,测试时对该所有文本控件进行一一测试,当一个文本控件测试结束后,进行下一个文本控件测试。
[0031]
待测试文本控件的控件信息可以包括与显示文本相关的信息,文本属性可以用于表示显示什么内容,例如,待测试文本控件的文本属性为温度,即表示该待测试文本控件用于显示温度值。控件信息还可以包括控件标识(例如id)和显示相关信息等,控件标识与控件一一对应,用于区分不同的控件,显示相关信息用于决定文本在页面中的显示位置以及显示方式,例如,显示相关信息可以包括但不限于显示位置坐标(x、y)、宽度方向像素大小、高度方向像素大小、字体类型、字体大小、对齐方式、语言类型等。
[0032]
s104,根据文本属性对应的文本参数值范围确定目标文本参数值,将目标文本参数值赋值给待测试文本控件并进行页面显示,获得赋值后页面。
[0033]
文本属性对应的文本参数值范围,可以理解为该文本属性对应的文本可能显示的参数范围,具体可以包括该文本属性对应的文本所有可能显示的文本值。例如,文本属性为温度,对应的文本参数值范围可以是从-30℃到139℃;文本属性为机组模式,对应的文本参数值范围可以包括制冷、制热、除湿等模式。目标文本参数值表示文本参数值范围内的文本参数值,具体可以包括该文本参数值范围内的所有文本参数值,也可以包括该文本参数值范围内的部分指定的文本参数值。
[0034]
赋值是让待测试文本控件显示其允许显示范围内的文本,该允许显示范围和文本参数值范围保持一致,此处可直接对文本属性对应的变量赋值,或者通过模拟通讯或者其他逻辑进行文本参数值变更,以使页面文本动态变化,遍历该待测试文本控件所有可能的显示。赋值后页面表示在待测试页面中相应位置显示了赋值的目标文本参数值后所对应的页面,每进行一次目标文本参数值赋值,显示一次赋值后页面,并进行一次后续的判断处理,以测试本次赋值显示是否正常。
[0035]
s106,根据赋值后页面中显示的文本信息,获得待测试文本控件的文本显示测试结果。
[0036]
可以理解,赋值后页面中显示的文本信息包括目标文本参数值赋值后对应的显示信息。对于某一待测试文本控件,若对应的赋值后页面中显示的文本信息正常显示,可认为该待测试文本控件的文本显示测试结果为正常,若对应的赋值后页面中显示的文本信息异常显示(例如由于文本超框导致乱码),可认为该待测试文本控件的文本显示测试结果为存在异常。
[0037]
上述文本显示测试方法中,获取待测试页面中待测试文本控件的控件信息,控件信息包括文本属性;根据文本属性对应的文本参数值范围确定目标文本参数值,将目标文本参数值赋值给待测试文本控件并进行页面显示,获得赋值后页面;根据赋值后页面中显示的文本信息,获得待测试文本控件的文本显示测试结果。据此,可以通过文本参数值范围内的目标文本参数值对文本控件进行自动赋值,判断每次赋值后页面的文本显示是否正常,从而实现对涉及动态文本显示的页面的快速测试,提升测试效率。
[0038]
在一个实施例中,获取待测试页面中待测试文本控件的控件信息的步骤,具体可以包括以下步骤:获取待测试页面的页面源码;根据页面源码,获得待测试页面中待测试文本控件的控件信息。
[0039]
页面源码表示页面程序源代码,其是获取页面控件信息的来源,通过页面源码,可以获得其中所有的文本控件,根据各文本控件关联的信息,获得对应的控件信息。页面源码中还可以包括页面标识,页面标识与页面一一对应,用于区分不同页面。
[0040]
在一个实施例中,根据文本属性对应的文本参数值范围确定目标文本参数值的步骤,具体可以包括:获取文本属性对应的文本参数值范围中各文本参数值的长度;将文本参数值范围中长度大于或等于预设长度的文本参数值,确定为目标文本参数值。
[0041]
通过实际文本显示异常案例,可知导致文本显示异常的一个主要原因是文本显示不全,因此文本的长度与文本显示结果息息相关。若文本参数值范围过大,如果逐个赋值每个可能显示的参数值,会导致赋值显示及判断处理循环太大,影响资源和性能,拉低测试速度,如果确认该文本参数值范围中的某个赋值可以显示完全,那么长度短于该赋值的其它赋值,认为是可以正常显示的。
[0042]
基于此,可设置一预设长度,将文本参数值范围中长度大于或等于该预设长度的文本参数值,确定为目标文本参数值,从而过滤掉长度小于该预设长度的文本参数值,无需进行长度小于该预设长度的文本参数值赋值,减少赋值显示次数和判断处理次数,可节省处理资源,提升测试效率。此外,还可以对具有相同长度的文本参数值进行去重,以进一步减少赋值显示次数和判断处理次数。其中,预设长度可以基于实际情况进行设置,不同的文本属性可以设置不同的预设长度。
[0043]
在一个实施例中,在获得赋值后页面之后,还可以包括以下步骤:对赋值后页面进行截图获得页面图像;对页面图像进行文本识别,获得待测试文本信息。根据赋值后页面中显示的文本信息,获得待测试文本控件的文本显示测试结果的步骤,具体可以是:根据待测试文本信息,获得待测试文本控件的文本显示测试结果。
[0044]
对于赋值后页面,可以采用屏幕截图获得页面图像,图像数据来自于显示屏真实数据缓冲区,图像格式可以采用非压缩bmp格式。此外,也可以采用摄像头进行页面拍照来获得页面图像。
[0045]
对于获得的页面图像,可以利用任何可能的图像文本识别方式,对页面图像进行文本识别,识别出页面中的文本信息,作为待测试文本信息,根据待测试文本信息,获得待测试文本控件的文本显示测试结果。
[0046]
在一个实施例中,根据待测试文本信息,获得待测试文本控件的文本显示测试结果的步骤,具体可以包括:当待测试文本信息中包含非法字符或乱码时,判定待测试文本控件的文本显示测试结果为存在异常。
[0047]
如果赋值的文本参数值在待测试页面中显示不全,例如由于待测试文本控件长度不足,导致赋值的文本参数值只显示了一部分,可能会出现非法字符或乱码的显示。因此,当待测试文本信息中包含非法字符或乱码时,可认为对应的待测试文本控件的文本显示测试结果为存在异常,后续需要对该待测试文本控件的设计进行检查或修改。
[0048]
在一个实施例中,控件信息还包括文本语言类型;根据待测试文本信息,获得待测试文本控件的文本显示测试结果的步骤,具体可以包括:当待测试文本信息中包含不属于
文本语言类型对应的文本范围的文本时,判定待测试文本控件的文本显示测试结果为存在异常。
[0049]
文本语言类型表示待测试页面当前选择的语言类型,例如中文简体、中文繁体、英文、德语、阿拉伯语,不同语言的合法字符范围有所不同。根据unicode编码规范表,不同语言在规范表中范围是不一样的,如果待测试文本信息超出所选择的文本语言类型的合法字符范围,可认为对应的待测试文本控件的文本显示测试结果为存在异常。例如,在英文显示页面下,出现了阿拉伯语,可以判断显示异常。
[0050]
在一个实施例中,控件信息还包括文本显示位置信息;对页面图像进行文本识别,获得待测试文本信息的步骤,具体可以包括:对页面图像中文本显示位置信息对应的图像区域进行文本识别,获得待测试文本信息。
[0051]
待测试文本控件的文本显示位置信息用于指示该待测试文本控件所要显示的文本在页面中的显示位置,待测试文本控件为文本框时,文本显示位置信息可以包括:文本框左上角位置坐标(x、y)、文本框宽度以及文本框高度。获得赋值后页面的页面图像后,在文本显示位置信息对应的图像区域进行文本识别,获得的待测试文本信息,可认为是赋值的文本参数值的实际显示值,将该实际显示值与原始赋值进行对比,有助于提升测试结果准确性。
[0052]
在一个实施例中,根据待测试文本信息,获得待测试文本控件的文本显示测试结果的步骤,具体可以包括:当待测试文本信息与目标文本参数值不匹配时,判定待测试文本控件的文本显示测试结果为存在异常。
[0053]
本实施例中,待测试文本信息表示赋值的文本参数值的实际显示值,目标文本参数值表示赋值的文本参数值的原始值,当实际显示值与原始值不匹配时,可认为对应的待测试文本控件的文本显示测试结果为存在异常。可以通过逐一字符比对来获得实际显示值与原始值的匹配结果,实际显示值与原始值不匹配可以理解为实际显示值与原始值不完全一致,例如,实际显示值比原始值多了字符或少了字符,或者实际显示值与原始值包含不同的字符,都认为实际显示值与原始值不匹配。
[0054]
此外,为了提升自动检测效率,页面内的测试可以运行一定的逻辑,例如可根据语言类型,确定文本显示顺序,除个别语言外,绝大部分语言显示均为从左到右,另外根据水平对齐方式,对于左对齐的文本显示,右侧容易出现超框,同理可处理右对齐、居中对齐等。
[0055]
在一个实施例中,在根据赋值后页面中显示的文本信息,获得待测试文本控件的文本显示测试结果之后,还可以包括以下步骤:当待测试文本控件的文本显示测试结果为存在异常时,记录异常信息,异常信息包括控件信息和目标文本参数值。
[0056]
当待测试文本控件的文本显示测试结果为存在异常时,记录异常信息,异常信息可以包括存在异常显示的目标文本参数值、及其对应的文本控件的控件信息,控件信息可以包括控件标识、语言类型、字体信息等,异常信息还可以包括对应的存在异常显示的页面的页面标识。在实施中,可以在所有页面的文本显示测试结束后,根据记录的全部异常信息,快速找到需要修改的页面位置和文本控件位置。
[0057]
在一个实施例中,如图2所示,提供了一种文本显示测试方法,包括以下步骤s202至步骤s214。
[0058]
s202,获取待测试页面的页面源码。
[0059]
s204,根据页面源码,获得待测试页面中待测试文本控件的控件信息,控件信息包括文本属性。
[0060]
s206,获取文本属性对应的文本参数值范围中各文本参数值的长度,将文本参数值范围中长度大于或等于预设长度的文本参数值,确定为目标文本参数值。
[0061]
s208,将目标文本参数值赋值给待测试文本控件并进行页面显示,获得赋值后页面。
[0062]
s210,对赋值后页面进行截图获得页面图像。
[0063]
s212,对页面图像进行文本识别,获得待测试文本信息。
[0064]
s214,当检测到待测试文本信息存在显示异常时,记录异常信息,异常信息包括控件信息和目标文本参数值。
[0065]
关于步骤s202~s214的具体描述可以参见前文实施例,在此不再赘述。本实施例中,可以在涉及动态文本显示的ui页面开发测试过程中,利用从页面源码获取的文本控件信息,将文本属性对应的文本参数值赋值给文本控件进行显示,同时对页面进截图,并识别截图中的文本信息,如果文本信息显示异常,可认为当前动态文本显示可能存在超框现象,记录该异常信息以对其进行标记确认,从而可以实现自动快速地测试涉及动态文本显示的ui页面,提升设计验证效率,防止文本超框现象,确保产品符合要求。
[0066]
应该理解的是,虽然上述实施例涉及的各流程图中的各个步骤按照箭头的指示依次显示,但是这些步骤并不是必然按照箭头指示的顺序依次执行。除非本文中有明确的说明,这些步骤的执行并没有严格的顺序限制,这些步骤可以以其它的顺序执行。而且,上述实施例涉及的各流程图中的至少一部分步骤可以包括多个步骤或者多个阶段,这些步骤或者阶段并不必然是在同一时刻执行完成,而是可以在不同的时刻执行,这些步骤或者阶段的执行顺序也不必然是依次进行,而是可以与其它步骤或者其它步骤中的步骤或者阶段的至少一部分轮流或者交替地执行。
[0067]
在一个实施例中,如图3所示,提供了一种文本显示测试装置300,包括:获取模块310、赋值模块320和测试模块330,其中:
[0068]
获取模块310,用于获取待测试页面中待测试文本控件的控件信息,控件信息包括文本属性。
[0069]
赋值模块320,用于根据文本属性对应的文本参数值范围确定目标文本参数值,将目标文本参数值赋值给待测试文本控件并进行页面显示,获得赋值后页面。
[0070]
测试模块330,用于根据赋值后页面中显示的文本信息,获得待测试文本控件的文本显示测试结果。
[0071]
在一个实施例中,获取模块310在获取待测试页面中待测试文本控件的控件信息时,具体用于:获取待测试页面的页面源码;根据页面源码,获得待测试页面中待测试文本控件的控件信息。
[0072]
在一个实施例中,赋值模块320在根据文本属性对应的文本参数值范围确定目标文本参数值时,具体用于:获取文本属性对应的文本参数值范围中各文本参数值的长度;将文本参数值范围中长度大于或等于预设长度的文本参数值,确定为目标文本参数值。
[0073]
在一个实施例中,该装置还包括截图模块和识别模块,截图模块用于对赋值后页面进行截图获得页面图像;识别模块用于对页面图像进行文本识别,获得待测试文本信息。
[0074]
在一个实施例中,测试模块330在根据赋值后页面中显示的文本信息,获得待测试文本控件的文本显示测试结果时,具体用于:根据待测试文本信息,获得待测试文本控件的文本显示测试结果。
[0075]
在一个实施例中,测试模块330在根据待测试文本信息,获得待测试文本控件的文本显示测试结果,具体用于:当待测试文本信息中包含非法字符或乱码时,判定待测试文本控件的文本显示测试结果为存在异常。
[0076]
在一个实施例中,控件信息还包括文本语言类型;测试模块330在根据待测试文本信息,获得待测试文本控件的文本显示测试结果,具体用于:当待测试文本信息中包含不属于文本语言类型对应的文本范围的文本时,判定待测试文本控件的文本显示测试结果为存在异常。
[0077]
在一个实施例中,控件信息还包括文本显示位置信息;识别模块在对页面图像进行文本识别,获得待测试文本信息时,具体用于:对页面图像中文本显示位置信息对应的图像区域进行文本识别,获得待测试文本信息。
[0078]
在一个实施例中,测试模块330在根据待测试文本信息,获得待测试文本控件的文本显示测试结果,具体用于:当待测试文本信息与目标文本参数值不匹配时,判定待测试文本控件的文本显示测试结果为存在异常。
[0079]
在一个实施例中,该装置还包括记录模块,用于当待测试文本控件的文本显示测试结果为存在异常时,记录异常信息,异常信息包括控件信息和目标文本参数值。
[0080]
关于文本显示测试装置的具体限定可以参见上文中对于文本显示测试方法的限定,在此不再赘述。上述文本显示测试装置中的各个模块可全部或部分通过软件、硬件及其组合来实现。上述各模块可以硬件形式内嵌于或独立于计算机设备中的处理器中,也可以以软件形式存储于计算机设备中的存储器中,以便于处理器调用执行以上各个模块对应的操作。
[0081]
在一个实施例中,提供了一种计算机设备,该计算机设备可以是终端,其内部结构图可以如图4所示。该计算机设备包括通过系统总线连接的处理器、存储器、通信接口、显示屏和输入装置。其中,该计算机设备的处理器用于提供计算和控制能力。该计算机设备的存储器包括非易失性存储介质、内存储器。该非易失性存储介质存储有操作系统和计算机程序。该内存储器为非易失性存储介质中的操作系统和计算机程序的运行提供环境。该计算机设备的通信接口用于与外部的终端进行有线或无线方式的通信,无线方式可通过wifi、运营商网络、nfc(近场通信)或其他技术实现。该计算机程序被处理器执行时以实现一种文本显示测试方法。该计算机设备的显示屏可以是液晶显示屏或者电子墨水显示屏,该计算机设备的输入装置可以是显示屏上覆盖的触摸层,也可以是计算机设备外壳上设置的按键、轨迹球或触控板,还可以是外接的键盘、触控板或鼠标等。
[0082]
本领域技术人员可以理解,图4中示出的结构,仅仅是与本申请方案相关的部分结构的框图,并不构成对本申请方案所应用于其上的计算机设备的限定,具体的计算机设备可以包括比图中所示更多或更少的部件,或者组合某些部件,或者具有不同的部件布置。
[0083]
在一个实施例中,提供了一种计算机设备,包括存储器和处理器,存储器中存储有计算机程序,该处理器执行计算机程序时实现上述各个方法实施例中的步骤。
[0084]
在一个实施例中,提供了一种计算机可读存储介质,其上存储有计算机程序,计算
机程序被处理器执行时实现上述各个方法实施例中的步骤。
[0085]
在一个实施例中,提供了一种计算机程序产品或计算机程序,该计算机程序产品或计算机程序包括计算机指令,该计算机指令存储在计算机可读存储介质中。计算机设备的处理器从计算机可读存储介质读取该计算机指令,处理器执行该计算机指令,使得该计算机设备执行上述各方法实施例中的步骤。
[0086]
需要理解的是,上述实施例中的术语“第一”、“第二”等仅用于描述目的,而不能理解为指示或暗示相对重要性或者隐含指明所指示的技术特征的数量。针对数值范围的描述,术语“多个”表示多于一个,即等于或大于两个。
[0087]
本领域普通技术人员可以理解实现上述实施例方法中的全部或部分流程,是可以通过计算机程序来指令相关的硬件来完成,所述的计算机程序可存储于一非易失性计算机可读取存储介质中,该计算机程序在执行时,可包括如上述各方法的实施例的流程。其中,本申请所提供的各实施例中所使用的对存储器、存储、数据库或其它介质的任何引用,均可包括非易失性和易失性存储器中的至少一种。非易失性存储器可包括只读存储器(read-only memory,rom)、磁带、软盘、闪存或光存储器等。易失性存储器可包括随机存取存储器(random access memory,ram)或外部高速缓冲存储器。作为说明而非局限,ram可以是多种形式,比如静态随机存取存储器(static random access memory,sram)或动态随机存取存储器(dynamic random access memory,dram)等。
[0088]
以上实施例的各技术特征可以进行任意的组合,为使描述简洁,未对上述实施例中的各个技术特征所有可能的组合都进行描述,然而,只要这些技术特征的组合不存在矛盾,都应当认为是本说明书记载的范围。
[0089]
以上所述实施例仅表达了本申请的几种实施方式,其描述较为具体和详细,但并不能因此而理解为对发明专利范围的限制。应当指出的是,对于本领域的普通技术人员来说,在不脱离本申请构思的前提下,还可以做出若干变形和改进,这些都属于本申请的保护范围。因此,本申请专利的保护范围应以所附权利要求为准。
当前第1页1 2 3 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1