CN111142988B - 页面测试方法、装置、存储介质及电子设备 - Google Patents
页面测试方法、装置、存储介质及电子设备 Download PDFInfo
- Publication number
- CN111142988B CN111142988B CN201911222112.0A CN201911222112A CN111142988B CN 111142988 B CN111142988 B CN 111142988B CN 201911222112 A CN201911222112 A CN 201911222112A CN 111142988 B CN111142988 B CN 111142988B
- Authority
- CN
- China
- Prior art keywords
- display area
- target
- control element
- display
- determining
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Active
Links
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/44—Arrangements for executing specific programs
- G06F9/451—Execution arrangements for user interfaces
- G06F9/454—Multi-language systems; Localisation; Internationalisation
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/36—Preventing errors by testing or debugging software
- G06F11/3668—Software testing
- G06F11/3672—Test management
- G06F11/3688—Test management for test execution, e.g. scheduling of test suites
-
- Y—GENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
- Y02—TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
- Y02D—CLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
- Y02D10/00—Energy efficient computing, e.g. low power processors, power management or thermal management
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Software Systems (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Human Computer Interaction (AREA)
- Computer Hardware Design (AREA)
- Quality & Reliability (AREA)
- User Interface Of Digital Computer (AREA)
Abstract
本公开涉及一种页面测试方法、装置、存储介质及电子设备,以实现自动化的页面测试,提高页面测试的效率。该方法包括:对应用程序中待测试的目标页面进行解析,得到所述目标页面对应的文档对象模型DOM树结构;在所述DOM树结构中,确定包括文本信息的控件元素,所述文本信息在所述目标页面的当前显示语言为第一语言;将所述文本信息的显示语言由所述第一语言转换为第二语言,所述第二语言与所述第一语言不同;若转换后的所述文本信息显示在所述控件元素对应的目标显示区域外,则确定所述目标页面存在显示异常。
Description
技术领域
本公开涉及计算机技术领域,具体地,涉及一种页面测试方法、装置、存储介质及电子设备。
背景技术
随着国际交流的密切和行业标准的国际性统一,应用程序不仅需要提供一国语言的版本,还要提供其他国家语言的版本。为了保证不同语言版本下的应用程序显示正常,需要针对不同语言版本进行页面测试。
相关技术中,主要是进行人工测试,即人工通过肉眼观察转换语言版本后,应用程序是否存在页面显示异常。但是,此种方式需要耗费大量的人力成本和时间,测试效率不高。
发明内容
本公开的目的是提供一种页面测试方法、装置、存储介质及电子设备,以提供一种新的页面测试方法,提高页面测试效率。
为了实现上述目的,第一方面,本公开提供一种页面测试方法,所述方法包括:
对应用程序中待测试的目标页面进行解析,得到所述目标页面对应的文档对象模型DOM树结构;
在所述DOM树结构中,确定包括文本信息的控件元素,所述文本信息在所述目标页面的当前显示语言为第一语言;
将所述文本信息的显示语言由所述第一语言转换为第二语言,所述第二语言与所述第一语言不同;
若转换后的所述文本信息显示在所述控件元素对应的目标显示区域外,则确定所述目标页面存在显示异常。
可选地,所述方法还包括:
将所述控件元素在所述目标页面上的预设显示区域确定为所述目标显示区域;
所述若转换后的所述文本信息显示在所述控件元素对应的目标显示区域外,则确定所述目标页面存在显示异常,包括:
根据转换后的所述文本信息的文本字符长度以及字符大小,确定转换后的所述文本信息在所述目标页面上显示所需的第一显示区域;
若所述第一显示区域的范围超过所述目标显示区域的范围,则确定所述目标页面存在显示异常。
可选地,所述将所述控件元素在所述目标页面上的预设显示区域确定为所述目标显示区域,包括:
确定所述控件元素是否为用于显示文本信息的预设控件元素;
若所述控件元素是所述预设控件元素,则将所述控件元素在所述目标页面上的预设显示区域确定为所述目标显示区域;
所述方法还包括:
若所述控件元素不是所述预设控件元素,则将所述控件元素的父类控件元素在所述目标页面上的预设显示区域确定为所述目标显示区域。
可选地,所述方法还包括:
将与所述DOM树结构中其他控件元素对应的显示区域无重叠的、所述控件元素对应的显示区域确定为所述目标显示区域;
所述若转换后的所述文本信息显示在所述控件元素对应的目标显示区域外,则确定所述目标页面存在显示异常,包括:
根据转换后的所述文本信息的文本字符长度以及字符大小,确定所述控件元素显示转换后的所述文本信息所需的第二显示区域;
若所述第二显示区域的范围超过所述目标显示区域的范围,则确定所述目标页面存在显示异常。
可选地,所述将与所述DOM树结构中其他控件元素对应的显示区域无重叠的、所述控件元素对应的显示区域确定为所述目标显示区域,包括:
按照预设查找次数,从所述控件元素的兄弟元素开始、往所述DOM树结构的根节点元素进行查找,确定所述控件元素周围的目标控件元素;
将与所述目标控件元素对应的显示区域无重叠的、所述控件元素对应的显示区域确定为所述目标显示区域;
所述若所述第二显示区域的范围超过所述目标显示区域的范围,则确定所述目标页面存在显示异常,包括:
若所述第二显示区域与所述目标控件元素对应的显示区域存在重叠区域,则确定所述目标页面显示异常。
可选地,所述方法还包括:
若所述第二显示区域与所述目标控件元素对应的显示区域不存在重叠区域,则响应于用户的选择操作,确定待比对的第三显示区域,其中所述第三显示区域的范围比所述目标控件元素对应的显示区域的范围大;
若所述第二显示区域与所述第三显示区域存在重叠区域,则确定所述目标页面显示异常。
可选地,在确定所述目标页面存在显示异常之后,所述方法还包括:
对所述目标页面上显示异常的所述控件元素进行标注;
将标注后的所述目标页面进行显示,以提示用户所述目标页面中存在显示异常的控件元素的位置。
第二方面,本公开还提供一种页面测试装置,所述装置包括:
解析模块,用于对应用程序中待测试的目标页面进行解析,得到所述目标页面对应的文档对象模型DOM树结构;
第一确定模块,用于在所述DOM树结构中,确定包括文本信息的控件元素,所述文本信息在所述目标页面的当前显示语言为第一语言;
转换模块,用于将所述文本信息的显示语言由所述第一语言转换为第二语言,所述第二语言与所述第一语言不同;
第二确定模块,用于当转换后的所述文本信息显示在所述控件元素对应的目标显示区域外时,确定所述目标页面存在显示异常。
第三方面,本公开还提供一种计算机可读存储介质,其上存储有计算机程序,该程序被处理器执行时实现第一方面中任一项所述方法的步骤。
第四方面,本公开还提供一种电子设备,包括:
存储器,其上存储有计算机程序;
处理器,用于执行所述存储器中的所述计算机程序,以实现第一方面中任一项所述方法的步骤。
通过上述技术方案,电子设备可以对应用程序中待测试的目标页面进行解析,得到目标页面对应的文档对象模型DOM树结构。然后,可以在DOM树结构中,确定包括文本信息的控件元素,并将文本信息的显示语言由第一语言转换为第二语言,若转换后的文本信息显示在控件元素对应的目标显示区域外,则可以确定目标页面存在显示异常。通过这样的方式,电子设备可以对应用程序的页面进行自动化测试,相较于相关技术中的人工测试方式,可以减少页面测试过程中耗费的人力与时间,从而提高页面测试的效率。
本公开的其他特征和优点将在随后的具体实施方式部分予以详细说明。
附图说明
附图是用来提供对本公开的进一步理解,并且构成说明书的一部分,与下面的具体实施方式一起用于解释本公开,但并不构成对本公开的限制。在附图中:
图1是根据本公开一示例性实施例示出的一种页面测试方法的流程图;
图2是根据本公开一示例性实施例示出的一种页面测试方法中标注显示异常结果后的页面示意图;
图3是根据本公开另一示例性实施例示出的一种页面测试方法的流程图;
图4是根据本公开另一示例性实施例示出的一种页面测试装置的框图;
图5是根据本公开另一示例性实施例示出的一种电子设备的框图。
具体实施方式
以下结合附图对本公开的具体实施方式进行详细说明。应当理解的是,此处所描述的具体实施方式仅用于说明和解释本公开,并不用于限制本公开。
随着国际交流的密切和行业标准的国际性统一,应用程序不仅需要提供一国语言的版本,还要提供其他国家语言的版本。但是,对于不同国家的语言,表达同一语义的分词可能具有不同的字符长度,比如中文的“你好”对应两个字符,而英文的“HELLO”对应5个字符,两者表达问候的分词具有不同的字符长度,从而可能导致应用程序的页面显示异常,比如在显示英文时,分词“HELLO”超出预设显示框,等等。因此,为了保证不同语言版本下的应用程序显示正常,需要针对不同语言版本进行页面测试。
相关技术中,主要是进行人工测试,即人工通过肉眼观察转换语言版本后的应用程序是否存在页面显示异常。但是,此种方式需要耗费大量的人力成本和时间,测试效率不高。
有鉴于此,本公开实施例提供一种页面测试方法、装置、存储介质及电子设备,以实现自动化的页面测试,提高页面测试的效率。
首先应当理解的是,本公开实施例中的页面测试方法可以应用于电子设备,该电子设备可以是电脑、手机等不同类型的电子设备,本公开实施例对此不作限定。
图1是根据本公开一示例性实施例示出的一种页面测试方法的流程图。参照图1,该页面测试方法可以包括:
步骤101,对应用程序中待测试的目标页面进行解析,得到目标页面对应的文档对象模型DOM树结构。
步骤102,在DOM树结构中,确定包括文本信息的控件元素。其中,文本信息在目标页面的当前显示语言为第一语言。
步骤103,将文本信息的显示语言由第一语言转换为第二语言。其中,第二语言与第一语言不同。
步骤104,若转换后的文本信息显示在控件元素对应的目标显示区域外,则确定目标页面存在显示异常。
通过上述方式,电子设备可以对应用程序的页面进行自动化测试,相较于相关技术中的人工测试方式,可以减少页面测试过程中耗费的人力与时间,从而提高页面测试的效率。
为了使得本领域技术人员更加理解本公开实施例中的页面测试方法,下面对上述各步骤进行详细举例说明。
示例地,在步骤101中,针对目标页面进行解析,可以是根据目标页面的HTML文档进行解析。具体的,可以将整个HTML文档作为一个文档节点,并将该文档节点作为DOM树结构的根节点。然后从头开始,将HTML文档中的每个HTML标签分别作为元素节点,将包含在HTML标签中的文本分别作为文本节点,将每个HTML标签的属性分别作为属性节点,从而得到目标页面对应的DOM树结构。其中,应当理解的是,不同的HTML标签在目标页面中即表现为不同的控件元素,比如HTML标签“<textarea>”在目标页面中即表现为文本框这一控件元素,因此DOM树结构中的每个节点也可以看作是分别与目标页面中的每个控件元素一一对应,从而可以在DOM树结构中,确定包括文本信息的控件元素。
示例地,可以根据DOM树结构中每个节点所表征的HTML标签,确定包括文本信息的控件元素,比如,某一控件元素的HTML标签为文本框标签“<textarea>”,则可以确定该控件元素为包括文本信息的控件元素。或者,可以先确定DOM树结构中的节点是否包括为文本节点的子节点,若该节点包括为文本节点的子节点,则可以确定该节点表征的HTML标签包括文本信息,进而可以确定该HTML标签对应的控件元素包括文本信息。
应理解的是,应用程序中的页面包括原生页面和HTML5页面。其中,HTML5页面中的HTML文档中可能包括例如“layout”、“webview”等与页面显示无关而无需进行页面测试的标签,因此在步骤101之后,还可以先判断目标页面是否为HTML5页面,若目标页面为HTML5页面,则可以在解析得到DOM树结构后,先删除与页面显示无关的HTML标签表征的节点,从而可以在进行删除操作后的DOM树中,确定包括文本信息的控件元素。通过此种方式,可以简化DOM树结构,从而提高在DOM树结构中确定包括文本信息的控件元素的效率。
在确定包括文本信息的控件元素后,可以按照预设语言库文件,分别将该控件元素中的文本信息由第一语言转换为与第一语言不同的第二语言,从而实现针对不同语言版本的页面测试。比如,预设语言库文件中包括中文、英文和日文,且第一语言为中文,那么可以分别将控件元素的文本信息转换为英文和日文,并判断转换后的文本信息是否显示在控件元素对应的目标显示区域外。若文本信息显示在控件元素对应的目标显示区域外,则可以确定目标页面存在显示异常。
在可能的方式中,可以将控件元素在目标页面上的预设显示区域确定为目标显示区域。相应地,若转换后的文本信息显示在控件元素对应的目标显示区域外,则确定目标页面存在显示异常,可以是:先根据转换后的文本信息的文本字符长度以及字符大小,确定转换后的文本信息在目标页面上显示所需的第一显示区域。若第一显示区域的范围超过目标显示区域的范围,则可以确定目标页面存在显示异常。
示例地,控件元素在目标页面上的预设显示区域可以是根据控件元素对应HTML标签的属性信息确定的,该属性信息可以表征控件元素在目标页面上显示的区域高度、宽度以及位置。在此种情况下,该控件元素在目标页面上的显示区域是固定大小的,无法根据控件元素的文本内容多少进行自适应变化,因此该控件元素可以认为是非自适应控件元素。
在控件元素为非自适应控件元素的情况下,若控件元素的文本信息超出该控件元素在目标页面上的预设显示区域,则可以认为该控件元素的显示存在异常,从而可以确定目标页面存在显示异常。具体的,可以先确定转换后的文本信息的字符长度。另外,控件元素的文本属性信息可以指定文本信息的字符大小,因此还可以根据控件元素的文本属性信息确定转换后的文本信息的文本字符大小。然后,可以根据该文本字符长度以及字符大小,确定转换后的文本信息在目标页面上显示所需的第一显示区域。
应当理解的是,第一显示区域可以是转换后的文本信息在控件元素所处位置进行完整显示所需的显示区域,比如可以是矩形文本区域,等等,本公开实施例对此不作限定。该第一显示区域可能比控件元素对应的预设显示区域大,也可能比控件元素对应的预设显示区域小,或者两者相等。
在确定第一显示区域后,可以确定第一显示区域的范围是否超过目标显示区域的范围,若第一显示区域的范围超过目标显示区域的范围,则可以确定目标页面存在显示异常。示例地,为了便于将第一显示区域的范围与目标显示区域的范围作比较,可以从目标显示界面的起始边界开始确定第一显示区域。比如,第一显示区域与目标显示区域均为矩形区域,那么可以设定第一显示区域的左边长与目标显示区域的左边长重合。在此种情况下,可以将第一显示区域的长度和宽度分别与目标显示区域的长度和宽度作比对,若第一显示区域的长度和宽度均小于或等于目标显示区域的长度和宽度,则可以确定第一显示区域的范围未超过目标显示区域的范围,从而可以确定该控件元素在目标页面中不存在显示异常,否则可以确定第一显示区域的范围超过目标显示区域的范围,从而可以确定目标页面存在显示异常。
通过上述方式,若控件元素为无法根据文本信息的内容改变显示区域大小的非自适应控件元素,则可以根据转换后的文本信息的文本字符长度以及字符大小,确定转换后的文本信息在目标页面上显示所需的第一显示区域。若第一显示区域的范围超过目标显示区域的范围,则确定目标页面存在显示异常,可以实现对应用程序页面的自动化测试,减少人工测试过程中耗费的人力与时间,从而提高测试效率。
在可能的方式中,包括文本信息的控件元素可能是用户自定义的包括文本信息的控件元素,比如带有背景属性或者边框属性的“div”、“span”等HTML标签对应的控件元素。在此种情况下,这些控件元素周围可能还包括用于布局显示的其他控件元素,因此为了更加准确的确定目标显示区域,可以先确定控件元素是否为用于显示文本信息的预设控件元素,若控件元素是预设控件元素,则将控件元素在目标页面上的预设显示区域确定为目标显示区域。若控件元素不是预设控件元素,则可以将控件元素的父类控件元素在目标页面上的预设显示区域确定为目标显示区域。
示例地,预设控件元素可以是用于显示文本信息的通用控件元素,比如“<textarea>”、“<a>”、“<button>”等HTML标签对应的控件元素,用户可以根据实际情况进行设定,本公开实施例对此不作限定。
示例地,可以将控件元素对应的HTML标签分别与预设控件元素对应的HTML标签进行比对,若控件元素对应的HTML标签可以在预设控件元素对应的HTML标签中查找到,则可以确定该控件元素为预设控件元素,从而可以将该控件元素在目标页面上的预设显示区域确定为目标显示区域。否则,可以将控件元素的父类控件元素在目标页面上的预设显示区域确定为目标显示区域。
示例地,确定控件元素的父类控件元素可以是:先确定控件元素对应的HTML标签,再确定表征该HTML标签的节点在DOM树结构中的父节点,然后可以将该父节点表征的HTML标签所对应的控件元素确定为该控件元素的父类控件元素。
应当理解的是,在可能的方式中,为了进一步提高确定目标显示区域的准确性,在查找到一个父类控件元素后,同样可以判断该父类控件元素是否为预设控件元素,若该父类控件元素为预设控件元素,则将该父类控件元素在目标页面上的预设显示区域确定为目标显示区域。否则,继续查找该父类控件元素的父类控件元素,直到查找次数达到预设次数或者父类控件元素为预设控件元素。
除了上述控件元素为非自适应控件元素的情况,在本公开实施例中,控件元素还可能是根据文本信息的多少而改变显示区域大小的自适应控件元素。在此种情况下,自适应控件元素的显示区域可能与目标页面中其他控件元素的显示区域相重叠,从而导致页面显示异常。
因此,在可能的方式中,还可以将与DOM树结构中其他控件元素对应的显示区域无重叠的、控件元素对应的显示区域确定为目标显示区域。相应地,若转换后的文本信息显示在控件元素对应的目标显示区域外,则确定目标页面存在显示异常,可以是:根据转换后的文本信息的文本字符长度以及字符大小,确定控件元素显示转换后的文本信息所需的第二显示区域。若第二显示区域的范围超过目标显示区域的范围,则确定目标页面存在显示异常。
示例地,可以先在DOM树结构中确定除待测试的控件元素外的其他控件元素,然后在目标页面中确定除其他控件元素的显示区域以外的显示区域。接着,在该显示区域内,将控件元素的初始预设显示区域进行等比例放大,直到控件元素的显示区域与该显示区域的边界具有重合点。在此种情况下的控件元素的显示区域即为与其他控件元素对应的显示区域无重叠的目标显示区域。
在确定目标显示区域后,由于该控件元素的显示区域可以根据文本信息的多少而改变,因此可以根据转换后的文本信息的文本字符长度以及字符大小,确定控件元素显示转换后的文本信息所需的第二显示区域。该第二显示区域可以是控件元素对转换后的文本信息进行完整显示所需的显示区域。
然后,可以判断第二显示区域的范围是否超过目标显示区域的范围。若第二显示区域的范围超过目标显示区域的范围,则可以确定目标页面存在显示异常,否则可以确定给控件元素在目标页面显示正常。
在可能的方式中,将与DOM树结构中其他控件元素对应的显示区域无重叠的、控件元素对应的显示区域确定为目标显示区域,可以是:先按照预设查找次数,从控件元素的兄弟元素开始、往DOM树结构的根节点元素进行查找,确定控件元素周围的目标控件元素。然后将与目标控件元素对应的显示区域无重叠的、控件元素对应的显示区域确定为目标显示区域。相应地,若第二显示区域的范围超过目标显示区域的范围,则确定目标页面存在显示异常,可以是:若第二显示区域与目标控件元素对应的显示区域存在重叠区域,则确定目标页面显示异常。
如果DOM树结构层级较深,那么控件元素可能具有多个兄弟控件元素,那么查找兄弟控件元素则可能耗费较多的资源,从而影响整体的页面测试效率。因此,在本公开实施例中,可以设定预设查找次数,限定是在预设查找次数内进行查找,从而可以避免查找兄弟控件元素而造成的过多资源耗费,提高页面测试效率。
示例地,预设查找次数可以是根据实际情况设定的,比如可以设定为5,等等,本公开实施例对此不作限定。如果将预设查找次数设定为5,第一次查找可以是查找控件元素的兄弟控件元素,第二次查找可以查找该控件元素的父类控件元素的兄弟控件元素,以此类推,往DOM树结构的根节点元素进行查找,直到查找次数达到预设查找次数,从而确定控件元素周围的目标控件元素。
在查找到兄弟控件元素之后,即确定控件元素周围的目标控件元素之后,可以将与目标控件元素对应的显示区域无重叠的、控件元素对应的显示区域确定为目标显示区域,在此种情况下,若第二显示区域与目标控件元素对应的显示区域存在重叠,则说明第二显示区域的范围超过了目标显示区域的范围,从而可以确定目标页面存在显示异常。
或者,在其他可能的方式中,如果将预设查找次数设定为5,针对第一次查找得到的兄弟元素,可以分别判断第二显示区域与该兄弟元素对应的显示区域是否存在重叠区域,若存在重叠区域则可以确定该控件元素存在显示异常,从而可以确定目标页面存在显示异常。否则,可以将查找次数加一,继续查找,直到查找次数达到预设查找次数。
进一步,为了保证页面测试的完整性,避免未测试出由于控件元素与除目标控件元素以外的其他控件元素对应的显示区域存在重叠区域而导致的页面显示异常,可以在第二显示区域与目标控件元素对应的显示区域不存在重叠区域的情况下,自定义比目标控件元素的显示区域更大的测试区域,以确定第二显示区域与该测试区域是否存在重叠区域,从而实现对控件元素的完整测试。
也即是说,在可能的方式中,若第二显示区域与目标控件元素对应的显示区域不存在重叠区域,则可以响应于用户的选择操作,确定待比对的第三显示区域,其中第三显示区域的范围比目标控件元素对应的显示区域的范围大;若第二显示区域与第三显示区域存在重叠区域,则确定目标页面显示异常。通过这样的方式,可以在减少用于查找兄弟控件元素的资源损耗的情况下,保证页面测试的完整性。
在可能的方式中,在确定目标页面存在显示异常之后,还可以对目标页面上显示异常的控件元素进行标注,然后将标注后的目标页面进行显示,以提示用户目标页面中存在显示异常的控件元素的位置。
相关技术中,在人工确定应用程序存在页面显示异常后,还需要人工判断并记录页面中存在显示异常的控件元素的位置,如果页面中存在较多显示异常,则需要耗费大量的人力和时间进行记录,效率不高。而本公开实施例中,电子设备在确定目标页面存在显示异常之后,还可以根据控件元素对应的HTML标签中该控件元素的高度、宽度和位置信息,确定存在显示异常的控件元素的位置,并对该位置进行自动标注,然后可以将标注后的目标页面进行截图操作,并将截图操作得到的图像向用户进行显示。
例如,图2是电子设备在确定内容为“立即执行场景测试”的文本框的文本信息超出该文本框的预设显示区域后,即确定目标页面存在显示异常后截取的图像。在该图像中,通过矩形框标注出了存在显示异常的控件元素(内容为“立即执行场景测试”的文本框),从而用户通过该截图可以方便地获知目标页面中存在显示异常的控件元素的位置,提高了定位目标页面异常位置以及记录页面异常位置的效率。
下面根据另一示例性实施例对本公开的页面测试方法进行说明。参照图3,该页面测试方法可以包括:
步骤301,对应用程序中待测试的目标页面进行解析,得到所述目标页面对应的DOM树结构。
步骤302,在DOM树结构中,确定包括文本信息的控件元素。应当理解的是,若目标页面为原生页面,则步骤302中的DOM树可以直接是对目标页面解析得到的DOM树。若目标页面为HTML5页面,则步骤302中的DOM树可以是针对目标页面解析后得到的DOM树,再进行删除与页面显示无关的HTML标签表征的节点后得到的DOM树。
步骤303,确定控件元素是否为自适应控件元素,若是,则进入步骤304,否则进入步骤305。
步骤304,按照预设查找次数,从控件元素的兄弟元素开始、往DOM树结构的根节点元素进行查找,确定控件元素周围的目标控件元素,进入步骤311。
步骤305,确定控件元素是否为用于显示文本信息的预设控件元素,若是,则进入步骤306,否则,进入步骤307。
步骤306,将控件元素在所述目标页面上的预设显示区域确定为目标显示区域。
步骤307,将控件元素的父类控件元素在目标页面上的预设显示区域确定为目标显示区域。
步骤308,按照预设语言库文件,分别将文本信息的显示语言由第一语言转换为第二语言。
步骤309,根据转换后的文本信息的文本字符长度以及字符大小,确定转换后的文本信息在目标页面上显示所需的第一显示区域。
步骤310,若第一显示区域的范围超过目标显示区域的范围,则确定目标页面存在显示异常。
步骤311,将与目标控件元素对应的显示区域无重叠的、控件元素对应的显示区域确定为目标显示区域。
步骤312,按照预设语言库文件,分别将文本信息的显示语言由第一语言转换为第二语言。
步骤313,根据转换后的文本信息的文本字符长度以及字符大小,确定控件元素显示转换后的文本信息所需的第二显示区域。
步骤314,若第二显示区域与目标控件元素对应的显示区域存在重叠区域,则确定目标页面显示异常。
步骤315,若第二显示区域与目标控件元素对应的显示区域不存在重叠区域,则响应于用户的选择操作,确定待比对的第三显示区域。
步骤316,若第二显示区域与第三显示区域存在重叠区域,则确定目标页面显示异常。
步骤317,对目标页面上显示异常的控件元素进行标注。
步骤318,将标注后的目标页面进行显示,以提示用户目标页面中存在显示异常的控件元素的位置。
上述各步骤的具体实施方式已在上文进行详细举例说明,这里不再赘述。另外应当理解的是,对于上述方法实施例,为了简单描述,故将其都表述为一系列的动作组合,但是本领域技术人员应该知悉,本公开并不受上文所描述的动作顺序的限制。其次,本领域技术人员也应该知悉,上文所描述的实施例属于优选实施例,所涉及的步骤并不一定是本公开所必须的。
通过上述方式,电子设备可以对应用程序的页面进行自动化测试,相较于相关技术中的人工测试方式,可以减少页面测试过程中耗费的人力与时间,从而提高页面测试的效率。
基于同一发明构思,本公开实施例还提供一种页面测试装置,该装置可以通过软件、硬件或者两者结合的方式成为电子设备的部分或全部。参照图4,该页面测试装置400可以包括:
解析模块401,用于对应用程序中待测试的目标页面进行解析,得到所述目标页面对应的文档对象模型DOM树结构;
第一确定模块402,用于在所述DOM树结构中,确定包括文本信息的控件元素,所述文本信息在所述目标页面的当前显示语言为第一语言;
转换模块403,用于将所述文本信息的显示语言由所述第一语言转换为第二语言,所述第二语言与所述第一语言不同;
第二确定模块404,用于当转换后的所述文本信息显示在所述控件元素对应的目标显示区域外时,确定所述目标页面存在显示异常。
可选地,所述装置400还包括:
第一区域确定模块,用于将所述控件元素在所述目标页面上的预设显示区域确定为所述目标显示区域;
所述第二确定模块404用于:
根据转换后的所述文本信息的文本字符长度以及字符大小,确定转换后的所述文本信息在所述目标页面上显示所需的第一显示区域;
当所述第一显示区域的范围超过所述目标显示区域的范围时,确定所述目标页面存在显示异常。
可选地,所述第一区域确定模块用于:
确定所述控件元素是否为用于显示文本信息的预设控件元素;
当所述控件元素是所述预设控件元素时,将所述控件元素在所述目标页面上的预设显示区域确定为所述目标显示区域;
所述装置400还包括:
第二区域确定模块,用于当所述控件元素不是所述预设控件元素时,将所述控件元素的父类控件元素在所述目标页面上的预设显示区域确定为所述目标显示区域。
可选地,所述装置400还包括:
第三区域确定模块,用于将与所述DOM树结构中其他控件元素对应的显示区域无重叠的、所述控件元素对应的显示区域确定为所述目标显示区域;
所述第二确定模块404用于:
根据转换后的所述文本信息的文本字符长度以及字符大小,确定所述控件元素显示转换后的所述文本信息所需的第二显示区域;
当所述第二显示区域的范围超过所述目标显示区域的范围时,确定所述目标页面存在显示异常。
可选地,所述第二区域确定模块用于:
按照预设查找次数,从所述控件元素的兄弟元素开始、往所述DOM树结构的根节点元素进行查找,确定所述控件元素周围的目标控件元素;
将与所述目标控件元素对应的显示区域无重叠的、所述控件元素对应的显示区域确定为所述目标显示区域;
所述第二确定模块404用于:
当所述第二显示区域与所述目标控件元素对应的显示区域存在重叠区域时,确定所述目标页面显示异常。
可选地,所述装置400还包括:
第四区域确定模块,用于当所述第二显示区域与所述目标控件元素对应的显示区域不存在重叠区域时,响应于用户的选择操作,确定待比对的第三显示区域,其中所述第三显示区域的范围比所述目标控件元素对应的显示区域的范围大;
当所述第二显示区域与所述第三显示区域存在重叠区域时,确定所述目标页面显示异常。
可选地,所述装置400还包括:
标注模块,用于在确定所述目标页面存在显示异常之后,对所述目标页面上显示异常的所述控件元素进行标注;
显示模块,用于将标注后的所述目标页面进行显示,以提示用户所述目标页面中存在显示异常的控件元素的位置。
关于上述实施例中的装置,其中各个模块执行操作的具体方式已经在有关该方法的实施例中进行了详细描述,此处将不做详细阐述说明。
基于同一发明构思,本公开实施例还提供一种电子设备,包括:
存储器,其上存储有计算机程序;
处理器,用于执行所述存储器中的所述计算机程序,以实现上述任一页面测试方法的步骤。
在可能的方式中,该电子设备的框图可以如图5所示。参照图5,该电子设备可以包括:处理器501,存储器502。该电子设备500还可以包括多媒体组件503,输入/输出(I/O)接口504,以及通信组件505中的一者或多者。其中,处理器501用于控制该电子设备500的整体操作,以完成上述的页面测试方法中的全部或部分步骤。存储器502用于存储各种类型的数据以支持在该电子设备500的操作,这些数据例如可以包括用于在该电子设备500上操作的任何应用程序或方法的指令,以及应用程序相关的数据,例如预设控件元素以及预设控件元素对应的HTML标签等等。该存储器502可以由任何类型的易失性或非易失性存储设备或者它们的组合实现,例如静态随机存取存储器(Static Random Access Memory,简称SRAM),电可擦除可编程只读存储器(Electrically Erasable Programmable Read-OnlyMemory,简称EEPROM),可擦除可编程只读存储器(Erasable Programmable Read-OnlyMemory,简称EPROM),可编程只读存储器(Programmable Read-Only Memory,简称PROM),只读存储器(Read-Only Memory,简称ROM),磁存储器,快闪存储器,磁盘或光盘。
多媒体组件503可以包括屏幕和音频组件。其中屏幕例如可以是触摸屏,音频组件用于输出和/或输入音频信号。例如,音频组件可以包括一个麦克风,麦克风用于接收外部音频信号。所接收的音频信号可以被进一步存储在存储器502或通过通信组件505发送。音频组件还包括至少一个扬声器,用于输出音频信号。I/O接口504为处理器501和其他接口模块之间提供接口,上述其他接口模块可以是键盘,鼠标,按钮等。这些按钮可以是虚拟按钮或者实体按钮。通信组件505用于该电子设备500与其他设备之间进行有线或无线通信。无线通信,例如Wi-Fi,蓝牙,近场通信(Near Field Communication,简称NFC),2G、3G、4G、NB-IOT、eMTC、或其他5G等等,或它们中的一种或几种的组合,在此不做限定。因此相应的该通信组件505可以包括:Wi-Fi模块,蓝牙模块,NFC模块等等。
在一示例性实施例中,电子设备500可以被一个或多个应用专用集成电路(Application Specific Integrated Circuit,简称ASIC)、数字信号处理器(DigitalSignal Processor,简称DSP)、数字信号处理设备(Digital Signal Processing Device,简称DSPD)、可编程逻辑器件(Programmable Logic Device,简称PLD)、现场可编程门阵列(Field Programmable Gate Array,简称FPGA)、控制器、微控制器、微处理器或其他电子元件实现,用于执行上述的页面测试方法。
在另一示例性实施例中,还提供了一种包括程序指令的计算机可读存储介质,该程序指令被处理器执行时实现上述的页面测试方法的步骤。例如,该计算机可读存储介质可以为上述包括程序指令的存储器502,上述程序指令可由电子设备500的处理器501执行以完成上述的页面测试方法。
在另一示例性实施例中,还提供一种计算机程序产品,该计算机程序产品包含能够由可编程的装置执行的计算机程序,该计算机程序具有当由该可编程的装置执行时用于执行上述的页面测试方法的代码部分。
以上结合附图详细描述了本公开的优选实施方式,但是,本公开并不限于上述实施方式中的具体细节,在本公开的技术构思范围内,可以对本公开的技术方案进行多种简单变型,这些简单变型均属于本公开的保护范围。
另外需要说明的是,在上述具体实施方式中所描述的各个具体技术特征,在不矛盾的情况下,可以通过任何合适的方式进行组合,为了避免不必要的重复,本公开对各种可能的组合方式不再另行说明。
此外,本公开的各种不同的实施方式之间也可以进行任意组合,只要其不违背本公开的思想,其同样应当视为本公开所公开的内容。
Claims (8)
1.一种页面测试方法,其特征在于,所述方法包括:
对应用程序中待测试的目标页面进行解析,得到所述目标页面对应的文档对象模型DOM树结构;
在所述DOM树结构中,确定包括文本信息的控件元素,所述文本信息在所述目标页面的当前显示语言为第一语言;
将所述文本信息的显示语言由所述第一语言转换为第二语言,所述第二语言与所述第一语言不同;
若转换后的所述文本信息显示在所述控件元素对应的目标显示区域外,则确定所述目标页面存在显示异常;
所述方法还包括:
按照预设查找次数,从所述控件元素的兄弟元素开始、往所述DOM树结构的根节点元素进行查找,确定所述控件元素周围的目标控件元素,将与所述目标控件元素对应的显示区域无重叠的、所述控件元素对应的显示区域确定为所述目标显示区域;
所述若转换后的所述文本信息显示在所述控件元素对应的目标显示区域外,则确定所述目标页面存在显示异常,包括:
根据转换后的所述文本信息的文本字符长度以及字符大小,确定所述控件元素显示转换后的所述文本信息所需的第二显示区域;
若所述第二显示区域与所述目标控件元素对应的显示区域存在重叠区域,则确定所述目标页面显示异常。
2.根据权利要求1所述的方法,其特征在于,所述方法还包括:
将所述控件元素在所述目标页面上的预设显示区域确定为所述目标显示区域;
所述若转换后的所述文本信息显示在所述控件元素对应的目标显示区域外,则确定所述目标页面存在显示异常,包括:
根据转换后的所述文本信息的文本字符长度以及字符大小,确定转换后的所述文本信息在所述目标页面上显示所需的第一显示区域;
若所述第一显示区域的范围超过所述目标显示区域的范围,则确定所述目标页面存在显示异常。
3.根据权利要求2所述的方法,其特征在于,所述将所述控件元素在所述目标页面上的预设显示区域确定为所述目标显示区域,包括:
确定所述控件元素是否为用于显示文本信息的预设控件元素;
若所述控件元素是所述预设控件元素,则将所述控件元素在所述目标页面上的预设显示区域确定为所述目标显示区域;
所述方法还包括:
若所述控件元素不是所述预设控件元素,则将所述控件元素的父类控件元素在所述目标页面上的预设显示区域确定为所述目标显示区域。
4.根据权利要求1所述的方法,其特征在于,所述方法还包括:
若所述第二显示区域与所述目标控件元素对应的显示区域不存在重叠区域,则响应于用户的选择操作,确定待比对的第三显示区域,其中所述第三显示区域的范围比所述目标控件元素对应的显示区域的范围大;
若所述第二显示区域与所述第三显示区域存在重叠区域,则确定所述目标页面显示异常。
5.根据权利要求1-4任一所述的方法,其特征在于,在确定所述目标页面存在显示异常之后,所述方法还包括:
对所述目标页面上显示异常的所述控件元素进行标注;
将标注后的所述目标页面进行显示,以提示用户所述目标页面中存在显示异常的控件元素的位置。
6.一种页面测试装置,其特征在于,所述装置包括:
解析模块,用于对应用程序中待测试的目标页面进行解析,得到所述目标页面对应的文档对象模型DOM树结构;
第一确定模块,用于在所述DOM树结构中,确定包括文本信息的控件元素,所述文本信息在所述目标页面的当前显示语言为第一语言;
转换模块,用于将所述文本信息的显示语言由所述第一语言转换为第二语言,所述第二语言与所述第一语言不同;
第二确定模块,用于当转换后的所述文本信息显示在所述控件元素对应的目标显示区域外时,确定所述目标页面存在显示异常;
第二区域确定模块,用于按照预设查找次数,从所述控件元素的兄弟元素开始、往所述DOM树结构的根节点元素进行查找,确定所述控件元素周围的目标控件元素,将与所述目标控件元素对应的显示区域无重叠的、所述控件元素对应的显示区域确定为所述目标显示区域;
所述第二确定模块,用于根据转换后的所述文本信息的文本字符长度以及字符大小,确定所述控件元素显示转换后的所述文本信息所需的第二显示区域,若所述第二显示区域与所述目标控件元素对应的显示区域存在重叠区域,则确定所述目标页面显示异常。
7.一种计算机可读存储介质,其上存储有计算机程序,其特征在于,该程序被处理器执行时实现权利要求1-5中任一项所述方法的步骤。
8.一种电子设备,其特征在于,包括:
存储器,其上存储有计算机程序;
处理器,用于执行所述存储器中的所述计算机程序,以实现权利要求1-5中任一项所述方法的步骤。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201911222112.0A CN111142988B (zh) | 2019-12-03 | 2019-12-03 | 页面测试方法、装置、存储介质及电子设备 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201911222112.0A CN111142988B (zh) | 2019-12-03 | 2019-12-03 | 页面测试方法、装置、存储介质及电子设备 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN111142988A CN111142988A (zh) | 2020-05-12 |
CN111142988B true CN111142988B (zh) | 2023-08-29 |
Family
ID=70517498
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201911222112.0A Active CN111142988B (zh) | 2019-12-03 | 2019-12-03 | 页面测试方法、装置、存储介质及电子设备 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN111142988B (zh) |
Families Citing this family (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN111522752B (zh) * | 2020-05-26 | 2023-04-25 | 北京大米未来科技有限公司 | 程序测试方法、程序测试装置、存储介质和电子设备 |
CN111914510A (zh) * | 2020-06-22 | 2020-11-10 | 文思海辉智科科技有限公司 | 控件字串检查方法、装置、计算机设备和存储介质 |
CN112000575A (zh) * | 2020-08-21 | 2020-11-27 | 探探文化发展(北京)有限公司 | 一种应用的界面显示测试方法、***、设备及存储介质 |
CN112416777B (zh) * | 2020-11-23 | 2022-11-18 | 珠海格力电器股份有限公司 | 文本显示测试方法、装置、计算机设备和存储介质 |
CN112597065B (zh) * | 2021-03-03 | 2021-05-18 | 浙江口碑网络技术有限公司 | 页面测试方法和装置 |
CN113485778B (zh) * | 2021-06-25 | 2023-06-13 | 青岛海尔科技有限公司 | 页面数据的处理方法、装置、存储介质和电子装置 |
CN114385514A (zh) * | 2022-03-23 | 2022-04-22 | 杭州天谷信息科技有限公司 | 一种检测网页元素的方法、设备及存储介质 |
CN115221523B (zh) * | 2022-09-20 | 2022-12-27 | 支付宝(杭州)信息技术有限公司 | 数据处理方法、装置及设备 |
CN116578438B (zh) * | 2023-07-13 | 2023-09-08 | 建信金融科技有限责任公司 | 一种适老化改造的自动化检测方法及装置 |
Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN106228191A (zh) * | 2016-07-28 | 2016-12-14 | 努比亚技术有限公司 | 一种控件文本超长检测装置及方法 |
CN108874373A (zh) * | 2017-05-12 | 2018-11-23 | 腾讯科技(深圳)有限公司 | 向网页内***信息的方法及装置、显示终端及存储介质 |
Family Cites Families (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP4521417B2 (ja) * | 2007-03-16 | 2010-08-11 | インターナショナル・ビジネス・マシーンズ・コーポレーション | コンピュータの処理対象のオブジェクトが各ノードを成す、木構造により表現される、構造化電子文書を編集するためのコンピュータプログラム、方法及び装置 |
US7698688B2 (en) * | 2008-03-28 | 2010-04-13 | International Business Machines Corporation | Method for automating an internationalization test in a multilingual web application |
US8756571B2 (en) * | 2010-05-07 | 2014-06-17 | Hewlett-Packard Development Company, L.P. | Natural language text instructions |
-
2019
- 2019-12-03 CN CN201911222112.0A patent/CN111142988B/zh active Active
Patent Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN106228191A (zh) * | 2016-07-28 | 2016-12-14 | 努比亚技术有限公司 | 一种控件文本超长检测装置及方法 |
CN108874373A (zh) * | 2017-05-12 | 2018-11-23 | 腾讯科技(深圳)有限公司 | 向网页内***信息的方法及装置、显示终端及存储介质 |
Also Published As
Publication number | Publication date |
---|---|
CN111142988A (zh) | 2020-05-12 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN111142988B (zh) | 页面测试方法、装置、存储介质及电子设备 | |
US10929449B2 (en) | Generating a structured document guiding view | |
CN106294493B (zh) | 实现文档格式转换的方法及装置 | |
CN110688307B (zh) | JavaScript代码检测方法、装置、设备和存储介质 | |
US10019426B2 (en) | Generating data format description language schema | |
CN110955428A (zh) | 一种页面显示方法、装置、电子设备及介质 | |
CN110968601A (zh) | 一种数据查询处理方法及装置 | |
US9715483B2 (en) | User interface for testing and asserting UI elements with natural language instructions | |
CN111241793A (zh) | 解析富文本编辑器内容给原生客户端渲染的方法、***及介质 | |
JP2023541186A (ja) | 可視化ページレンダリング方法、装置、機器及び記憶媒体 | |
CN110688315A (zh) | 接口代码检测报告生成方法、电子装置及存储介质 | |
Hallé et al. | Testing web applications through layout constraints | |
CN114138244A (zh) | 模型类文件自动生成方法、装置、存储介质及电子设备 | |
CN114153459A (zh) | 接口文档生成方法及装置 | |
CN113760729A (zh) | 一种代码检测方法和装置 | |
CN109815243B (zh) | 一种文档界面化修改时的结构化存储方法和装置 | |
CN113419721B (zh) | 基于web的表达式编辑方法、装置、设备和存储介质 | |
CN111078217A (zh) | 脑图生成方法、装置和计算机可读存储介质 | |
CN111125605B (zh) | 页面元素获取方法和装置 | |
CN112328246A (zh) | 页面组件生成方法、装置、计算机设备及存储介质 | |
CN111142871A (zh) | 一种前端页面开发***、方法、设备、介质 | |
CN110727458A (zh) | 一种通过后台管理切换页面模板设置的方法和装置 | |
CN115169292A (zh) | 文档处理方法、装置、电子设备及计算机可读存储介质 | |
CN114356291A (zh) | 基于配置文件生成表单的方法、装置、设备及介质 | |
CN109783133B (zh) | 代码打包方法、装置、计算机设备及存储介质 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |