WO2019062067A1 - 用户界面单元测试方法、装置、可读存储介质及设备 - Google Patents

用户界面单元测试方法、装置、可读存储介质及设备 Download PDF

Info

Publication number
WO2019062067A1
WO2019062067A1 PCT/CN2018/082348 CN2018082348W WO2019062067A1 WO 2019062067 A1 WO2019062067 A1 WO 2019062067A1 CN 2018082348 W CN2018082348 W CN 2018082348W WO 2019062067 A1 WO2019062067 A1 WO 2019062067A1
Authority
WO
WIPO (PCT)
Prior art keywords
target object
list
data set
matching
original
Prior art date
Application number
PCT/CN2018/082348
Other languages
English (en)
French (fr)
Inventor
尹成
陈少杰
张文明
Original Assignee
武汉斗鱼网络科技有限公司
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by 武汉斗鱼网络科技有限公司 filed Critical 武汉斗鱼网络科技有限公司
Publication of WO2019062067A1 publication Critical patent/WO2019062067A1/zh

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/36Preventing errors by testing or debugging software
    • G06F11/3668Software testing
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/90Details of database functions independent of the retrieved data types
    • G06F16/901Indexing; Data structures therefor; Storage structures
    • G06F16/9014Indexing; Data structures therefor; Storage structures hash tables

Definitions

  • the present invention relates to the field of software testing technologies, and in particular, to a user interface unit testing method, apparatus, readable storage medium, and device.
  • the unit test of the Android system includes user interface (UI) unit testing and Java unit testing.
  • UI user interface
  • Java Java unit testing
  • the UI unit test needs to rely on the screen pressure sensor, so it needs to be tested on the real machine.
  • the Java unit test does not depend on any other components because it runs pure Java code, so it only needs to run on the virtual machine (JVM). .
  • list-based UI unit testing accounts for approximately 30% of the entire UI unit test.
  • the test operations of the list type UI unit test include: Single Click, Double Click, Long Press, and slide. These test operations must specify the operation object, that is, the list item (List). Item), therefore, how to find the List Item accurately and quickly is a technical difficulty of the UI control of the list control.
  • the Item matching rule is mainly specified by a matcher provided by the system, and the principle is: the list index value corresponding to the Item is provided first (index Then, the Matcher searches according to the index to implement the matching test.
  • the RecyclerView control since the Item of the list does not have an explicit index value, if the above method is applied in the RecyclerView, it will appear. Match the misplaced question.
  • the present invention has been made in order to provide a user interface unit testing method, apparatus, readable storage medium and apparatus that overcome the above problems or at least partially solve the above problems.
  • An embodiment of the present invention provides a user interface unit testing method, where the method includes:
  • the list binding data set is the a data set obtained by cloning the original list data set
  • the matching result is output as a user interface unit test result.
  • the method further includes:
  • the type of the target object is the same as the type of the list binding data set, executing the original set data of the target object in the original list data set and the target object in the list binding data set The binding data is matched for the step of matching, otherwise, the matching failure is output as the user interface unit test result.
  • the method further includes:
  • the matching failure is output as the user interface unit test result.
  • the determining whether the layout identifier of the target object is legal includes:
  • the layout identifier of the target object belongs to an 8-bit hexadecimal integer, it indicates that the layout identifier of the target object is legal. If the layout identifier of the target object does not belong to an 8-bit hexadecimal integer, It indicates that the layout identifier of the target object is invalid.
  • the searching for an element matching the hash value in the list binding data set includes:
  • the location of the intermediate element of the list binding data set is used as a starting search location, and the elements on both sides of the data binding set are expanded to find an element matching the hash value.
  • the matching the original set data of the target object in the original list data set with the binding data of the target object in the list binding data set comprises:
  • the CFPM algorithm is used to match the original set data of the target object in the original list data set with the binding data of the target object in the list binding data set.
  • the embodiment of the invention further provides a user interface unit testing device, the device comprising:
  • An obtaining module configured to obtain a hash value of the input search data object
  • a searching module configured to find an element matching the hash value in the list binding data set, and determine the found element that matches the hash value as the target object;
  • a matching module configured to match the original set data of the target object in the original list data set with the binding data of the target object in the list binding data set, to obtain a matching result, where the list binding
  • the data set is a data set obtained by cloning the original list data set
  • an output module configured to output the matching result as a user interface unit test result.
  • the device further comprises:
  • a first determining module configured to determine whether a type of the target object is the same as a type of the list binding data set
  • a first execution module configured to: if the type of the target object is the same as the type of the list binding data set, execute the original set data of the target object in the original list data set and the target object The binding data of the list binding data set is matched, otherwise, the matching failure is output as the user interface unit test result.
  • the embodiment of the invention further provides a computer readable storage medium, on which a computer program is stored, and when the program is executed by the processor, the following steps are implemented:
  • the list binding data set is the a data set obtained by cloning the original list data set
  • the matching result is output as a user interface unit test result.
  • the embodiment of the invention further provides a computer device, comprising a memory, a processor and a computer program stored on the memory and operable on the processor, the processor implementing the program to implement the following steps:
  • the list binding data set is the a data set obtained by cloning the original list data set
  • the matching result is output as a user interface unit test result.
  • the application uses the hash value of the input search data object as a query input condition, searches for an element matching the hash value in the list binding data set, and determines the found element matching the hash value as the target object, Matching the original collection data of the target object in the original list data set with the binding data of the target object in the list binding data set, and outputting the matching result as a user interface unit test result. Due to the uniqueness of the hash value, Effectively solve the problem that the RecyclerView has mismatched position because there is no clear index value, which improves the matching accuracy.
  • FIG. 1 is a flow chart showing a method for testing a user interface unit in an embodiment of the present invention
  • FIG. 2 is a structural diagram of a user interface unit testing apparatus in an embodiment of the present invention.
  • FIG. 3 is a schematic diagram showing the physical structure of a computer device in an embodiment of the present invention.
  • the embodiment of the present application provides a user interface unit testing method, which may be applied to an Android system, and the encoding language of the method may be Java. As shown in FIG. 1, the method includes:
  • Step 101 Acquire a hash value of the input search data object:
  • Step 102 Find an element matching the hash value in the list binding data set, and determine the found element that matches the hash value as the target object.
  • the present application takes the hash value of the input search data object as the unique input condition.
  • the improved fast search algorithm is utilized (AQS) looks up the same element as HashCodeT in the list binding dataset (AdapterCollection) and determines the same element that is found to be HashCodeT as the target object. After the target object is determined, the target object may be outputted, and the index value Index0 of the target object in the list binding data set may also be outputted while the target object is output.
  • the position of the middle element of the list binding data set is taken as the starting search position, and the elements on both sides of the list binding data set are expanded. , find the element that matches the hash value. For example, if the list binding data set is [a, b, c, d, e], the position of the element c is taken as the starting position, and it is determined whether the hash value of the element c is the same as the hash value of the search data object. If they are not the same, it is judged whether the hash value of the element b and the element d is the same as the hash value of the search data object, and so on.
  • the search efficiency can be improved, and the test efficiency can be improved.
  • the non-empty judgment may be performed on the member variables included in the target object one by one before the target object is output.
  • step 103 is performed: matching the original set data of the target object in the original list data set with the binding data of the target object in the list binding data set to obtain a matching result, where
  • the list binding data set is a data set obtained by cloning the original list data set.
  • step 104 is performed: outputting the matching result as a user interface unit test result.
  • the CFPM algorithm can be used for matching.
  • the CFPM algorithm is a pattern matching algorithm based on character frequency. The principle is to align the key characters with the positions of the characters to be matched, and perform bidirectional matching.
  • all field objects within the data object use a string type, so all internal fields can be concatenated into a long string, as shown in Table 1 below.
  • the fields included in the target object are first spliced into a string, and the characters are spliced according to the default alphabet sorting process in the splicing process, and then the long string is arranged according to the frequency of the letters, and the English alphabet frequency table is as follows: :
  • the final output string is the comparison string StringM of the subsequent matching search. Further, StringM is used as the comparison string, and the binding data of the target object in the list binding data set is used as the query condition, and the binding data is read one by one. The field value is matched from the character position in the middle of StringM along the left and right directions. If the first character is not queried in StringM, the query is directly terminated. If the query matches, the next character is queried. The characters of all fields of the fixed data can be queried in StringM, and the number of accumulated queries is the length value of StringM, that is, the matching is successful, otherwise the matching fails, and finally the matching result is output as the user interface unit test result.
  • the application achieves matching by the CFPM algorithm, which effectively improves the matching query speed.
  • the application in order to avoid that the target object and the list binding data set do not correspond, the application is after the step 102, and before the step 103, the method further includes:
  • step 103 If the type of the target object is the same as the type of the list binding data set, step 103 is performed; otherwise, the matching failure is output as the user interface unit test result.
  • the type of the target object may be inconsistent with the type of the list binding data set. Therefore, it is necessary to judge whether the type of the target object is the same as the type of the list binding data set.
  • the getPackageName function can be called to perform the package name judgment. If the package name is inconsistent, the entire matching process is directly terminated. If the package name is consistent, then getSimpleName is called to obtain the class name of the current class to judge, if the class name of the class is consistent, The type of the target object matches the type of the list binding dataset, and the subsequent steps are performed, otherwise the entire matching process is terminated.
  • the method further includes:
  • the layout identifier constant file is traversed to determine whether there is a layout identifier that is the same as the layout identifier of the target object;
  • step 103 determining a list corresponding to the target object based on the list layout identifier corresponding to the target object, and performing step 103 based on the determined list corresponding to the target object;
  • step 103 If not, go directly to step 103;
  • the matching failure is output as the result of the user interface unit test.
  • the layout identifier may be multiplexed. For example, there are two lists at the same time, namely, list A and list B. List A is overlaid on list B, and list A and list B are bound. Like the data set, at this time, the problem that the list A and the list B are mismatched is easy to occur.
  • Bit hexadecimal integer if the layout ID of the target object belongs to an 8-bit hexadecimal integer, it indicates that the layout ID of the target object is legal.
  • the layout ID of the target object does not belong to the 8-digit hexadecimal integer, It indicates that the layout ID of the target object is invalid. If the layout ID of the target object is invalid, the matching failure is output as the user interface unit test result. If the layout ID of the target object is legal, the layout identifier constant file is traversed to determine whether the same layout ID exists. The layout ID determines the actual list corresponding to the target object based on the list layout ID corresponding to the target object, thereby realizing the technical effect of determining the unique corresponding list from the reused target object layout ID. Further, after determining the list corresponding to the target object, step 103 is continued. If the same layout ID does not exist, step 103 is directly executed.
  • an embodiment of the present invention further provides a user interface unit testing apparatus. As shown in FIG. 2, the apparatus includes:
  • the obtaining module 201 is configured to obtain a hash value of the input search data object.
  • the searching module 202 is configured to search for an element matching the hash value in the list binding data set, and determine the found element that matches the hash value as the target object;
  • the matching module 203 is configured to match the original set data of the target object in the original list data set with the binding data of the target object in the list binding data set to obtain a matching result, where the list is tied
  • the data set is a data set obtained by cloning the original list data set;
  • the output module 204 is configured to output the matching result as a user interface unit test result.
  • the device further comprises:
  • a first determining module configured to determine whether a type of the target object is the same as a type of the list binding data set
  • a first execution module configured to: if the type of the target object is the same as the type of the list binding data set, execute the original set data of the target object in the original list data set and the target object The binding data of the list binding data set is matched, otherwise, the matching failure is output as the user interface unit test result.
  • the device further comprises:
  • a second determining module configured to determine whether the layout identifier of the target object is legal
  • a third determining module configured to: if the layout identifier of the target object is legal, traverse the layout identifier constant file, and determine whether there is a layout identifier that is the same as the layout identifier of the target object;
  • a second execution module if yes, determining a list corresponding to the target object based on a list layout identifier corresponding to the target object, and executing the conference based on a list corresponding to the target object And the step of matching the original set data of the target object in the original list data set with the binding data of the target object in the list binding data set;
  • a third execution module if not, directly performing the matching of the original set data of the target object in the original list data set with the binding data of the target object in the list binding data set step;
  • a fourth execution module configured to output a matching failure as the user interface unit test result if the layout identifier of the target object is invalid.
  • the second determining module is specifically configured to:
  • the layout identifier of the target object belongs to an 8-bit hexadecimal integer, it indicates that the layout identifier of the target object is legal. If the layout identifier of the target object does not belong to an 8-bit hexadecimal integer, It indicates that the layout identifier of the target object is invalid.
  • the searching module is specifically configured to:
  • the location of the intermediate element of the list binding data set is used as a starting search location, and the elements on both sides of the data binding set are expanded to find an element matching the hash value.
  • the matching module is specifically configured to:
  • the CFPM algorithm is used to match the original set data of the target object in the original list data set with the binding data of the target object in the list binding data set.
  • an embodiment of the present invention further provides a computer readable storage medium, where a computer program is stored, and when the program is executed by the processor, the following steps are implemented:
  • the list binding data set is the a data set obtained by cloning the original list data set
  • the matching result is output as a user interface unit test result.
  • the embodiment of the present invention further provides a computer device.
  • a computer device As shown in FIG. 3, for the convenience of description, only parts related to the embodiment of the present invention are shown. If the specific technical details are not disclosed, please refer to the method part of the embodiment of the present invention.
  • the computer device may be any terminal device including a mobile phone, a tablet computer, a PDA (Personal Digital Assistant), a POS (Point of Sales), an in-vehicle computer, and the like, and the computer device is used as a mobile phone as an example:
  • FIG. 3 is a block diagram showing a portion of the structure associated with a computer device provided by an embodiment of the present invention.
  • the computer device includes a memory 301 and a processor 302.
  • the computer device architecture illustrated in FIG. 3 does not constitute a limitation to a computer device, and may include more or fewer components than those illustrated, or some components may be combined, or different component arrangements.
  • the memory 301 can be used to store software programs and modules, and the processor 302 executes various functional applications and data processing by running software programs and modules stored in the memory 301.
  • the memory 301 can mainly include a storage program area and a storage data area, wherein the storage program area can store an operating system, an application required for at least one function (such as a sound playing function, an image playing function, etc.), and the like; the storage data area can store data. (such as audio data, phone book, etc.).
  • the memory 301 may include a high speed random access memory, and may also include a nonvolatile memory such as at least one magnetic disk storage device, flash memory device, or other volatile solid state storage device.
  • the processor 302 is a control center of a computer device that performs various functions and processing data by running or executing software programs and/or modules stored in the memory 301, and recalling data stored in the memory 301.
  • the processor 302 may include one or more processing units; preferably, the processor 302 may integrate an application processor and a modem processor, where the application processor mainly processes an operating system, a user interface, an application, and the like.
  • the modem processor primarily handles wireless communications.
  • the processor 302 included in the computer device may have the following functions:
  • the list binding data set is the a data set obtained by cloning the original list data set
  • the matching result is output as a user interface unit test result.
  • the present application utilizes the hash value of the input search data object as a query input condition, finds an element matching the hash value in the list binding data set, and determines the found element matching the hash value as the target object. Matching the original collection data of the target object in the original list data set with the binding data of the target object in the list binding data set, and outputting the matching result as a user interface unit test result, because the uniqueness of the hash value It can effectively solve the problem that the RecyclerView has a mismatched position due to the lack of an explicit index value, and improves the accuracy of the matching.
  • modules in the devices of the embodiments can be adaptively changed and placed in one or more devices different from the embodiment.
  • the modules or units or components of the embodiments may be combined into one module or unit or component, and further they may be divided into a plurality of sub-modules or sub-units or sub-components.
  • any combination of the features disclosed in the specification, including the accompanying claims, the abstract and the drawings, and any methods so disclosed, or All processes or units of the device are combined.
  • Each feature disclosed in this specification (including the accompanying claims, the abstract and the drawings) may be replaced by alternative features that provide the same, equivalent or similar purpose.
  • the various component embodiments of the present invention may be implemented in hardware, or in a software module running on one or more processors, or in a combination thereof.
  • a microprocessor or digital signal processor may be used in practice to implement some or all of the functionality of some, or all, of the gateways, proxy servers, systems in accordance with embodiments of the present invention.
  • the invention can also be implemented as a device or device program (e.g., a computer program and a computer program product) for performing some or all of the methods described herein.
  • a program implementing the invention may be stored on a computer readable medium or may be in the form of one or more signals. Such signals may be downloaded from an Internet website, provided on a carrier signal, or provided in any other form.

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Databases & Information Systems (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Software Systems (AREA)
  • Data Mining & Analysis (AREA)
  • Computer Hardware Design (AREA)
  • Quality & Reliability (AREA)
  • Debugging And Monitoring (AREA)
  • Storage Device Security (AREA)

Abstract

本发明涉及软件测试技术领域,尤其涉及用户界面单元测试方法、装置、可读存储介质及设备,所述方法包括:获取输入的查找数据对象的哈希值;在列表绑定数据集中查找与所述哈希值匹配的元素,并将查找到的与所述哈希值匹配的元素确定为目标对象;将所述目标对象在原始列表数据集中的原集合数据与所述目标对象在所述列表绑定数据集中的绑定数据进行匹配,获得匹配结果,其中,所述列表绑定数据集为所述原始列表数据集经克隆后得到的数据集;将所述匹配结果作为用户界面单元测试结果进行输出。本申请可有效解决RecyclerView因没有明确的索引值而出现的匹配错位的问题,提高了匹配的准确性。

Description

用户界面单元测试方法、装置、可读存储介质及设备 技术领域
本发明涉及软件测试技术领域,尤其涉及用户界面单元测试方法、装置、可读存储介质及设备。
背景技术
安卓(Android)系统的单元测试包含用户界面(UI)单元测试与Java单元测试。其中,UI单元测试由于需要依赖屏幕压力传感器,因此需要在真机上进行测试,而,Java单元测试由于是运行纯Java代码不依赖任何其他组件,因此只需要在虚拟机(JVM)上运行即可。
对于UI单元测试而言,列表型UI单元测试约占整个UI单元测试量的30%。目前,列表型UI单元测试的测试操作包括:单击(Single Click)、双击(Double Click)、长按(Long Press)和滑动(slide),这些测试操作必须指定操作对象,即列表条目(List Item),因此,如何精确且快速的查找到List Item是列表型控件UI单元测试的技术难点。
而,在现有技术中,对于列表型控件UI单元测试而言,Item匹配规则主要由系统提供的匹配器(Matcher)来进行指定,其原理是:在先提供Item对应的列表索引值(index),然后由Matcher根据index进行查找,进而实现匹配测试,但是,对于可回收性列表控件(RecyclerView)而言,由于其列表的Item没有明确的索引值,若在RecyclerView中应用上述方法,将出现匹配错位的问题。
发明内容
鉴于上述问题,提出了本发明以便提供一种克服上述问题或者至少部分地解决上述问题的用户界面单元测试方法、装置、可读存储介质及设备。
本发明实施例提供一种用户界面单元测试方法,所述方法包括:
获取输入的查找数据对象的哈希值;
在列表绑定数据集中查找与所述哈希值匹配的元素,并将查找到的与所述哈希值匹配的元素确定为目标对象;
将所述目标对象在原始列表数据集中的原集合数据与所述目标对象在所述列表绑定数据集中的绑定数据进行匹配,获得匹配结果,其中,所述列表绑定数据集为所述原始列表数据集经克隆后得到的数据集;
将所述匹配结果作为用户界面单元测试结果进行输出。
优选的,在所述将查找到的与所述哈希值匹配的元素确定为目标对象之后,且在所述将所述目标对象在原始列表数据集中的原集合数据与所述目标对象在所述列表绑定数据集中的绑定数据进行匹配之前,所述方法还包括:
判断所述目标对象的类型与所述列表绑定数据集的类型是否相同;
若所述目标对象的类型与所述列表绑定数据集的类型相同,则执行所述将所述目标对象在原始列表数据集中的原集合数据与所述目标对象在所述列表绑定数据集中的绑定数据进行匹配的步骤,否则,将匹配失败作为所述用户界面单元测试结果进行输出。
优选的,在所述将查找到的与所述哈希值匹配的元素确定为目标对象之后,且在所述将所述目标对象在原始列表数据集中的原集合数据与所述目标对象在所述列表绑定数据集中的绑定数据进行匹配之前,所述方法还包括:
判断所述目标对象的布局标识是否合法;
若所述目标对象的布局标识合法,则遍历布局标识常量文件,判断是否存在与所述目标对象的布局标识相同的布局标识;
若存在,则基于与所述目标对象对应的列表布局标识,确定出与所述目标对象对应的列表,并,基于与所述目标对象对应的列表执行所述将所述目标对象在原始列表数据集中的原集合数据与所述目标对象在所述列表绑定数据集中的绑定数据进行匹配的步骤;
若不存在,则直接执行所述将所述目标对象在原始列表数据集中的原集合数据与所述目标对象在所述列表绑定数据集中的绑定数据进行匹配的步骤;
若所述目标对象的布局标识不合法,则将匹配失败作为所述用户界面单元测试结果进行输出。
优选的,所述判断所述目标对象的布局标识是否合法,包括:
判断所述目标对象的布局标识是否属于8位十六进制整型;
其中,若所述目标对象的布局标识属于8位十六进制整型,则表明所述目标对象的布局标识合法,若所述目标对象的布局标识不属于8位十六进制整型,则表明所述目标对象的布局标识不合法。
优选的,所述在列表绑定数据集中查找与所述哈希值匹配的元素,包括:
以所述列表绑定数据集的中间元素所在位置为起始查找位置,向所述列表绑定数据集两侧的元素展开,查找与所述哈希值匹配的元素。
优选的,所述将所述目标对象在原始列表数据集中的原集合数据与所述目标对象在所述列表绑定数据集中的绑定数据进行匹配,包括:
利用CFPM算法将所述目标对象在原始列表数据集中的原集合数据与所述目标对象在所述列表绑定数据集中的绑定数据进行匹配。
本发明实施例还提供一种用户界面单元测试装置,所述装置包括:
获取模块,用于获取输入的查找数据对象的哈希值;
查找模块,用于在列表绑定数据集中查找与所述哈希值匹配的元素,并将查找到的与所述哈希值匹配的元素确定为目标对象;
匹配模块,用于将所述目标对象在原始列表数据集中的原集合数据与所述目标对象在所述列表绑定数据集中的绑定数据进行匹配,获得匹配结果,其中,所述列表绑定数据集为所述原始列表数据集经克隆后得到的数据集;
输出模块,用于将所述匹配结果作为用户界面单元测试结果进行输出。
优选的,所述装置还包括:
第一判断模块,用于判断所述目标对象的类型与所述列表绑定数据集的类型是否相同;
第一执行模块,用于若所述目标对象的类型与所述列表绑定数据集的类型相同,则执行所述将所述目标对象在原始列表数据集中的原集合数据与所述目标对象在所述列表绑定数据集中的绑定数据进行匹配的步骤,否则,将匹配失败作为所述用户界面单元测试结果进行输出。
本发明实施例还提供一种计算机可读存储介质,其上存储有计算机程序,该程序被处理器执行时实现以下步骤:
获取输入的查找数据对象的哈希值;
在列表绑定数据集中查找与所述哈希值匹配的元素,并将查找到的与所述哈希值匹配的元素确定为目标对象;
将所述目标对象在原始列表数据集中的原集合数据与所述目标对象在所述列表绑定数据集中的绑定数据进行匹配,获得匹配结果,其中,所述列表绑定数据集为所述原始列表数据集经克隆后得到的数据集;
将所述匹配结果作为用户界面单元测试结果进行输出。
本发明实施例还提供一种计算机设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,所述处理器执行所述程序时实现以下步骤:
获取输入的查找数据对象的哈希值;
在列表绑定数据集中查找与所述哈希值匹配的元素,并将查找到的与所述哈希值匹配的元素确定为目标对象;
将所述目标对象在原始列表数据集中的原集合数据与所述目标对象在所述列表绑定数据集中的绑定数据进行匹配,获得匹配结果,其中,所述列表绑定数据集为所述原始列表数据集经克隆后得到的数据集;
将所述匹配结果作为用户界面单元测试结果进行输出。
本发明实施例中的一个或多个技术方案,至少具有如下技术效果或优点:
本申请利用输入的查找数据对象的哈希值作为查询输入条件,在列表绑定数据集中查找与哈希值匹配的元素,并将查找到的与哈希值匹配的元素确定为目标对象,在将目标对象在原始列表数据集中的原集合数据与目标对象在列表绑定数据集中的绑定数据进行匹配,并将匹配结果作为用户界面单元测试结果进行输出,由于哈希值的唯一性,可有效解决RecyclerView因没有明确的索引值而出现的匹配错位的问题,提高了匹配的准确性。
附图说明
通过阅读下文优选实施方式的详细描述,各种其他的优点和益处对于本领域普通技术人员将变得清楚明了。附图仅用于示出优选实施方式的目的,而并不认为是对本发明的限制。而且在整个附图中,用相同的参考图形表示相同的部件。在附图中:
图1示出了本发明实施例中的用户界面单元测试方法的流程图;
图2示出了本发明实施例中的用户界面单元测试装置的结构图;
图3示出了本发明实施例中的计算机设备的实体结构示意图。
具体实施方式
下面将参照附图更详细地描述本公开的示例性实施例。虽然附图中显示了本公开的示例性实施例,然而应当理解,可以以各种形式实现本公开而不应被这里阐述的实施例所限制。相反,提供这些实施例是为了能够更透彻地理解本公开,并且能够将本公开的范围完整的传达给本领域的技术人员。
本申请实施例提供一种用户界面单元测试方法,该方法可以被应用于Android系统中,且,该方法的编码语言可以为Java。如图1所示,所述方法包括:
步骤101:获取输入的查找数据对象的哈希值:。
步骤102:在列表绑定数据集中查找与哈希值匹配的元素,并将查找到的与哈希值匹配的元素确定为目标对象。
对于步骤101和步骤102而言,本申请以输入的查找数据对象的哈希值作为唯一输入条件,首先,根据输入的查找数据对象的哈希值HashCodeT作为匹配值,利用改进型快速查找算法(AQS)在列表绑定数据集(AdapterCollection)中查找与HashCodeT相同的元素,并将查找到的与HashCodeT相同的元素确定为目标对象。在确定出目标对象之后,可以将目标对象进行输出,在输出目标对象的同时,还可以输出该目标对象在列表绑定数据集中的索引值Index0。
进一步来讲,在列表绑定数据集中查找与哈希值匹配的元素的过程中,以列表绑定数据集的中间元素所在位置为起始查找位置,向列表绑定数据集两侧的元素展开,查找与哈希值匹配的元素。例如,列表绑定数据集为[a,b,c,d,e],则以元素c所在位置为起始查找位置,分别判断元素c的哈希值是否与查找数据对象的哈希值相同,若不相同,则判断元素b和元素d的哈希值是否与查找数据对象的哈希值相同,依次类推。通过上述查找方法能够提高查找效率,进而能够使得测试效率得到提高。
进一步来讲,为防止后续元素数据比较出现异常,在输出目标对象之前,可以逐一对目标对象所包含的成员变量进行非空判断。
在完成步骤102之后,执行步骤103:将所述目标对象在原始列表数据集中的原集合数据与所述目标对象在所述列表绑定数据集中的绑定数据进行匹配,获得匹配结果,其中,所述列表绑定数据集为所述原始列表数据集经克隆后得到的数据集。
在完成步骤103之后,执行步骤104:将所述匹配结果作为用户界面单元测试结果进行输出。
对于步骤103和步骤104而言,可以利用CFPM算法进行匹配。具体来讲,CFPM算法是一种基于字符频率的模式匹配算法,其原理是把关键字符与其要匹配的字符的位置进行一一对齐,并进行双向匹配。对于本申请而言,所有的数据对象内部的字段值均使用字符串类型,因此,可以将内部的所有字段拼接成一个长字符串,如下表1所示。
字段0 字段1 字段2 字段3 字段4 字段5
表1
本申请首先将目标对象包含的字段拼接成长字符串,在拼接的过程中按照默认字母排序来进行目标对象所有字段的字符拼接,接着按照字母出现频率编排长字符串,英文字母频率表如下表2:
Figure PCTCN2018082348-appb-000001
表2
最终编排输出的字符串即为后续匹配查找的对照字符串StringM,进一步,以StringM为对照字符串,以目标对象在列表绑定数据集中的绑定数据为查询条件,逐个读取绑定数据中的字段值,从StringM中间的字符位置沿左右双向进行字段字符的查询匹配,若出现首个字符在StringM未查询到,则直接终止 查询,若查询匹配,则进行下一个字符的查询,当绑定数据的所有字段的字符均在StringM中可查询到,且累计查询的次数为StringM的长度值,即匹配成功,否则匹配失败,最终将匹配结果作为用户界面单元测试结果进行输出。
本申请通过CFPM算法实现匹配,有效地提高了匹配查询速度。
在本申请中,为避免目标对象和列表绑定数据集不对应,本申请在步骤102之后,且在步骤103之前,还包括:
判断目标对象的类型与列表绑定数据集的类型是否相同;
若目标对象的类型与列表绑定数据集的类型相同,则执行步骤103,否则,将匹配失败作为用户界面单元测试结果进行输出。
在具体实施过程中,由于Java的多继承特性,目标对象的类型可能与列表绑定数据集的类型不一致,因此,需要对目标对象的类型与列表绑定数据集的类型是否相同进行判断,在本申请中,可以调用getPackageName函数进行包名判断,如果包名不一致,则直接终止整个匹配过程,若包名一致,再调用getSimpleName获取当前类的类名进行判断,如果类的类名一致,则目标对象的类型与列表绑定数据集的类型匹配,执行后续步骤,否则终止整个匹配过程。
在本申请中,为提高匹配精确度,在步骤102之后,且在步骤103之前,还包括:
判断目标对象的布局标识是否合法;
若目标对象的布局标识合法,则遍历布局标识常量文件,判断是否存在与目标对象的布局标识相同的布局标识;
若存在,则基于与目标对象对应的列表布局标识,确定出与目标对象对应的列表,并基于确定出的与目标对象对应的列表执行步骤103;
若不存在,则直接执行步骤103;
若目标对象的布局标识不合法,则将匹配失败作为用户界面单元测试结果进行输出。
具体来讲,布局标识(ID)可能会存在被复用的情况,例如,同时存在两个列表,即列表A和列表B,列表A覆盖在列表B上,列表A和列表B所绑定的数据集一样,此时,容易出现列表A和列表B匹配错位的问题,为解决上述问题,在本申请中,首先判断目标对象的布局ID是否合法,即,判断目标对象的布局ID是否属于8位十六进制整型,若目标对象的布局ID属于8位十六进制整型,则表明目标对象的布局ID合法,若目标对象的布局ID不属于8位十六进制整型,则表明目标对象的布局ID不合法。若目标对象的布局ID不合法,则将匹配失败作为所述用户界面单元测试结果进行输出,若目标对象的布局ID合法,则遍历布局标识常量文件,判断是否存在相同的布局ID,若存在相同的布局ID, 则基于与目标对象对应的列表布局ID,确定出目标对象对应的真实的列表,从而实现了从复用的目标对象布局ID中确定出唯一对应的列表的技术效果。进一步,在确定出目标对象对应的列表之后,继续执行步骤103。若不存在相同的布局ID,则直接执行步骤103。
基于同一发明构思,本发明实施例还提供一种用户界面单元测试装置,如图2所示,所述装置包括:
获取模块201,用于获取输入的查找数据对象的哈希值;
查找模块202,用于在列表绑定数据集中查找与所述哈希值匹配的元素,并将查找到的与所述哈希值匹配的元素确定为目标对象;
匹配模块203,用于将所述目标对象在原始列表数据集中的原集合数据与所述目标对象在所述列表绑定数据集中的绑定数据进行匹配,获得匹配结果,其中,所述列表绑定数据集为所述原始列表数据集经克隆后得到的数据集;
输出模块204,用于将所述匹配结果作为用户界面单元测试结果进行输出。
优选的,所述装置还包括:
第一判断模块,用于判断所述目标对象的类型与所述列表绑定数据集的类型是否相同;
第一执行模块,用于若所述目标对象的类型与所述列表绑定数据集的类型相同,则执行所述将所述目标对象在原始列表数据集中的原集合数据与所述目标对象在所述列表绑定数据集中的绑定数据进行匹配的步骤,否则,将匹配失败作为所述用户界面单元测试结果进行输出。
优选的,所述装置还包括:
第二判断模块,用于判断所述目标对象的布局标识是否合法;
第三判断模块,用于若所述目标对象的布局标识合法,则遍历布局标识常量文件,判断是否存在与所述目标对象的布局标识相同的布局标识;
第二执行模块,用于若存在,则基于与所述目标对象对应的列表布局标识,确定出与所述目标对象对应的列表,并,基于与所述目标对象对应的列表执行所述将所述目标对象在原始列表数据集中的原集合数据与所述目标对象在所述列表绑定数据集中的绑定数据进行匹配的步骤;
第三执行模块,用于若不存在,则直接执行所述将所述目标对象在原始列表数据集中的原集合数据与所述目标对象在所述列表绑定数据集中的绑定数据进行匹配的步骤;
第四执行模块,用于若所述目标对象的布局标识不合法,则将匹配失败作为所述用户界面单元测试结果进行输出。
优选的,第二判断模块,具体用于:
判断所述目标对象的布局标识是否属于8位十六进制整型;
其中,若所述目标对象的布局标识属于8位十六进制整型,则表明所述目标对象的布局标识合法,若所述目标对象的布局标识不属于8位十六进制整型,则表明所述目标对象的布局标识不合法。
优选的,查找模块,具体用于:
以所述列表绑定数据集的中间元素所在位置为起始查找位置,向所述列表绑定数据集两侧的元素展开,查找与所述哈希值匹配的元素。
优选的,匹配模块,具体用于:
利用CFPM算法将所述目标对象在原始列表数据集中的原集合数据与所述目标对象在所述列表绑定数据集中的绑定数据进行匹配。
基于同一发明构思,本发明实施例还提供一种计算机可读存储介质,其上存储有计算机程序,该程序被处理器执行时实现以下步骤:
获取输入的查找数据对象的哈希值;
在列表绑定数据集中查找与所述哈希值匹配的元素,并将查找到的与所述哈希值匹配的元素确定为目标对象;
将所述目标对象在原始列表数据集中的原集合数据与所述目标对象在所述列表绑定数据集中的绑定数据进行匹配,获得匹配结果,其中,所述列表绑定数据集为所述原始列表数据集经克隆后得到的数据集;
将所述匹配结果作为用户界面单元测试结果进行输出。
本发明实施例还提供了一种计算机设备,如图3所示,为了便于说明,仅示出了与本发明实施例相关的部分,具体技术细节未揭示的,请参照本发明实施例方法部分。该计算机设备可以为包括手机、平板电脑、PDA(Personal Digital Assistant,个人数字助理)、POS(Point of Sales,销售终端)、车载电脑等任意终端设备,以计算机设备为手机为例:
图3示出的是与本发明实施例提供的计算机设备相关的部分结构的框图。参考图3,该计算机设备包括:存储器301和处理器302。本领域技术人员可以理解,图3中示出的计算机设备结构并不构成对计算机设备的限定,可以包括比图示更多或更少的部件,或者组合某些部件,或者不同的部件布置。
下面结合图3对计算机设备的各个构成部件进行具体的介绍:
存储器301可用于存储软件程序以及模块,处理器302通过运行存储在存储器301的软件程序以及模块,从而执行各种功能应用以及数据处理。存储器301可主要包括存储程序区和存储数据区,其中,存储程序区可存储操作系统、至少一个功能所需的应用程序(比如声音播放功能、图像播放功能等)等;存储数据区可存储数据(比如音频数据、电话本等)等。此外,存储器301可以包 括高速随机存取存储器,还可以包括非易失性存储器,例如至少一个磁盘存储器件、闪存器件、或其他易失性固态存储器件。
处理器302是计算机设备的控制中心,通过运行或执行存储在存储器301内的软件程序和/或模块,以及调用存储在存储器301内的数据,执行各种功能和处理数据。可选的,处理器302可包括一个或多个处理单元;优选的,处理器302可集成应用处理器和调制解调处理器,其中,应用处理器主要处理操作系统、用户界面和应用程序等,调制解调处理器主要处理无线通信。
在本发明实施例中,该计算机设备所包括的处理器302可以具有以下功能:
获取输入的查找数据对象的哈希值;
在列表绑定数据集中查找与所述哈希值匹配的元素,并将查找到的与所述哈希值匹配的元素确定为目标对象;
将所述目标对象在原始列表数据集中的原集合数据与所述目标对象在所述列表绑定数据集中的绑定数据进行匹配,获得匹配结果,其中,所述列表绑定数据集为所述原始列表数据集经克隆后得到的数据集;
将所述匹配结果作为用户界面单元测试结果进行输出。
总之,本申请利用输入的查找数据对象的哈希值作为查询输入条件,在列表绑定数据集中查找与哈希值匹配的元素,并将查找到的与哈希值匹配的元素确定为目标对象,在将目标对象在原始列表数据集中的原集合数据与目标对象在列表绑定数据集中的绑定数据进行匹配,并将匹配结果作为用户界面单元测试结果进行输出,由于哈希值的唯一性,可有效解决RecyclerView因没有明确的索引值而出现的匹配错位的问题,提高了匹配的准确性。
在此提供的算法和显示不与任何特定计算机、虚拟系统或者其它设备固有相关。各种通用系统也可以与基于在此的示教一起使用。根据上面的描述,构造这类系统所要求的结构是显而易见的。此外,本发明也不针对任何特定编程语言。应当明白,可以利用各种编程语言实现在此描述的本发明的内容,并且上面对特定语言所做的描述是为了披露本发明的最佳实施方式。
在此处所提供的说明书中,说明了大量具体细节。然而,能够理解,本发明的实施例可以在没有这些具体细节的情况下实践。在一些实例中,并未详细示出公知的方法、结构和技术,以便不模糊对本说明书的理解。
类似地,应当理解,为了精简本公开并帮助理解各个发明方面中的一个或多个,在上面对本发明的示例性实施例的描述中,本发明的各个特征有时被一起分组到单个实施例、图、或者对其的描述中。然而,并不应将该公开的方法解释成反映如下意图:即所要求保护的本发明要求比在每个权利要求中所明确记载的特征更多的特征。更确切地说,如下面的权利要求书所反映的那样,发 明方面在于少于前面公开的单个实施例的所有特征。因此,遵循具体实施方式的权利要求书由此明确地并入该具体实施方式,其中每个权利要求本身都作为本发明的单独实施例。
本领域那些技术人员可以理解,可以对实施例中的设备中的模块进行自适应性地改变并且把它们设置在与该实施例不同的一个或多个设备中。可以把实施例中的模块或单元或组件组合成一个模块或单元或组件,以及此外可以把它们分成多个子模块或子单元或子组件。除了这样的特征和/或过程或者单元中的至少一些是相互排斥之外,可以采用任何组合对本说明书(包括伴随的权利要求、摘要和附图)中公开的所有特征以及如此公开的任何方法或者设备的所有过程或单元进行组合。除非另外明确陈述,本说明书(包括伴随的权利要求、摘要和附图)中公开的每个特征可以由提供相同、等同或相似目的的替代特征来代替。
此外,本领域的技术人员能够理解,尽管在此的一些实施例包括其它实施例中所包括的某些特征而不是其它特征,但是不同实施例的特征的组合意味着处于本发明的范围之内并且形成不同的实施例。例如,在下面的权利要求书中,所要求保护的实施例的任意之一都可以以任意的组合方式来使用。
本发明的各个部件实施例可以以硬件实现,或者以在一个或者多个处理器上运行的软件模块实现,或者以它们的组合实现。本领域的技术人员应当理解,可以在实践中使用微处理器或者数字信号处理器(DSP)来实现根据本发明实施例的网关、代理服务器、系统中的一些或者全部部件的一些或者全部功能。本发明还可以实现为用于执行这里所描述的方法的一部分或者全部的设备或者装置程序(例如,计算机程序和计算机程序产品)。这样的实现本发明的程序可以存储在计算机可读介质上,或者可以具有一个或者多个信号的形式。这样的信号可以从因特网网站上下载得到,或者在载体信号上提供,或者以任何其他形式提供。
应该注意的是上述实施例对本发明进行说明而不是对本发明进行限制,并且本领域技术人员在不脱离所附权利要求的范围的情况下可设计出替换实施例。在权利要求中,不应将位于括号之间的任何参考符号构造成对权利要求的限制。单词“包含”不排除存在未列在权利要求中的元件或步骤。位于元件之前的单词“一”或“一个”不排除存在多个这样的元件。本发明可以借助于包括有若干不同元件的硬件以及借助于适当编程的计算机来实现。在列举了若干装置的单元权利要求中,这些装置中的若干个可以是通过同一个硬件项来具体体现。单词、第二、以及第三等的使用不表示任何顺序。可将这些单词解释为名称。

Claims (10)

  1. 一种用户界面单元测试方法,其特征在于,所述方法包括:
    获取输入的查找数据对象的哈希值;
    在列表绑定数据集中查找与所述哈希值匹配的元素,并将查找到的与所述哈希值匹配的元素确定为目标对象;
    将所述目标对象在原始列表数据集中的原集合数据与所述目标对象在所述列表绑定数据集中的绑定数据进行匹配,获得匹配结果,其中,所述列表绑定数据集为所述原始列表数据集经克隆后得到的数据集;
    将所述匹配结果作为用户界面单元测试结果进行输出。
  2. 如权利要求1所述的方法,其特征在于,在所述将查找到的与所述哈希值匹配的元素确定为目标对象之后,且在所述将所述目标对象在原始列表数据集中的原集合数据与所述目标对象在所述列表绑定数据集中的绑定数据进行匹配之前,所述方法还包括:
    判断所述目标对象的类型与所述列表绑定数据集的类型是否相同;
    若所述目标对象的类型与所述列表绑定数据集的类型相同,则执行所述将所述目标对象在原始列表数据集中的原集合数据与所述目标对象在所述列表绑定数据集中的绑定数据进行匹配的步骤,否则,将匹配失败作为所述用户界面单元测试结果进行输出。
  3. 如权利要求1所述的方法,其特征在于,在所述将查找到的与所述哈希值匹配的元素确定为目标对象之后,且在所述将所述目标对象在原始列表数据集中的原集合数据与所述目标对象在所述列表绑定数据集中的绑定数据进行匹配之前,所述方法还包括:
    判断所述目标对象的布局标识是否合法;
    若所述目标对象的布局标识合法,则遍历布局标识常量文件,判断是否存在与所述目标对象的布局标识相同的布局标识;
    若存在,则基于与所述目标对象对应的列表布局标识,确定出与所述目标对象对应的列表,并,基于与所述目标对象对应的列表执行所述将所述目标对象在原始列表数据集中的原集合数据与所述目标对象在所述列表绑定数据集中的绑定数据进行匹配的步骤;
    若不存在,则直接执行所述将所述目标对象在原始列表数据集中的原集合数据与所述目标对象在所述列表绑定数据集中的绑定数据进行匹配的步骤;
    若所述目标对象的布局标识不合法,则将匹配失败作为所述用户界面单元测试结果进行输出。
  4. 如权利要求3所述的方法,其特征在于,所述判断所述目标对象的布局 标识是否合法,包括:
    判断所述目标对象的布局标识是否属于8位十六进制整型;
    其中,若所述目标对象的布局标识属于8位十六进制整型,则表明所述目标对象的布局标识合法,若所述目标对象的布局标识不属于8位十六进制整型,则表明所述目标对象的布局标识不合法。
  5. 如权利要求1所述的方法,其特征在于,所述在列表绑定数据集中查找与所述哈希值匹配的元素,包括:
    以所述列表绑定数据集的中间元素所在位置为起始查找位置,向所述列表绑定数据集两侧的元素展开,查找与所述哈希值匹配的元素。
  6. 如权利要求1所述的方法,其特征在于,所述将所述目标对象在原始列表数据集中的原集合数据与所述目标对象在所述列表绑定数据集中的绑定数据进行匹配,包括:
    利用CFPM算法将所述目标对象在原始列表数据集中的原集合数据与所述目标对象在所述列表绑定数据集中的绑定数据进行匹配。
  7. 一种用户界面单元测试装置,其特征在于,所述装置包括:
    获取模块,用于获取输入的查找数据对象的哈希值;
    查找模块,用于在列表绑定数据集中查找与所述哈希值匹配的元素,并将查找到的与所述哈希值匹配的元素确定为目标对象;
    匹配模块,用于将所述目标对象在原始列表数据集中的原集合数据与所述目标对象在所述列表绑定数据集中的绑定数据进行匹配,获得匹配结果,其中,所述列表绑定数据集为所述原始列表数据集经克隆后得到的数据集;
    输出模块,用于将所述匹配结果作为用户界面单元测试结果进行输出。
  8. 如权利要求7所述的装置,其特征在于,所述装置还包括:
    第一判断模块,用于判断所述目标对象的类型与所述列表绑定数据集的类型是否相同;
    第一执行模块,用于若所述目标对象的类型与所述列表绑定数据集的类型相同,则执行所述将所述目标对象在原始列表数据集中的原集合数据与所述目标对象在所述列表绑定数据集中的绑定数据进行匹配的步骤,否则,将匹配失败作为所述用户界面单元测试结果进行输出。
  9. 一种计算机可读存储介质,其上存储有计算机程序,其特征在于,该程序被处理器执行时实现以下步骤:
    获取输入的查找数据对象的哈希值;
    在列表绑定数据集中查找与所述哈希值匹配的元素,并将查找到的与所述哈希值匹配的元素确定为目标对象;
    将所述目标对象在原始列表数据集中的原集合数据与所述目标对象在所述列表绑定数据集中的绑定数据进行匹配,获得匹配结果,其中,所述列表绑定数据集为所述原始列表数据集经克隆后得到的数据集;
    将所述匹配结果作为用户界面单元测试结果进行输出。
  10. 一种计算机设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,其特征在于,所述处理器执行所述程序时实现以下步骤:
    获取输入的查找数据对象的哈希值;
    在列表绑定数据集中查找与所述哈希值匹配的元素,并将查找到的与所述哈希值匹配的元素确定为目标对象;
    将所述目标对象在原始列表数据集中的原集合数据与所述目标对象在所述列表绑定数据集中的绑定数据进行匹配,获得匹配结果,其中,所述列表绑定数据集为所述原始列表数据集经克隆后得到的数据集;
    将所述匹配结果作为用户界面单元测试结果进行输出。
PCT/CN2018/082348 2017-09-27 2018-04-09 用户界面单元测试方法、装置、可读存储介质及设备 WO2019062067A1 (zh)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
CN201710891009.XA CN107657026B (zh) 2017-09-27 2017-09-27 用户界面单元测试方法、装置、可读存储介质及设备
CN201710891009.X 2017-09-27

Publications (1)

Publication Number Publication Date
WO2019062067A1 true WO2019062067A1 (zh) 2019-04-04

Family

ID=61116297

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/CN2018/082348 WO2019062067A1 (zh) 2017-09-27 2018-04-09 用户界面单元测试方法、装置、可读存储介质及设备

Country Status (2)

Country Link
CN (1) CN107657026B (zh)
WO (1) WO2019062067A1 (zh)

Families Citing this family (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN107657026B (zh) * 2017-09-27 2020-05-12 武汉斗鱼网络科技有限公司 用户界面单元测试方法、装置、可读存储介质及设备
CN109992580A (zh) * 2018-11-08 2019-07-09 深圳壹账通智能科技有限公司 列表数据的处理方法及装置、存储介质、计算机设备

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20080109793A1 (en) * 2006-11-02 2008-05-08 Red Hat, Inc. Verifying loaded module during debugging
CN105760292A (zh) * 2014-12-18 2016-07-13 阿里巴巴集团控股有限公司 一种用于单元测试的断言验证方法和装置
CN105828200A (zh) * 2016-03-22 2016-08-03 乐视网信息技术(北京)股份有限公司 一种节目菜单的更新方法和装置
CN106354622A (zh) * 2015-07-14 2017-01-25 北京国双科技有限公司 测试网页的展示方法和装置
CN107657026A (zh) * 2017-09-27 2018-02-02 武汉斗鱼网络科技有限公司 用户界面单元测试方法、装置、可读存储介质及设备

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20080109793A1 (en) * 2006-11-02 2008-05-08 Red Hat, Inc. Verifying loaded module during debugging
CN105760292A (zh) * 2014-12-18 2016-07-13 阿里巴巴集团控股有限公司 一种用于单元测试的断言验证方法和装置
CN106354622A (zh) * 2015-07-14 2017-01-25 北京国双科技有限公司 测试网页的展示方法和装置
CN105828200A (zh) * 2016-03-22 2016-08-03 乐视网信息技术(北京)股份有限公司 一种节目菜单的更新方法和装置
CN107657026A (zh) * 2017-09-27 2018-02-02 武汉斗鱼网络科技有限公司 用户界面单元测试方法、装置、可读存储介质及设备

Also Published As

Publication number Publication date
CN107657026A (zh) 2018-02-02
CN107657026B (zh) 2020-05-12

Similar Documents

Publication Publication Date Title
CN107562775B (zh) 一种基于区块链的数据处理方法及设备
JP6435398B2 (ja) 端末識別子を促進する方法及びシステム
WO2015154385A1 (zh) 一种实现ota升级的方法和终端
US8903831B2 (en) Rejecting rows when scanning a collision chain
US7343266B2 (en) System and method for metadata verification during measurement processing
CN111078672B (zh) 数据库的数据对比方法及装置
WO2018149138A1 (zh) 无线保真Wi-Fi连接方法及相关产品
WO2016029441A1 (zh) 一种文件扫描方法及装置
US20170309298A1 (en) Digital fingerprint indexing
WO2017128701A1 (zh) 存储数据的方法和装置
CN112052413B (zh) Url模糊匹配方法、装置和系统
CN106649538A (zh) 人脸搜索的方法及装置
WO2019062067A1 (zh) 用户界面单元测试方法、装置、可读存储介质及设备
CN107784073B (zh) 一种本地缓存的数据查询方法、存储介质和服务器
CN108664518B (zh) 一种实现查表处理的方法及装置
US9965570B2 (en) Performing predicate evaluation on compressed character string of variable length
CN108776665B (zh) 一种数据处理方法及装置
US9780806B2 (en) Predicate application through partial compression dictionary match
CN111402958A (zh) 一种建立基因比对表的方法、系统、设备及介质
JP2017139733A (ja) プロセスチェーンにおけるパケットの生成及び認証
KR102029465B1 (ko) 검색 또는 패턴 매칭 엔진 및 이를 구비한 단말장치와 그 방법
CN106326310B (zh) 一种手机客户端软件的资源加密更新方法
CN109635175B (zh) 页面数据拼接方法、装置、可读存储介质和电子设备
CN113486025A (zh) 数据存储方法、数据查询方法及装置
CN107122164B (zh) 函数地址获取及应用其的方法、装置、设备及存储介质

Legal Events

Date Code Title Description
121 Ep: the epo has been informed by wipo that ep was designated in this application

Ref document number: 18863415

Country of ref document: EP

Kind code of ref document: A1

NENP Non-entry into the national phase

Ref country code: DE

122 Ep: pct application non-entry in european phase

Ref document number: 18863415

Country of ref document: EP

Kind code of ref document: A1