WO2019144680A1 - 自动化测试方法及装置、存储介质、电子设备 - Google Patents
自动化测试方法及装置、存储介质、电子设备 Download PDFInfo
- Publication number
- WO2019144680A1 WO2019144680A1 PCT/CN2018/116017 CN2018116017W WO2019144680A1 WO 2019144680 A1 WO2019144680 A1 WO 2019144680A1 CN 2018116017 W CN2018116017 W CN 2018116017W WO 2019144680 A1 WO2019144680 A1 WO 2019144680A1
- Authority
- WO
- WIPO (PCT)
- Prior art keywords
- user
- test
- automated
- control
- location information
- Prior art date
Links
Images
Classifications
-
- 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/362—Software debugging
- G06F11/3644—Software debugging by instrumenting at runtime
-
- 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/3684—Test management for test design, e.g. generating new test cases
-
- 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/3664—Environments for testing or debugging software
-
- 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
Definitions
- the present disclosure relates to the field of software testing technologies, and in particular, to an automated testing method, an automated testing device, a computer readable storage medium, and an electronic device.
- the game script to be tested can be tested by the game test framework; the UI control to be tested can also be tested by the UI control recognition method.
- an automated testing method comprising:
- the UI automation test script is run and debugged using the automated test framework.
- an automated test apparatus comprising:
- a rendering data acquisition module configured to configure a general-purpose SDK interface, and obtain UI rendering data including multiple UI controls through the SDK interface;
- a simulation operation determining module configured to receive an operation event of the UI rendering data by the user, and determine, according to the operation event, a simulated operation of the UI rendering data by the user on the terminal device;
- test script generating module determining location information of the UI control corresponding to the simulation operation, and generating a UI automation test script according to the location information and the simulation operation;
- the test script runs a module that is run and debugged using the automated test framework.
- an electronic device including:
- a memory for storing executable instructions of the processor
- processor is configured to perform the automated test method of any of the above described above by executing the executable instructions.
- FIG. 1 is an exemplary block diagram showing the principles of automated testing in accordance with some embodiments of the present disclosure.
- FIG. 2 is an example diagram showing a data presentation tool of a game script in accordance with some embodiments of the present disclosure.
- FIG. 3 is a flow chart showing an automated test method in accordance with some embodiments of the present disclosure.
- FIG. 4 is a flowchart illustrating a method of receiving an operational event of a user's rendering of UI data and determining a simulated operation of the user rendering data on the terminal device on the terminal device in accordance with the operational event, in accordance with some embodiments of the present disclosure.
- FIG. 5 is a diagram showing an example of the operation of an automated test framework in accordance with some embodiments of the present disclosure.
- FIG. 6 is a diagram showing an example of an automatic recording mode in accordance with some embodiments of the present disclosure.
- FIG. 7 is a diagram showing an example of a running report in accordance with some embodiments of the present disclosure.
- FIG. 8 is a block diagram showing an automated test apparatus in accordance with some embodiments of the present disclosure.
- FIG. 9 is a block diagram showing an example of an electronic device for implementing the automated test method described above, in accordance with some embodiments of the present disclosure.
- FIG. 10 is a computer readable storage medium illustrating a method for implementing the automated test described above, in accordance with some embodiments of the present disclosure.
- the following two test methods can be generally included: one is to use a game test framework based on image recognition and a corresponding script production tool, and can record the position of the position to be operated in the script to be tested and The type of operation, when running the script to be tested, locate the position to be operated by the position screenshot, and execute the game script to be tested according to the operation type of the script to be tested; the other is, based on the UI control identification method, Get all the UI control data in the game (you can get its absolute position and other attributes at the same time), search directly from the data to the UI control you want to operate, and perform corresponding operations to complete the precise automated test operation.
- the defect is that in some complex image recognition scenarios, the image recognition positioning is not accurate enough, which often leads to the failure of the test script.
- the defects are: on the one hand, because the engine structure of each platform is different, the framework of each automated test is different, resulting in each automated test framework can only be applied to the supporting engine, so that each automated test
- the scope of the framework is small; on the other hand, the speed of obtaining the information of the control to be tested is slow, and the abstraction of the acquisition method is not enough; on the other hand, the coordinate system of the control to be tested is not flexible enough; further, the supported analog input mode is more Less, and the auxiliary tools are relatively simple and inefficient.
- control data can be directly obtained by directly acquiring all UIs in the game (the user interface, which can be presented to the user for interactive graphics, and the interface can include multiple controls), and then from the control data. Directly search for the UI control to be operated, and then perform corresponding operations on it to complete the purpose of the accurate period animation test operation. Further, in the automated test solution, a UI tree presentation and a picking function of the device implementation screen, and an automatic generation, operation, and report generation function of the corresponding test script are also provided.
- the platforms that UI automation can be applied to include: Android platform, IOS platform, Windows platform, and other common platforms.
- the rendering of the application of the above platform can be taken over by the operating system, that is, the application only uses the style management and interaction logic responsible for the control, and the operating system is responsible for displaying the controls on the screen; further, the automation framework passes and operates System communication, obtain control information from the corresponding interface (including control properties and interface layout, etc.); when the automated test script runs with this information, it can simulate manual operation, achieve the effect of automated operation, and finally complete the automated test.
- the UI rendering of the web platform is independent of the operating system, and its structure and principle are similar to the operating system; wherein the web page is responsible for managing the control, the browser is responsible for rendering, and the automation framework can interact with the web page through the browser interaction. Get the control information directly in the web page (interface).
- game engines are generally not open to use for automated test interfaces. Most engines are not open source or even open. There is currently no general UI automation test framework for game engines.
- the SDK 103 obtains the game real-time control information through the internal interface of the game engine at runtime.
- the automated testing framework 102 communicates with the SDK outside the game to obtain information about the controls.
- the control information includes basic elements such as the position, size, text, and name of the control. Further, the automated test may include the following operations:
- the test tool can generate a simulation operation, such as an analog click at this position, which can achieve the effect of clicking on this control;
- Analog input Since the test tool uses the adb command to generate analog input, it is only available for games on the Android platform.
- the testing tool also provides an API for acquiring controls, which can be obtained by attributes such as name, path, text, etc., and also supports wildcard matching, such as obtaining a descendant node in a node's descendant.
- test tool also provides a control viewer: View; as shown in FIG. 2, the control viewer is used for the user to actively “synchronize the game” to obtain the current game screen and the control tree when manually writing the test script, and according to Get the GameObject to write the script.
- the above automated test method has the following disadvantages: on the one hand, the scope of application is small, and is only applicable to games based on Android system; on the other hand, the speed of obtaining control information is slow and the acquisition mode is not enough; especially in given complexity
- the condition of the acquisition control can feel the card, because the test tool is only used for Android-based games, so the control is based on the characteristics of the Android-based game; for example, according to the Component property, according to the text value
- the control's coordinate system is not flexible enough, and the global analog input intelligence uses absolute coordinate values; however, if a absolute coordinate position is written in a test script, it runs on a terminal with different resolutions.
- an automated test method is first provided in this example embodiment.
- the automated test method can include the following steps:
- Step S310 Configure a general-purpose SDK interface and acquire UI rendering data including a plurality of UI controls through the SDK interface.
- Step S320 Receive an operation event of the user rendering data to the UI and determine, according to the operation event, a simulation operation of the user to render data on the UI device on the terminal device.
- Step S330 Determine location information of the UI control corresponding to the simulation operation, and generate a UI automation test script according to the location information and the simulation operation.
- Step S340 Run and debug the UI automation test script by using the automated test framework.
- the problem of using the automatic test framework in the prior art due to different engine structures is solved, and the automated test is improved.
- the application range of the method on the other hand, by determining the second touch operation of the user on the terminal device according to the first touch operation and generating an automated test script, and then running the automatic test script, the automatic test of the terminal device is avoided.
- the problem is to increase the speed of automated testing while also improving the accuracy of automated test results.
- step S310 a general SDK interface is configured and UI rendering data including a plurality of UI controls is acquired through the SDK interface.
- UI rendering data including a plurality of UI controls
- the SDK standard can include a generic SDK interface and a SDK basic model. Further, according to the SDK standard, the SDK interface and the SDK basic model can be implemented on different engines, and different programming languages only need to follow the same interface and model specifications. It should be added here that the SDK code needs to be integrated in the game.
- the automation framework obtains the structured UI rendering data by communicating with the SDK. Among them, the SDK code is different for each engine, and the specific code is strictly according to the disclosure.
- the model definition is implemented and embedded in the game; the SDK is responsible for obtaining UI rendering data through the engine interface within the game and processing the standard data structure defined for this disclosure.
- the SDK basic model can include AbstractNode (the abstract model of the control node), AbstractDumper (the abstract model of the control node traversal), Selector (the abstract model of the control node positioning), and DefaultMatcher (the default matching abstract model). among them:
- the AbstractNode can include the parent-child hierarchical access method and the attribute enumeration method. Further, the parent-child hierarchical access interface method can access all the associated objects of the control node to implement the traversal function; the node can be obtained through the attribute enumeration interface method. Name, path, text, etc.
- AbstractDumper can implement the dump algorithm of the control node (by iterative traversal, the control node data and hierarchical relationship are exported according to the desired data format; the algorithm implementation steps can include: First, the hierarchy of all control nodes is a tree structure, Each node is of the AbstractNode type; the root node is obtained, and all the attributes of the node are obtained through the attribute enumeration interface method in the root node; then, the child nodes directly subordinate to the node are obtained through the parent-child level access method in the root node; If the number of child nodes is not 0, then each child node is taken as a root node in turn, the previous step is repeated, and the return value is stored; finally, the root node information and the child node information are organized according to a fixed format;
- the Selector can implement the general Select algorithm based on the AbstractNode method; the Select algorithm is to traverse all nodes and return the nodes that satisfy the given conditions (may return multiple nodes); further, the core steps of the select algorithm are similar to the dump algorithm, traversing When the control makes a conditional decision on the node (the method of the DefaultMatcher class is used in the decision), if a node satisfies the given condition, it is added to the returned result;
- DefaultMatcher provides the default match method, which is applied in the Select algorithm.
- the Select algorithm determines whether to include this node in the return result based on the result of the match.
- the UI rendering data including the plurality of UI controls is acquired by using the SDK interface.
- the data structure of the UI rendering data can be unified, and the cross-engine testing can be implemented, thereby improving the application range of the automated testing method.
- the abstract model and the abstract method in the above SDK standard can be called rules.
- the API provided by the engine implements the corresponding abstract method and encapsulates these methods into the rpc method.
- the interface to each test framework is the same when called.
- each engine version SDK has the same public rpc method to call, and the differences between the engines have been eliminated, thus implementing cross-engine.
- step S320 an operation event of the user rendering data to the UI is received and a simulation operation of the UI rendering data by the user on the terminal device is determined according to the operation event.
- an operation event of the user rendering data to the UI is received; wherein the operation event may include MotionEvent: all screen touch related operations, each touch point has three actions, pressing, moving, lifting Multiple points together act as multi-touch, the event collection of all points is MotionEvent; KeyEvent: key event, corresponding to keyboard, HOME, BACK, etc., there are two actions, press and lift, similar to MotionEvent SensorEvent: sensor event, simulate setting the value of the sensor, etc.
- the user simulates the simulation operation of the UI rendering data on the terminal device; for example, when the first touch operation is pressed-lifted
- the user can determine that the second touch operation performed by the user on the UI rendering data of the terminal device is clicked once; when the first touch operation is pressed-moved-lifted, the user can determine that the user renders data on the UI in the terminal device.
- the second touch operation is an APP on the mobile terminal device.
- FIG. 4 is a flow chart schematically showing a method of receiving an operation event of a user rendering data on the UI and determining a simulation operation of the user rendering data on the terminal device on the terminal device according to the operation event.
- the method may include steps S410 to S430. among them:
- step S410 the UI rendering data is filtered and parsed to obtain a UI rendering tree.
- step S420 a first display interface is provided, and an operation event of the received user to the UI rendering tree is presented to the first display interface.
- step S430 the simulation operation of the UI rendering tree on the terminal device by the user is determined according to the operation event and presented to the second display interface.
- the above steps S410 to S430 will be explained and explained.
- the UI rendering data is filtered and parsed and obtained with reference to the UI rendering tree shown in the upper left corner of FIG.
- the parent node in the UI rendering tree for example
- the menu may include a menu, and the parent node may further include multiple child nodes, for example, may include btnback, btnmsg, center, etc., and may also include other child nodes, such as ranklist and audioMng, etc., this example does not Special restrictions;
- step S330 location information of the UI control corresponding to the simulation operation is determined, and a UI automation test script is generated according to the location information and the simulation operation.
- a UI automation test script is generated according to the location information and the simulation operation.
- the location information of the UI control corresponding to the simulation operation is determined; wherein determining the location information of the UI control corresponding to the simulation operation may include: corresponding to the simulation operation in the viewer mode or in the automatic recording mode
- the location information of the UI control is marked in the form of a preset identifier; secondly, a UI automation test script is generated based on the location information and the simulation operation.
- a comment box corresponding to the UI control may be added to the preset position of the preset identifier, and the comment box is presented to the first interface; wherein the comment box includes a
- the various icons corresponding to the UI control, the type of the control, and the name of the control For example:
- the device screen and UI data will be frozen.
- the control bounding box of the corresponding position will be automatically circled in the form of a transparent frame.
- the comment box contains the corresponding icon, control type, control name and other attributes of the control (see Figure 5 for the specific effect picture); the position of the comment box is preferentially left-aligned below the transparent frame.
- the automated test framework calculates the width and height of the comment box.
- the right device screen displays the selected effect of the transparent frame of the corresponding control.
- the corresponding control item in the tree structure diagram on the left side will display the selected effect. If the tree view expansion list is too long, the tree view will automatically scroll to the corresponding entry.
- the device screen and UI data will be refreshed normally.
- the range of the corresponding position control will be automatically circled in the form of a transparent frame.
- the comment box contains the corresponding icon, control type, control name and other attributes of the control.
- the corresponding operation script is automatically generated in the script area.
- the UI data is continuously refreshed. If the device space interface changes, the user can proceed to the next step, and the automated test framework will continue to automatically generate the script to be tested until the user completes the operation to end the script recording.
- the user can directly click and run.
- the Log generated by the script can be viewed at the touch of a button.
- the screenshots, operation positions, and control information of the corresponding operations are saved, and when the report is generated, the running data of the records is generated into an HTML webpage, and the device is screened and operated according to the operation sequence. The position and size are circled with corresponding marks. The specific result can be shown in Figure 7.
- the location information needs to be normalized; wherein the normalization process may be coordinate values of the location information relative to the screen percentage of the display device.
- the normalizing the position information may include the steps of: performing a quotient calculation on the abscissa of the position information and the width value of the screen resolution of the display device to obtain a standard abscissa; The ordinate is compared with the height value of the screen resolution of the display device to obtain a standard ordinate.
- the abscissa (x value) in the position information can be divided by the width of the screen of the display device to obtain the standard abscissa; and the ordinate (y value) in the position information is divided by the display device.
- the long side (high) gets the standard ordinate; further, since the standard abscissa and the standard ordinate are percentage values relative to the screen of the display device, it can be applied to different sizes of display screens; therefore, in different Under the resolution device, the value of the percentage value is constant.
- step S340 the UI automation test script is run and debugged by the automated test framework, and the test of the UI automated test script is completed.
- the UI automation test script can be run, and the UI automation test script is debugged according to the running result, so as to complete the test of the UI automatic test script and complete at the same time. Automated testing of this UI control.
- the test log is generated, and the test log may be generated, and the test log corresponding to the UI automated test script is generated, and the test script is written according to the test log.
- the writing a to-be-tested script according to the test log may include: configuring a script writing auxiliary tool, composing the to-be-tested script based on the test log and using the script writing auxiliary tool.
- a plurality of UIs may be written according to test logs of each UI control.
- the script to be tested of the control further, in order to improve the writing speed of the script to be tested, the script can be written by the script writing aid.
- the automated test apparatus may include a rendering data acquisition module 810, a simulation operation determination module 820, a test script generation module 830, and a test script execution module 840. among them:
- the rendering data acquisition module 810 can be configured to configure a generic SDK interface and obtain UI rendering data including a plurality of UI controls through the SDK interface.
- the simulation operation determining module 820 can be configured to receive an operation event of the user rendering data by the UI, and determine, according to the operation event, an analog operation of the user on the terminal device to render data on the terminal device.
- the test script generation module 830 can be configured to determine location information of the UI control corresponding to the simulation operation, and generate a UI automation test script according to the location information and the simulation operation.
- the test script execution module 840 can be used to run and debug the UI automation test scripts using the automated test framework.
- modules or units of equipment for action execution are mentioned in the detailed description above, such division is not mandatory. Indeed, in accordance with embodiments of the present disclosure, the features and functions of two or more modules or units described above may be embodied in one module or unit. Conversely, the features and functions of one of the modules or units described above may be further divided into multiple modules or units.
- the technical solution according to an embodiment of the present disclosure may be embodied in the form of a software product, which may be stored in a non-volatile storage medium (which may be a CD-ROM, a USB flash drive, a mobile hard disk, etc.) or on a network.
- a non-volatile storage medium which may be a CD-ROM, a USB flash drive, a mobile hard disk, etc.
- a number of instructions are included to cause a computing device (which may be a personal computer, server, mobile terminal, or network device, etc.) to perform a method in accordance with an embodiment of the present disclosure.
- an electronic device capable of implementing the above method is also provided.
- FIG. 9 An electronic device 900 according to such an embodiment of the present disclosure is described below with reference to FIG. 9 is merely an example and should not impose any limitation on the function and scope of use of the embodiments of the present disclosure.
- electronic device 900 is represented in the form of a general purpose computing device.
- the components of the electronic device 900 may include, but are not limited to, the at least one processing unit 910, the at least one storage unit 920, and a bus 930 that connects different system components (including the storage unit 920 and the processing unit 910).
- the storage unit stores program code, which can be executed by the processing unit 910, such that the processing unit 910 performs various exemplary embodiments according to the present disclosure described in the "Exemplary Method" section of the present specification.
- the processing unit 910 may perform step S310 as shown in FIG.
- step S320 configuring a general-purpose SDK interface and acquiring UI rendering data including a plurality of UI controls through the SDK interface;
- step S320 receiving a user rendering data to the UI And determining, according to the operation event, a simulation operation of the UI rendering data by the user on the terminal device;
- step S330 determining location information of the UI control corresponding to the simulation operation, and according to the location information and The simulation operation generates a UI automation test script;
- step S340 Run and debug the UI automation test script using the automated test framework.
- the storage unit 920 can include a readable medium in the form of a volatile storage unit, such as a random access storage unit (RAM) 9201 and/or a cache storage unit 9202, and can further include a read only storage unit (ROM) 9203.
- RAM random access storage unit
- ROM read only storage unit
- the storage unit 920 can also include a program/utility 9204 having a set (at least one) of the program modules 9205, such as but not limited to: an operating system, one or more applications, other program modules, and program data, Implementations of the network environment may be included in each or some of these examples.
- a program/utility 9204 having a set (at least one) of the program modules 9205, such as but not limited to: an operating system, one or more applications, other program modules, and program data, Implementations of the network environment may be included in each or some of these examples.
- Bus 930 may represent one or more of several types of bus structures, including a memory unit bus or memory unit controller, a peripheral bus, a graphics acceleration port, a processing unit, or a local area using any of a variety of bus structures. bus.
- the electronic device 900 can also communicate with one or more external devices 700 (eg, a keyboard, pointing device, Bluetooth device, etc.), and can also communicate with one or more devices that enable the user to interact with the electronic device 900, and/or with The electronic device 900 is enabled to communicate with any device (e.g., router, modem, etc.) that is in communication with one or more other computing devices. This communication can take place via an input/output (I/O) interface 950. Also, electronic device 900 can communicate with one or more networks (eg, a local area network (LAN), a wide area network (WAN), and/or a public network, such as the Internet) through network adapter 960.
- networks eg, a local area network (LAN), a wide area network (WAN), and/or a public network, such as the Internet
- network adapter 960 communicates with other modules of electronic device 900 via bus 930. It should be understood that although not shown in the figures, other hardware and/or software modules may be utilized in conjunction with electronic device 900, including but not limited to: microcode, device drivers, redundant processing units, external disk drive arrays, RAID systems, tape drives. And data backup storage systems, etc.
- the technical solution according to an embodiment of the present disclosure may be embodied in the form of a software product, which may be stored in a non-volatile storage medium (which may be a CD-ROM, a USB flash drive, a mobile hard disk, etc.) or on a network.
- a non-volatile storage medium which may be a CD-ROM, a USB flash drive, a mobile hard disk, etc.
- a number of instructions are included to cause a computing device (which may be a personal computer, server, terminal device, or network device, etc.) to perform a method in accordance with an embodiment of the present disclosure.
- a computer readable storage medium having stored thereon a program product capable of implementing the above method of the present specification.
- various aspects of the present disclosure may also be embodied in the form of a program product comprising program code for causing said program product to run on a terminal device The terminal device performs the steps according to various exemplary embodiments of the present disclosure described in the "Exemplary Method" section of the present specification.
- a program product 1000 for implementing the above method which may employ a portable compact disk read only memory (CD-ROM) and includes program code, and may be at a terminal device, according to an embodiment of the present disclosure, is described.
- CD-ROM portable compact disk read only memory
- the program product of the present disclosure is not limited thereto, and in this document, the readable storage medium may be any tangible medium that contains or stores a program that can be used by or in connection with an instruction execution system, apparatus, or device.
- the program product can employ any combination of one or more readable media.
- the readable medium can be a readable signal medium or a readable storage medium.
- the readable storage medium can be, for example, but not limited to, an electronic, magnetic, optical, electromagnetic, infrared, or semiconductor system, apparatus, or device, or any combination of the above. More specific examples (non-exhaustive lists) of readable storage media include: electrical connections with one or more wires, portable disks, hard disks, random access memory (RAM), read only memory (ROM), erasable Programmable read-only memory (EPROM or flash memory), optical fiber, portable compact disk read only memory (CD-ROM), optical storage device, magnetic storage device, or any suitable combination of the foregoing.
- the computer readable signal medium may include a data signal that is propagated in the baseband or as part of a carrier, carrying readable program code. Such propagated data signals can take a variety of forms including, but not limited to, electromagnetic signals, optical signals, or any suitable combination of the foregoing.
- the readable signal medium can also be any readable medium other than a readable storage medium that can transmit, propagate, or transport a program for use by or in connection with an instruction execution system, apparatus, or device.
- Program code embodied on a readable medium can be transmitted using any suitable medium, including but not limited to wireless, wireline, optical cable, RF, etc., or any suitable combination of the foregoing.
- Program code for performing the operations of the present disclosure may be written in any combination of one or more programming languages, including an object oriented programming language, such as Java, C++, etc., including conventional procedural Programming language—such as the "C" language or a similar programming language.
- the program code can execute entirely on the user computing device, partially on the user device, as a stand-alone software package, partially on the remote computing device on the user computing device, or entirely on the remote computing device or server. Execute on.
- the remote computing device can be connected to the user computing device via any kind of network, including a local area network (LAN) or wide area network (WAN), or can be connected to an external computing device (eg, provided using an Internet service) Businesses are connected via the Internet).
- LAN local area network
- WAN wide area network
- Businesses are connected via the Internet.
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Computer Hardware Design (AREA)
- Quality & Reliability (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Debugging And Monitoring (AREA)
Abstract
一种自动化测试方法及装置,该方法包括:配置通用SDK接口并通过所述SDK接口获取包括多个UI控件的UI渲染数据(S310);接收用户对所述UI渲染数据的操作事件并根据所述操作事件确定所述用户在终端设备上对所述UI渲染数据的模拟操作(S320);确定所述模拟操作对应的UI控件的位置信息,并根据所述位置信息以及所述模拟操作生成UI自动化测试脚本(S330);利用所述自动化测试框架运行并调试所述UI自动化测试脚本(S340)。
Description
本公开涉及软件测试技术领域,具体而言,涉及一种自动化测试方法、自动化测试装置、计算机可读存储介质以及电子设备。
在现有的游戏测试方案中,可以通过游戏测试框架对待测试的游戏脚本进行测试;也可以通过UI控件识别方法对待测试的UI控件进行测试。
但是,上述测试方案都存在相应的缺陷,因此需要提供一种新的自动化测试方法。
需要说明的是,在上述背景技术部分公开的信息仅用于加强对本公开的背景的理解,因此可以包括不构成对本领域普通技术人员已知的现有技术的信息。
发明内容
根据本公开的一个方面,提供一种自动化测试方法,包括:
配置通用SDK接口并通过所述SDK接口获取包括多个UI控件的UI渲染数据;
接收用户对所述UI渲染数据的操作事件并根据所述操作事件确定所述用户在终端设备上对所述UI渲染数据的模拟操作;
确定所述模拟操作对应的UI控件的位置信息,并根据所述位置信息以及所述模拟操作生成UI自动化测试脚本;
利用所述自动化测试框架运行并调试所述UI自动化测试脚本。
根据本公开的一个方面,提供一种自动化测试装置,包括:
渲染数据获取模块,用于配置通用SDK接口并通过所述SDK接口获取包括多个UI控件的UI渲染数据;
模拟操作判断模块,用于接收用户对所述UI渲染数据的操作事件并根据所述操作事件确定所述用户在终端设备上对所述UI渲染数据的模拟操作;
测试脚本生成模块,确定所述模拟操作对应的UI控件的位置信息,并根据所述位置信息以及所述模拟操作生成UI自动化测试脚本;
测试脚本运行模块,利用所述自动化测试框架运行并调试所述UI自动化测试脚本。
根据本公开的一个方面,提供一种电子设备,包括:
处理器;以及
存储器,用于存储所述处理器的可执行指令;
其中,所述处理器配置为经由执行所述可执行指令来执行上述任意一项所述的自动化测试方法。
应当理解的是,以上的一般描述和后文的细节描述仅是示例性和解释性的,并不能限制本公开。
此处的附图被并入说明书中并构成本说明书的一部分,示出了符合本公开的实施例,并与说明书一起用于解释本公开的原理。显而易见地,下面描述中的附图仅仅是本公开的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1是示出根据本公开一些实施例的自动化测试原理示例性框图。
图2是示出根据本公开一些实施例的游戏脚本的数据展示工具的示例图。
图3是示出根据本公开一些实施例的自动化测试方法的流程图。
图4是示出根据本公开一些实施例的接收用户对UI渲染数据的操作事件并根据操作事件判断用户在终端设备上对所述UI渲染数据的模拟操作的方法流程图。
图5是示出根据本公开一些实施例的自动化测试框架工作原理示例图。
图6是示出根据本公开一些实施例的自动录制模式示例图。
图7是示出根据本公开一些实施例的运行报告示例图。
图8是示出根据本公开一些实施例的自动化测试装置的框图。
图9是示出根据本公开一些实施例的用于实现上述自动化测试方法的电子设备示例框图。
图10是示出根据本公开一些实施例的用于实现上述自动化测试方法的计算机可读存储介质。
现在将参考附图更全面地描述示例实施方式。然而,示例实施方式能够以多种形式实施,且不应被理解为限于在此阐述的范例;相反,提供这些实施方式使得本公开将更加全面和完整,并将示例实施方式的构思全面地传达给本领域的技术人员。所描述的特征、结构或特性可以以任何合适的方式结合在一个或更多实施方式中。在下面的描述中,提供许多具体细节从而给出对本公开的实施方式的充分理解。然而,本领域技术人员将意识到,可以实践本公开的技术方案而省略所述特定细节中的一个或更多,或者可以采用其它的方法、组元、装置、步骤等。在其它情况下,不详细示出或描述公知技术方案以避免喧宾夺主而使得本公开的各方面变得模糊。
此外,附图仅为本公开的示意性图解,并非一定是按比例绘制。图中相同的附图标记表示相同或类似的部分,因而将省略对它们的重复描述。附图中所示的一些方框图是功能实体,不一定必须与物理或逻辑上独立的实体相对应。可以采用软件形式来实现这些功能实体,或在一个或多个硬件模块或集成电路中实现这些功能实体,或在不同网络 和/或处理器装置和/或微控制器装置中实现这些功能实体。
在一种自动化测试方案中,一般可以包括如下两种测试方法:一种是,利用基于图像识别的游戏测试框架和对应的脚本生产工具,可以通过在待测试脚本中记录需要操作的位置截图以及操作类型,在运行待测试脚本时通过位置截图定位到需要操作的位置,并执行待测试脚本对应的操作类型对待测试的游戏脚本进行测试;另一种是,基于UI控件识别方法,可以通过直接获取游戏内的所有UI控件数据(可同时获取其绝对位置等属性),从数据中直接搜索到想要操作的UI控件,对其进行相应的操作,完成精确的自动化测试操作的目的。
但是,上述两种测试方案都存在诸多缺陷。其中:
在第一种测试方案中,存在的缺陷为:在一些复杂图像识别场景下,图像识别定位不够精确,经常会导致测试脚本的运行失败;
在第二种测试方案中,存在的缺陷为:一方面,由于各个平台的引擎结构不同,因此各个自动化测试的框架均不同,导致各自动化测试框架只能适用于配套的引擎,使得各自动化测试框架的使用范围较小;另一方面,获取待测试控件信息的速度较慢,且获取方式抽象度不够;再一方面,待测试控件的坐标系不够灵活;进一步的,支持的模拟输入方式较少,且辅助工具较为简陋,使用效率不高。
进一步的,对上述第二种自动化测试方案进行解释以及说明。在上述第二种自动化测试方案中,可以通过直接获取游戏内的所有UI(User Interface,呈现给用户的可供交互的图形展示,界面中可以包括多个控件)控件数据,然后从控件数据中直接搜索到待操作的UI控件,再对其进行相应的操作,完成精确的期动画测试操作的目的。进一步的,该自动化测试方案中,还提供了设备实施画面的UI树呈现以及拾取功能,以及相应测试脚本的自动生成、运行和报告的生成功能。
进一步的,UI自动化可以适用的平台可以包括:安卓平台、IOS平台、Windows平台以及其他通用平台等等。其中,以上平台的应用程序的渲染均可以由操作系统接管,即应用程序只用负责控件的样式管理和交互逻辑,由操作系统负责将这些控件显示到屏幕上;进一步的,自动化框架通过与操作系统通信,从相应的接口中获取控件信息(包括控件属性和界面布局等);自动化测试脚本运行时有了这些信息后,则可以模拟人工操作,实现自动化操作的效果,最终完成自动化测试。
进一步的,Web平台的UI渲染是独立于操作系统的,其结构和原理与操作系统大同小异;其中,Web页面负责管理控件,浏览器负责渲染,自动化框架可以通过浏览器交互与Web页面进行交互,直接获取web页面(界面)中的控件信息。
由于有游戏引擎的存在,因此游戏和其他的应用程序在表现上很不一样。通常来说,游戏引擎既管理控件同时也负责渲染,而其他应用程序的渲染工作可以直接由操作系统进行负责。于是,游戏呈现给用户的始终只是渲染好的一幅一幅连续的画面,就像电影 的连续画面一样,无法直接通过操作系统获取到游戏内的控件信息。在这种情况下,若需要从游戏内部获取控件信息只能跟游戏进行通信。当然,不同游戏引擎的控件管理和渲染方式均不一样,所以目前不同引擎的自动化框架也是不一样的。
更大的问题在于,出于安全考虑,游戏引擎一般都不会公开留出用于自动化测试接口,大部分引擎都不开源甚至不开放,目前上基本没有针对游戏引擎的通用UI自动化测试框架。
进一步的,用于各个游戏UI自动化框架大致原理类似,此处就以现有的测试工具为例对利用该框架进行测试的具体过程进行简单的解释以及说明:
参考图1所示,需要在游戏客户端101内嵌入SDK103,即将一个特殊的代码模块放入游戏脚本中一起运行;SDK103在运行时通过游戏引擎的内部接口获取到游戏实时的控件信息。自动化测试框架102在游戏外与SDK进行通信,获取这些控件信息,这些控件信息里包含控件的位置、大小、文本、名称等基本要素;进一步的,该自动化测试可以包括如下操作:
模拟操作:测试工具可以生成一个模拟操作,比如在这个位置上的模拟点击,可实现点击这个控件的效果;
模拟输入:由于测试工具直接使用adb命令生成模拟输入,因此只适用于Android平台上的游戏。
定位控件:测试工具还提供了可获取控件的API,可以通过名称、路径、文本等属性去获取,也支持通配路径匹配,比如获取某个节点后代中的某个子孙节点。
另外,测试工具还提供了控件查看器:View;参考图2所示,该控件查看器用于使用者在手工写测试脚本时,主动“同步游戏”获取到当前的游戏画面、控件树,并依据获取到的GameObject来编写脚本。
但是,上述自动化测试方法存在如下缺点:一方面,适用范围较小,仅适用于基于安卓系统的游戏;另一方面,获取控件信息的速度较慢且获取方式抽象度不够;尤其在给定复杂的条件时,获取控件能感受到卡顿,由于该测试工具只用于基于安卓系统的游戏,所以都是根据基于安卓系统的游戏的特性来进行控件获取的;比如根据Component属性,根据text值、图片名称等;再一方面,控件的坐标系不够灵活,全局模拟输入智能使用绝对坐标值;但是,在某个测试脚本中如果写入了绝对坐标位置,在不同分辨率的终端上运行的结果将各不相同,会导致脚本运行异常;再一方面,支持模拟输入的方式较少,只支持点击、滑动、长按、文本输入(包括按键),复杂一点的多点触控、强制屏幕旋转、陀螺仪等均没有提供;更进一步的,生成脚本以及日志的辅助工具较为简陋,使用效率底下;无法实时为用户呈现当前画面的UI数据,用户撰写脚本效率较低;且没有提供详细的脚本运行报告供用户使用,比如运行时的设备现场。
本示例实施方式中首先提供了一种自动化测试方法。参考图3所示,该自动化测试 方法可以包括以下步骤:
步骤S310.配置通用SDK接口并通过所述SDK接口获取包括多个UI控件的UI渲染数据。
步骤S320.接收用户对所述UI渲染数据的操作事件并根据所述操作事件确定所述用户在终端设备上对所述UI渲染数据的模拟操作。
步骤S330.确定所述模拟操作对应的UI控件的位置信息,并根据所述位置信息以及所述模拟操作生成UI自动化测试脚本。
步骤S340.利用所述自动化测试框架运行并调试所述UI自动化测试脚本。
上述自动化测试方法中,一方面,通过配置SDK接口并通过接口获取UI渲染数据,解决了现有技术中由于各引擎结构不同使得各自动化测试框架的使用范围较小的问题,提高了该自动化测试方法的应用范围;另一方面,通过根据第一触控操作判断用户在终端设备上的第二触控操作并生成自动化测试脚本,然后再运行自动化测试脚本,避免了需要在终端设备进行自动化测试的问题,提高了自动化测试的速度同时也提高了自动化测试结果的精确度。
下面,将结合附图对本示例实施方式中上述自动化测试方法中的各步骤进行详细的解释以及说明。
参考图3所示,在步骤S310中,配置通用SDK接口并通过所述SDK接口获取包括多个UI控件的UI渲染数据。详细而言:
首先,配置基本的SDK(Software Development Kit,软件开发工具包,可以包括用于调试和其他用途的实用工具)标准;其中,该SDK标准可以包括通用SDK接口以及SDK基本模型。进一步的,根据SDK标准,使得该SDK接口以及SDK基本模型可以在不同的引擎上做相应的实现,不同的编程语言只需要遵循相同的接口和模型规范既可以实现。此处需要补充说明的是,还需要在游戏内集成SDK代码,自动化框架通过与SDK通信获取结构化UI渲染数据;其中,SDK代码每个引擎都不同,具体代码均严格按照本公开中给出的模型定义实现,并嵌入到游戏内即可;SDK负责在游戏内通过引擎接口获取UI渲染数据,并处理为本公开定义的标准数据结构。
其次,SDK基本模型可以包括AbstractNode(控件节点的抽象模型)、AbstractDumper(控件节点遍历的抽象模型)、Selector(控件节点定位的抽象模型)以及DefaultMatcher(默认匹配的抽象模型)。其中:
AbstractNode中可以包含父子层级访问方法以及属性枚举方法;进一步的,通过父子层级访问接口方法可以访问到该控件节点所有关联的对象,实现遍历的功能;通过属性枚举的接口方法可以获取该节点的名称、路径、文本等属性;
AbstractDumper可以实现控件节点的dump算法(通过迭代遍历,将控件节点数据及层级关系,按照想要的数据格式进行导出;该算法实现步骤可以包括:首先,所有控 件节点的层次结构是树状结构,每个节点都是AbstractNode类型;获取根节点,通过根节点中的属性枚举接口方法获取该节点的所有属性;然后,通过根节点中的父子层级访问方法获取该节点直接下属的子节点;如果子节点数量不为0,则依次把每个子节点作为一个根节点,重复步骤上一步骤,并储存返回值;最后,按照固定的格式组织好根节点信息和子节点信息;
Selector可以基于AbstractNode的方法实现通用的Select算法;Select算法即为遍历所有节点,返回满足给定条件的节点(可能会返回多个节点);进一步的,select算法的核心步骤与dump算法类似,遍历控件时对节点进行条件判定(判定时会用到DefaultMatcher类的方法),如果某节点满足所给的条件,则加入到返回结果中;
DefaultMatcher中提供了默认的match方法,该方法应用在Select算法中,Select算法根据match得到的结果,决定是否要包含此node到返回结果中。
然后,利用SDK接口获取包括多个UI控件的UI渲染数据。通过利用该SDK接口包括多个UI控件的UI渲染数据,可以对该UI渲染数据的数据结构进行统一,实现跨引擎进行测试,提高了该自动化测试方法的适用范围。进一步的,此处需要补充说明的是,上述SDK标准中的抽象模型和抽象方法可以被称之为规则。在具体规则的实施中,由引擎提供的API去实现对应的抽象方法,并将这些方法都封装成rpc方法。实现了之后,在调用时面向各测试框架的接口是相同的。对于各自动化测试框架来说,各个引擎版本SDK都具有相同的公开rpc方法可供调用,引擎之间的差异已经消除,因此实现了跨引擎。
继续参考图3所示,在步骤S320中,接收用户对所述UI渲染数据的操作事件并根据所述操作事件确定所述用户在终端设备上对所述UI渲染数据的模拟操作。
在本示例实施方式中,首先,接收用户对UI渲染数据的操作事件;其中,该操作事件可以包括MotionEvent:所有屏幕触摸相关的操作,每个触摸点有三个动作,按下、移动、抬起,多个点一起作用即为多点触控,所有的点的事件集合即为MotionEvent;KeyEvent:按键事件,对应键盘、HOME、BACK等,有两个动作,按下和抬起,与MotionEvent类似;SensorEvent:传感器事件,模拟设置传感器的值等等;其次,根据该触控操作判断用户在终端设备上对UI渲染数据的模拟操作;例如,例如,当第一触控操作为按下-抬起时,可以判断用户在终端设备对UI渲染数据的第二触控操作为点击一次;当第一触控操作为按下-移动-抬起时,可以判断用户在终端设备对UI渲染数据的第二触控操作为移动终端设备上的APP。
图4示意性示出一种接收用户对所述UI渲染数据的操作事件并根据所述操作事件确定所述用户在终端设备上对所述UI渲染数据的模拟操作的方法流程图。参考图4所示,该方法可以包括步骤S410-步骤S430。其中:
在步骤S410中,对所述UI渲染数据进行过滤以及解析得到UI渲染树。
在步骤S420中,提供第一显示界面,并将接收到的用户对所述UI渲染树的操作事件呈现至所述第一显示界面上。
在步骤S430中,根据所述操作事件确定所述用户在终端设备上对所述UI渲染树的模拟操作并将其呈现至第二显示界面。
下面,对上述步骤S410-步骤S430进行解释以及说明。首先,当获取到包括多个UI控件的UI渲染数据后,对该UI渲染数据进行过滤以及解析并得到参考图5左上角所示的UI渲染树;其中,该UI渲染树中的父节点例如可以包括Menu(菜单栏),父节点下还可以包括多个子节点,例如可以包括btnback、btnmsg以及center等等,还可以包括其他子节点,例如可以是ranklist以及audioMng等等,本示例对此不做特殊限制;其次,当得到上述UI渲染树以后,配置模拟输入接口,并利用模拟输入接口接收用户对UI渲染数据的操作事件;然后,提供一显示界面,并将接收到的用户对UI渲染树的操作事件呈现至所述第一显示界面上;例如,参考图5所示,当用户点击“btnQuickStart(快速开始)”,会在快速开始的控件周围显示一个方框,以表明用户对快速开始控件产生了操作事件;进一步的,根据该操作事件判断用户在终端设备上对UI渲染树的模拟操作,并将该模拟操作呈现至第二显示界面(终端设备的显示界面);例如,当用户点击快速开始时,在终端设备的显示界面上对于快速开始的控件也会模拟点击操作,并且在终端设备的显示界面上同样会在快速开始控件的周围显示一个方框。
继续参考图3所示,在步骤S330中,确定所述模拟操作对应的UI控件的位置信息,并根据所述位置信息以及所述模拟操作生成UI自动化测试脚本。详细而言:
首先,确定模拟操作对应的UI控件的位置信息;其中,确定模拟操作对应的UI控件的位置信息可以包括:在所述检视器模式下或在所述自动录制模式下,将所述模拟操作对应的UI控件的位置信息以预设标识的形式进行标记;其次,根据所述位置信息以及所述模拟操作生成UI自动化测试脚本。进一步的,还可以在所述预设标识的预设位置添加与所述UI控件对应的注释框,并将所述注释框呈现至所述第一界面上;其中,所述注释框中包括所述UI控件对应的图标、控件类型以及控件名中的多种。举例而言:
首先,当用户选择“检视器模式(Inspector)”的时候,设备画面和UI数据都会冻结,用户鼠标在设备画面中移动时,将自动将对应位置的控件包围盒以透明框的形式圈出,并在透明框周围添加注释框,注释框中包含控件对应的图标、控件类型、控件名等属性(具体的效果图可以参考图5所示);注释框的位置优先在透明框的下方左对齐位置,为了保证在设备画面内部展示,该自动化测试框架会计算注释框的宽度和高度。如果摆放在透明框下方位置不够则移至上方左对齐位置;进一步的,如果发现注释框左对齐透明框时右侧超出设备区,则往左偏移,直到注释框与设备区平齐。进一步的,参考图6所示,在该自动化测试框架中,在选中左侧树状结构的条目时,右侧设备画面会显示对应控件的透明框的选中效果。同时,用户通过鼠标在设备区滑动并点击某控件时,左侧 树状结构图中的对应控件条目同步会显示出选中效果,如果树状图展开列表过长,树状图会自动滚动到对应条目。用户选中某控件时,该控件对应的所有属性都会在输出窗口进行展示,供用户手写脚本时可以使用。
其次,当用户选择“自动录制模式(Record)”的时候,设备画面和UI数据都会正常刷新,用户鼠标在设备画面中移动时,将自动将对应位置的控件的范围以透明框的形式圈出,并在透明框周围添加注释框,注释框中包含控件对应的图标、控件类型、控件名等属性。用户对设备执行操作时,在脚本区中会自动生成对应的操作脚本。在用户执行操作时,UI数据会持续刷新,如果设备空间界面发生变化,用户可以继续进行下一步操作,该自动化测试框架将继续自动生成待测试脚本,直至用户完成操作结束脚本录制。用户可以在完成UI自动化框架下的测试脚本编写后,可以直接在点击运行,在运行结束后,可以一键查看脚本所生成的Log。进一步的,运行过程中会把对应操作的设备截图、操作位置、控件信息保存下来,在生成报告时,会将这些记录的运行数据生成HTML网页,并按照操作顺序,将设备截屏、所操作控件位置、大小都以对应的标记圈出,具体结果可以如图7所示。
进一步的,为了可以统一不同分辨率设备的位置信息,还需要对位置信息进行归一化处理;其中,归一化处理可以是位置信息相对于显示设备的屏幕百分比的坐标值。进一步的,对位置信息进行归一化处理可以包括步骤:将所述位置信息中的横坐标与显示设备的屏幕分辨率的宽度值进行求商运算得到标准横坐标;将所述位置信息中的纵坐标与显示设备的屏幕分辨率的高度值进行求商运算得到标准纵坐标。
下面,针对上述步骤进行举例说明:可以利用位置信息中的横坐标(x值)除以显示设备的屏幕的宽,得到标准横坐标;利用位置信息中的纵坐标(y值)除以显示设备的长边(高)得到标准纵坐标;进一步的,由于该标准横坐标以及标准纵坐标是相对于显示设备的屏幕的百分比值,因此可以适用于各个不同尺寸的显示屏;因此,在不同的分辨率设备下,其百分比值的数值是不变的。
继续参考图3所示,在步骤S340中,利用所述自动化测试框架运行并调试所述UI自动化测试脚本,完成对所述UI自动化测试脚本的测试。
在本示例实施方式中,当得到上述UI自动化测试脚本后,可以运行该UI自动化测试脚本,并根据运行结果对该UI自动化测试脚本进行调试,以完成对该UI自动化测试脚本的测试,同时完成对该UI控件的自动化测试。
进一步的,当上述UI自动化测试脚本完成测试以后,还需要生成测试日志,具体的可以包括:生成与所述UI自动化测试脚本对应的测试日志,并根据所述测试日志撰写待测试脚本。其中,根据测试日志撰写待测试脚本可以包括:配置脚本撰写辅助工具,基于所述测试日志并利用所述脚本撰写辅助工具撰写所述待测试脚本。详细而言:
在一种集成UI自动化测试框架中,当生成与所述UI自动化测试脚本对应的测试日 志后,为了可以对各UI控件进行较为全面的测试,可以根据各UI控件的测试日志撰写包括多个UI控件的待测试脚本;进一步的,为了提高待测试脚本的撰写速度,可以通过脚本撰写辅助工具对待测试脚本进行撰写。
本公开还提供了一种自动化测试装置。参考图8所示,该自动化测试装置可以包括渲染数据获取模块810、模拟操作判断模块820、测试脚本生成模块830以及测试脚本运行模块840。其中:
渲染数据获取模块810可以用于配置通用SDK接口并通过所述SDK接口获取包括多个UI控件的UI渲染数据。
模拟操作判断模块820可以用于接收用户对所述UI渲染数据的操作事件并根据所述操作事件确定所述用户在终端设备上对所述UI渲染数据的模拟操作。
测试脚本生成模块830可以用于确定所述模拟操作对应的UI控件的位置信息,并根据所述位置信息以及所述模拟操作生成UI自动化测试脚本。
测试脚本运行模块840可以用于利用所述自动化测试框架运行并调试所述UI自动化测试脚本。
上述自动化测试装置中各模块的具体细节已经在对应的自动化测试方法中进行了详细的描述,因此此处不再赘述。
应当注意,尽管在上文详细描述中提及了用于动作执行的设备的若干模块或者单元,但是这种划分并非强制性的。实际上,根据本公开的实施方式,上文描述的两个或更多模块或者单元的特征和功能可以在一个模块或者单元中具体化。反之,上文描述的一个模块或者单元的特征和功能可以进一步划分为由多个模块或者单元来具体化。
此外,尽管在附图中以特定顺序描述了本公开中方法的各个步骤,但是,这并非要求或者暗示必须按照该特定顺序来执行这些步骤,或是必须执行全部所示的步骤才能实现期望的结果。附加的或备选的,可以省略某些步骤,将多个步骤合并为一个步骤执行,以及/或者将一个步骤分解为多个步骤执行等。
通过以上的实施方式的描述,本领域的技术人员易于理解,这里描述的示例实施方式可以通过软件实现,也可以通过软件结合必要的硬件的方式来实现。因此,根据本公开实施方式的技术方案可以以软件产品的形式体现出来,该软件产品可以存储在一个非易失性存储介质(可以是CD-ROM,U盘,移动硬盘等)中或网络上,包括若干指令以使得一台计算设备(可以是个人计算机、服务器、移动终端、或者网络设备等)执行根据本公开实施方式的方法。
在本公开的示例性实施例中,还提供了一种能够实现上述方法的电子设备。
所属技术领域的技术人员能够理解,本公开的各个方面可以实现为系统、方法或程序产品。因此,本公开的各个方面可以具体实现为以下形式,即:完全的硬件实施方式、完全的软件实施方式(包括固件、微代码等),或硬件和软件方面结合的实施方式,这 里可以统称为“电路”、“模块”或“系统”。
下面参照图9来描述根据本公开的这种实施方式的电子设备900。图9显示的电子设备900仅仅是一个示例,不应对本公开实施例的功能和使用范围带来任何限制。
如图9所示,电子设备900以通用计算设备的形式表现。电子设备900的组件可以包括但不限于:上述至少一个处理单元910、上述至少一个存储单元920、连接不同系统组件(包括存储单元920和处理单元910)的总线930。
其中,所述存储单元存储有程序代码,所述程序代码可以被所述处理单元910执行,使得所述处理单元910执行本说明书上述“示例性方法”部分中描述的根据本公开各种示例性实施方式的步骤。例如,所述处理单元910可以执行如图3中所示的步骤S310:配置通用SDK接口并通过所述SDK接口获取包括多个UI控件的UI渲染数据;S320:接收用户对所述UI渲染数据的操作事件并根据所述操作事件确定所述用户在终端设备上对所述UI渲染数据的模拟操作;步骤S330:确定所述模拟操作对应的UI控件的位置信息,并根据所述位置信息以及所述模拟操作生成UI自动化测试脚本;步骤S340:利用所述自动化测试框架运行并调试所述UI自动化测试脚本。
存储单元920可以包括易失性存储单元形式的可读介质,例如随机存取存储单元(RAM)9201和/或高速缓存存储单元9202,还可以进一步包括只读存储单元(ROM)9203。
存储单元920还可以包括具有一组(至少一个)程序模块9205的程序/实用工具9204,这样的程序模块9205包括但不限于:操作系统、一个或者多个应用程序、其它程序模块以及程序数据,这些示例中的每一个或某种组合中可能包括网络环境的实现。
总线930可以为表示几类总线结构中的一种或多种,包括存储单元总线或者存储单元控制器、外围总线、图形加速端口、处理单元或者使用多种总线结构中的任意总线结构的局域总线。
电子设备900也可以与一个或多个外部设备700(例如键盘、指向设备、蓝牙设备等)通信,还可与一个或者多个使得用户能与该电子设备900交互的设备通信,和/或与使得该电子设备900能与一个或多个其它计算设备进行通信的任何设备(例如路由器、调制解调器等等)通信。这种通信可以通过输入/输出(I/O)接口950进行。并且,电子设备900还可以通过网络适配器960与一个或者多个网络(例如局域网(LAN),广域网(WAN)和/或公共网络,例如因特网)通信。如图所示,网络适配器960通过总线930与电子设备900的其它模块通信。应当明白,尽管图中未示出,可以结合电子设备900使用其它硬件和/或软件模块,包括但不限于:微代码、设备驱动器、冗余处理单元、外部磁盘驱动阵列、RAID系统、磁带驱动器以及数据备份存储系统等。
通过以上的实施方式的描述,本领域的技术人员易于理解,这里描述的示例实施方式可以通过软件实现,也可以通过软件结合必要的硬件的方式来实现。因此,根据本公 开实施方式的技术方案可以以软件产品的形式体现出来,该软件产品可以存储在一个非易失性存储介质(可以是CD-ROM,U盘,移动硬盘等)中或网络上,包括若干指令以使得一台计算设备(可以是个人计算机、服务器、终端装置、或者网络设备等)执行根据本公开实施方式的方法。
在本公开的示例性实施例中,还提供了一种计算机可读存储介质,其上存储有能够实现本说明书上述方法的程序产品。在一些可能的实施方式中,本公开的各个方面还可以实现为一种程序产品的形式,其包括程序代码,当所述程序产品在终端设备上运行时,所述程序代码用于使所述终端设备执行本说明书上述“示例性方法”部分中描述的根据本公开各种示例性实施方式的步骤。
参考图10所示,描述了根据本公开的实施方式的用于实现上述方法的程序产品1000,其可以采用便携式紧凑盘只读存储器(CD-ROM)并包括程序代码,并可以在终端设备,例如个人电脑上运行。然而,本公开的程序产品不限于此,在本文件中,可读存储介质可以是任何包含或存储程序的有形介质,该程序可以被指令执行系统、装置或者器件使用或者与其结合使用。
所述程序产品可以采用一个或多个可读介质的任意组合。可读介质可以是可读信号介质或者可读存储介质。可读存储介质例如可以为但不限于电、磁、光、电磁、红外线、或半导体的系统、装置或器件,或者任意以上的组合。可读存储介质的更具体的例子(非穷举的列表)包括:具有一个或多个导线的电连接、便携式盘、硬盘、随机存取存储器(RAM)、只读存储器(ROM)、可擦式可编程只读存储器(EPROM或闪存)、光纤、便携式紧凑盘只读存储器(CD-ROM)、光存储器件、磁存储器件、或者上述的任意合适的组合。
计算机可读信号介质可以包括在基带中或者作为载波一部分传播的数据信号,其中承载了可读程序代码。这种传播的数据信号可以采用多种形式,包括但不限于电磁信号、光信号或上述的任意合适的组合。可读信号介质还可以是可读存储介质以外的任何可读介质,该可读介质可以发送、传播或者传输用于由指令执行系统、装置或者器件使用或者与其结合使用的程序。
可读介质上包含的程序代码可以用任何适当的介质传输,包括但不限于无线、有线、光缆、RF等等,或者上述的任意合适的组合。
可以以一种或多种程序设计语言的任意组合来编写用于执行本公开操作的程序代码,所述程序设计语言包括面向对象的程序设计语言—诸如Java、C++等,还包括常规的过程式程序设计语言—诸如“C”语言或类似的程序设计语言。程序代码可以完全地在用户计算设备上执行、部分地在用户设备上执行、作为一个独立的软件包执行、部分在用户计算设备上部分在远程计算设备上执行、或者完全在远程计算设备或服务器上执行。在涉及远程计算设备的情形中,远程计算设备可以通过任意种类的网络,包括局域网 (LAN)或广域网(WAN),连接到用户计算设备,或者,可以连接到外部计算设备(例如利用因特网服务提供商来通过因特网连接)。
此外,上述附图仅是根据本公开示例性实施例的方法所包括的处理的示意性说明,而不是限制目的。易于理解,上述附图所示的处理并不表明或限制这些处理的时间顺序。另外,也易于理解,这些处理可以是例如在多个模块中同步或异步执行的。
本领域技术人员在考虑说明书及实践这里公开的发明后,将容易想到本公开的其他实施例。本申请旨在涵盖本公开的任何变型、用途或者适应性变化,这些变型、用途或者适应性变化遵循本公开的一般性原理并包括本公开未公开的本技术领域中的公知常识或惯用技术手段。说明书和实施例仅被视为示例性的,本公开的真正范围和精神由权利要求指出。
Claims (10)
- 一种自动化测试方法,包括:配置通用SDK接口并通过所述SDK接口获取包括多个UI控件的UI渲染数据;接收用户对所述UI渲染数据的操作事件并根据所述操作事件确定所述用户在终端设备上对所述UI渲染数据的模拟操作;确定所述模拟操作对应的UI控件的位置信息,并根据所述位置信息以及所述模拟操作生成UI自动化测试脚本;利用所述自动化测试框架运行并调试所述UI自动化测试脚本。
- 根据权利要求1所述的自动化测试方法,其中,接收用户对所述UI渲染数据的操作事件并根据所述操作事件确定所述用户在终端设备上对所述UI渲染数据的模拟操作包括:对所述UI渲染数据进行过滤以及解析得到UI渲染树;提供第一显示界面,并将接收到的用户对所述UI渲染树的操作事件呈现至所述第一显示界面上;根据所述操作事件确定所述用户在终端设备上对所述UI渲染树的模拟操作并将其呈现至第二显示界面。
- 根据权利要求2所述的自动化测试方法,其中,所述自动化测试框架包括检视器模式以及自动录制模式;其中,确定所述模拟操作对应的UI控件的位置信息包括:在所述检视器模式下或在所述自动录制模式下,将所述模拟操作对应的UI控件的位置信息以预设标识的形式进行标记。
- 根据权利要求3所述的自动化测试方法,其中,在将所述模拟操作对应的UI控件的位置信息以预设标识的形式进行标记之后,所述自动化测试方法还包括:在所述预设标识的预设位置添加与所述UI控件对应的注释框,并将所述注释框呈现至所述第一界面上;其中,所述注释框中包括所述UI控件对应的图标、控件类型以及控件名中的多种。
- 根据权利要求1所述的自动化测试方法,其中,在确定所述模拟操作对应的UI控件的位置信息之后,所述自动化测试方法还包括:对所述位置信息进行归一化处理。
- 根据权利要求5所述的自动化测试方法,其中,对所述位置信息进行归一化处理包括:将所述位置信息中的横坐标与显示设备的屏幕分辨率的宽度值进行求商运算得到标准横坐标;将所述位置信息中的纵坐标与显示设备的屏幕分辨率的高度值进行求商运算得到标 准纵坐标。
- 根据权利要求1所述的自动化测试方法,其中,在运行并调试所述UI自动化测试脚本之后,所述自动化测试方法还包括:生成与所述UI自动化测试脚本对应的测试日志,并根据所述测试日志撰写待测试脚本。
- 一种自动化测试装置,包括:渲染数据获取模块,用于配置通用SDK接口并通过所述SDK接口获取包括多个UI控件的UI渲染数据;模拟操作判断模块,用于接收用户对所述UI渲染数据的操作事件并根据所述操作事件确定所述用户在终端设备上对所述UI渲染数据的模拟操作;测试脚本生成模块,确定所述模拟操作对应的UI控件的位置信息,并根据所述位置信息以及所述模拟操作生成UI自动化测试脚本;测试脚本运行模块,利用所述自动化测试框架运行并调试所述UI自动化测试脚本。
- 一种计算机可读存储介质,其上存储有计算机程序,其中,所述计算机程序被处理器执行时实现权利要求1-7任一项所述的自动化测试方法。
- 一种电子设备,包括:处理器;以及存储器,用于存储所述处理器的可执行指令;其中,所述处理器配置为经由执行所述可执行指令来执行权利要求1-7任一项所述的自动化测试方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US16/962,324 US11561887B2 (en) | 2018-01-23 | 2018-11-16 | Test script debugging using an automated testing framework and UI rendering tree |
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201810062116.6A CN108170611B (zh) | 2018-01-23 | 2018-01-23 | 自动化测试方法及装置、存储介质、电子设备 |
CN201810062116.6 | 2018-01-23 |
Publications (1)
Publication Number | Publication Date |
---|---|
WO2019144680A1 true WO2019144680A1 (zh) | 2019-08-01 |
Family
ID=62515570
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
PCT/CN2018/116017 WO2019144680A1 (zh) | 2018-01-23 | 2018-11-16 | 自动化测试方法及装置、存储介质、电子设备 |
Country Status (3)
Country | Link |
---|---|
US (1) | US11561887B2 (zh) |
CN (1) | CN108170611B (zh) |
WO (1) | WO2019144680A1 (zh) |
Cited By (13)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN110851362A (zh) * | 2019-11-11 | 2020-02-28 | 龙尚科技(上海)有限公司 | 一种通讯模块测试方法、系统、设备及存储介质 |
CN111090591A (zh) * | 2019-12-23 | 2020-05-01 | 贵州医渡云技术有限公司 | 测试方法及装置、电子设备和计算机可读存储介质 |
CN111552634A (zh) * | 2020-03-30 | 2020-08-18 | 深圳壹账通智能科技有限公司 | 前端系统的测试方法、装置及存储介质 |
CN111694758A (zh) * | 2020-08-04 | 2020-09-22 | 西安闻泰电子科技有限公司 | 测试代码自动生成方法、装置、计算机设备和存储介质 |
CN112559311A (zh) * | 2019-09-10 | 2021-03-26 | 北京京东振世信息技术有限公司 | 一种移动端自动化测试的界面适配方法和装置 |
CN112882933A (zh) * | 2021-02-09 | 2021-06-01 | 京东数科海益信息科技有限公司 | 脚本录制方法、装置、设备及存储介质 |
CN112925725A (zh) * | 2021-04-09 | 2021-06-08 | 网易(杭州)网络有限公司 | 数据测试方法和装置、可读存储介质、电子设备 |
US11106571B2 (en) | 2019-12-12 | 2021-08-31 | Micro Focus Llc | Identification of input object in a graphical user interface |
CN113448868A (zh) * | 2021-07-16 | 2021-09-28 | 网易(杭州)网络有限公司 | 一种游戏软件兼容性测试方法、装置、设备及介质 |
CN113688049A (zh) * | 2021-08-31 | 2021-11-23 | 中国平安财产保险股份有限公司 | 基于录入信息的可回溯性检测方法、装置、设备及介质 |
CN114925516A (zh) * | 2022-05-16 | 2022-08-19 | 北京世冠金洋科技发展有限公司 | 一种自动建模并仿真的方法和装置 |
TWI775258B (zh) * | 2020-12-29 | 2022-08-21 | 宏碁股份有限公司 | 偵測異常裝置操作的方法及電子裝置 |
CN115658544A (zh) * | 2022-11-14 | 2023-01-31 | 广州掌动智能科技有限公司 | 一种基于模拟点击的测试方法 |
Families Citing this family (27)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN108170611B (zh) * | 2018-01-23 | 2019-07-16 | 网易(杭州)网络有限公司 | 自动化测试方法及装置、存储介质、电子设备 |
CN111190574B (zh) * | 2018-11-14 | 2023-03-10 | 广东万丈金数信息技术股份有限公司 | 多级联动组件的选项选择方法、装置、设备和存储介质 |
CN111258875A (zh) * | 2018-11-30 | 2020-06-09 | 北京京东尚科信息技术有限公司 | 界面测试方法及系统、电子设备、存储介质 |
CN109603154B (zh) * | 2018-12-14 | 2022-05-20 | 网易(杭州)网络有限公司 | 游戏界面测试方法、客户端、托管服务器及系统 |
CN109840201B (zh) * | 2018-12-15 | 2023-07-18 | 中国平安人寿保险股份有限公司 | Ui测试方法、装置、电子设备及计算机可读存储介质 |
CN110990842A (zh) * | 2019-12-19 | 2020-04-10 | 上海米哈游网络科技股份有限公司 | 一种小概率事件的复现方法、装置、存储介质及电子设备 |
CN113419929B (zh) * | 2020-03-17 | 2022-11-11 | 华为技术有限公司 | 测试动画效果流畅性的方法及设备 |
CN111813686B (zh) * | 2020-07-20 | 2022-05-27 | 腾讯科技(深圳)有限公司 | 一种游戏测试方法、装置、测试终端及存储介质 |
CN114385477B (zh) * | 2020-10-21 | 2024-07-09 | 腾讯科技(深圳)有限公司 | 一种应用界面测试方法、系统及存储介质和终端设备 |
CN112269746A (zh) * | 2020-11-10 | 2021-01-26 | 京东数科海益信息科技有限公司 | 自动化测试方法及相关设备 |
CN112463605B (zh) * | 2020-11-26 | 2024-03-15 | 杭州网易云音乐科技有限公司 | 自动化测试方法及装置、存储介质、电子设备 |
CN112650671B (zh) * | 2020-12-21 | 2024-03-26 | 深圳科诺医学检验实验室 | 一种用于医学系统的自动化测试方法、装置及设备 |
CN112685299B (zh) * | 2020-12-25 | 2024-05-17 | 广东乐心医疗电子股份有限公司 | 自动测试方法、装置、电子设备及可读存储介质 |
CN112732576B (zh) * | 2021-01-08 | 2024-06-04 | 网易(杭州)网络有限公司 | 基于用户界面的自动化测试方法、装置及设备 |
CN112835791A (zh) * | 2021-01-26 | 2021-05-25 | 杭州电魂网络科技股份有限公司 | 游戏兼容性自动化测试方法、装置、设备及介质 |
CN112891928B (zh) * | 2021-02-02 | 2024-07-09 | 网易(杭州)网络有限公司 | 数据处理方法、存储介质及电子设备 |
CN113076257B (zh) * | 2021-04-19 | 2024-08-09 | 西安闻泰信息技术有限公司 | 测试脚本录制方法、装置、介质及计算机设备 |
CN113485924B (zh) * | 2021-07-01 | 2023-07-18 | 网易(杭州)网络有限公司 | 游戏测试方法、装置、设备、存储介质 |
CN113448790A (zh) * | 2021-07-06 | 2021-09-28 | 中国工商银行股份有限公司 | U盾测试方法、装置、设备和介质 |
CN113608978B (zh) * | 2021-07-15 | 2022-08-02 | 荣耀终端有限公司 | 测试方法、装置及计算机可读存储介质 |
CN113407292B (zh) * | 2021-08-16 | 2022-02-22 | 北京蔚领时代科技有限公司 | Ui数据处理系统 |
CN113704110B (zh) * | 2021-08-30 | 2024-09-06 | 上海哔哩哔哩科技有限公司 | 用户界面的自动化测试方法及装置 |
CN113704125A (zh) * | 2021-09-01 | 2021-11-26 | 南京领行科技股份有限公司 | 基于图形用户界面的黑盒自动化测试方法 |
CN114978360A (zh) * | 2022-05-10 | 2022-08-30 | 紫光计算机科技有限公司 | 通信设备的自动化测试方法和装置、电子设备和存储介质 |
JP2023176618A (ja) * | 2022-05-31 | 2023-12-13 | コニカミノルタ株式会社 | Rpaスクリプトデータの作成方法、rpaスクリプトデータの実行方法、端末装置、画像処理装置、rpaスクリプトデータ、プログラム |
CN114968687B (zh) * | 2022-06-09 | 2024-07-02 | 腾讯科技(深圳)有限公司 | 遍历测试方法、装置、电子设备、程序产品以及存储介质 |
CN115543853B (zh) * | 2022-11-23 | 2023-03-17 | 北京蔚领时代科技有限公司 | 一种移动端原生sdk调试方法及系统 |
Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103678124A (zh) * | 2013-12-03 | 2014-03-26 | 浙江宇视科技有限公司 | 基于持续集成环境的视频监控平台自动测试方法及装置 |
CN104516812A (zh) * | 2013-09-27 | 2015-04-15 | 腾讯科技(深圳)有限公司 | 一种软件测试方法和装置 |
CN105335283A (zh) * | 2014-08-01 | 2016-02-17 | 阿里巴巴集团控股有限公司 | 终端设备中的应用测试方法及装置 |
CN105868111A (zh) * | 2016-03-29 | 2016-08-17 | 网易(杭州)网络有限公司 | 移动终端游戏自动测试方法和装置 |
CN108170611A (zh) * | 2018-01-23 | 2018-06-15 | 网易(杭州)网络有限公司 | 自动化测试方法及装置、存储介质、电子设备 |
Family Cites Families (16)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6717593B1 (en) * | 2000-09-12 | 2004-04-06 | Avaya Technology Corp. | Mark-up language implementation of graphical or non-graphical user interfaces |
US7814463B2 (en) * | 2003-05-16 | 2010-10-12 | Oracle International Corporation | User interface debugger for software applications |
CN102541532B (zh) * | 2010-12-31 | 2016-04-20 | 上海博泰悦臻电子设备制造有限公司 | 适用于车载系统模拟器的软件开发工具包系统 |
US9798457B2 (en) * | 2012-06-01 | 2017-10-24 | Microsoft Technology Licensing, Llc | Synchronization of media interactions using context |
CN104424093A (zh) * | 2013-08-26 | 2015-03-18 | 阿里巴巴集团控股有限公司 | 一种兼容性测试方法及系统 |
JP2015049592A (ja) * | 2013-08-30 | 2015-03-16 | 株式会社東芝 | 電子機器および方法 |
CN104363264B (zh) * | 2014-10-22 | 2017-10-03 | 北京棱镜云桥科技有限公司 | 移动终端软件的多渠道sdk接入系统 |
US20180173614A1 (en) * | 2015-06-26 | 2018-06-21 | Intel Corporation | Technologies for device independent automated application testing |
CN105988934B (zh) * | 2016-02-01 | 2018-07-27 | 腾讯科技(深圳)有限公司 | 手游自动化检测方法及装置 |
US20170228220A1 (en) * | 2016-02-08 | 2017-08-10 | International Business Machines Corporation | Self-healing automated script-testing tool |
CN106095666B (zh) * | 2016-06-02 | 2018-01-09 | 腾讯科技(深圳)有限公司 | 游戏自动化测试方法及相关装置 |
CN106484622B (zh) * | 2016-10-18 | 2019-02-22 | 网易(杭州)网络有限公司 | 测试方法、装置及系统 |
CN106512396A (zh) * | 2016-12-06 | 2017-03-22 | 网易(杭州)网络有限公司 | 游戏中的交互处理方法、交互处理装置以及服务器系统 |
CN107025165B (zh) * | 2017-03-07 | 2020-02-07 | 腾讯科技(深圳)有限公司 | 游戏自动化测试方法及相关装置 |
CN107577607B (zh) * | 2017-09-07 | 2020-07-21 | 携程旅游信息技术(上海)有限公司 | 用户界面自动化测试方法、装置、电子设备、存储介质 |
CN108280026B (zh) * | 2018-01-23 | 2019-03-22 | 网易(杭州)网络有限公司 | 游戏自动化测试方法及装置、存储介质、电子设备 |
-
2018
- 2018-01-23 CN CN201810062116.6A patent/CN108170611B/zh active Active
- 2018-11-16 WO PCT/CN2018/116017 patent/WO2019144680A1/zh active Application Filing
- 2018-11-16 US US16/962,324 patent/US11561887B2/en active Active
Patent Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN104516812A (zh) * | 2013-09-27 | 2015-04-15 | 腾讯科技(深圳)有限公司 | 一种软件测试方法和装置 |
CN103678124A (zh) * | 2013-12-03 | 2014-03-26 | 浙江宇视科技有限公司 | 基于持续集成环境的视频监控平台自动测试方法及装置 |
CN105335283A (zh) * | 2014-08-01 | 2016-02-17 | 阿里巴巴集团控股有限公司 | 终端设备中的应用测试方法及装置 |
CN105868111A (zh) * | 2016-03-29 | 2016-08-17 | 网易(杭州)网络有限公司 | 移动终端游戏自动测试方法和装置 |
CN108170611A (zh) * | 2018-01-23 | 2018-06-15 | 网易(杭州)网络有限公司 | 自动化测试方法及装置、存储介质、电子设备 |
Cited By (21)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN112559311A (zh) * | 2019-09-10 | 2021-03-26 | 北京京东振世信息技术有限公司 | 一种移动端自动化测试的界面适配方法和装置 |
CN112559311B (zh) * | 2019-09-10 | 2023-08-04 | 北京京东振世信息技术有限公司 | 一种移动端自动化测试的界面适配方法和装置 |
CN110851362A (zh) * | 2019-11-11 | 2020-02-28 | 龙尚科技(上海)有限公司 | 一种通讯模块测试方法、系统、设备及存储介质 |
US11106571B2 (en) | 2019-12-12 | 2021-08-31 | Micro Focus Llc | Identification of input object in a graphical user interface |
CN111090591A (zh) * | 2019-12-23 | 2020-05-01 | 贵州医渡云技术有限公司 | 测试方法及装置、电子设备和计算机可读存储介质 |
CN111090591B (zh) * | 2019-12-23 | 2023-05-05 | 贵州医渡云技术有限公司 | 测试方法及装置、电子设备和计算机可读存储介质 |
CN111552634A (zh) * | 2020-03-30 | 2020-08-18 | 深圳壹账通智能科技有限公司 | 前端系统的测试方法、装置及存储介质 |
CN111694758A (zh) * | 2020-08-04 | 2020-09-22 | 西安闻泰电子科技有限公司 | 测试代码自动生成方法、装置、计算机设备和存储介质 |
CN111694758B (zh) * | 2020-08-04 | 2024-01-16 | 西安闻泰电子科技有限公司 | 测试代码自动生成方法、装置、计算机设备和存储介质 |
US11541316B2 (en) | 2020-12-29 | 2023-01-03 | Acer Incorporated | Electronic device and method for detecting abnormal device operation |
TWI775258B (zh) * | 2020-12-29 | 2022-08-21 | 宏碁股份有限公司 | 偵測異常裝置操作的方法及電子裝置 |
CN112882933A (zh) * | 2021-02-09 | 2021-06-01 | 京东数科海益信息科技有限公司 | 脚本录制方法、装置、设备及存储介质 |
CN112925725A (zh) * | 2021-04-09 | 2021-06-08 | 网易(杭州)网络有限公司 | 数据测试方法和装置、可读存储介质、电子设备 |
CN112925725B (zh) * | 2021-04-09 | 2024-03-15 | 网易(杭州)网络有限公司 | 数据测试方法和装置、可读存储介质、电子设备 |
CN113448868A (zh) * | 2021-07-16 | 2021-09-28 | 网易(杭州)网络有限公司 | 一种游戏软件兼容性测试方法、装置、设备及介质 |
CN113688049B (zh) * | 2021-08-31 | 2023-06-23 | 中国平安财产保险股份有限公司 | 基于录入信息的可回溯性检测方法、装置、设备及介质 |
CN113688049A (zh) * | 2021-08-31 | 2021-11-23 | 中国平安财产保险股份有限公司 | 基于录入信息的可回溯性检测方法、装置、设备及介质 |
CN114925516A (zh) * | 2022-05-16 | 2022-08-19 | 北京世冠金洋科技发展有限公司 | 一种自动建模并仿真的方法和装置 |
CN114925516B (zh) * | 2022-05-16 | 2024-01-26 | 北京世冠金洋科技发展有限公司 | 一种自动建模并仿真的方法和装置 |
CN115658544B (zh) * | 2022-11-14 | 2023-07-14 | 广州掌动智能科技有限公司 | 一种基于模拟点击的测试方法 |
CN115658544A (zh) * | 2022-11-14 | 2023-01-31 | 广州掌动智能科技有限公司 | 一种基于模拟点击的测试方法 |
Also Published As
Publication number | Publication date |
---|---|
CN108170611A (zh) | 2018-06-15 |
CN108170611B (zh) | 2019-07-16 |
US20200356465A1 (en) | 2020-11-12 |
US11561887B2 (en) | 2023-01-24 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
WO2019144680A1 (zh) | 自动化测试方法及装置、存储介质、电子设备 | |
US11650910B2 (en) | Automated testing method and apparatus, storage medium and electronic device | |
JP7398068B2 (ja) | ソフトウェアテスト | |
US10324828B2 (en) | Generating annotated screenshots based on automated tests | |
US7979849B2 (en) | Automatic model-based testing | |
US9021428B2 (en) | Troubleshooting visuals and transient expressions in executing applications | |
US9182981B2 (en) | Systems and methods for implementing pixel-based reverse engineering of interface structure | |
CN107220172B (zh) | 通过模型驱动技术进行自动用户界面(ui)测试的方法和系统 | |
US8645912B2 (en) | System and method for use in replaying software application events | |
US10761963B2 (en) | Object monitoring in code debugging | |
US20090133000A1 (en) | System, program product, and methods to enable visual recording and editing of test automation scenarios for web application | |
US11074162B2 (en) | System and a method for automated script generation for application testing | |
Grechanik et al. | Creating GUI testing tools using accessibility technologies | |
US10936307B2 (en) | Highlight source code changes in user interface | |
JP2020505710A (ja) | ソフトウェアプログラムを検証するための方法およびシステム | |
CN114416516A (zh) | 基于截图的测试用例及测试脚本生成方法、系统及介质 | |
TWI467481B (zh) | 層級式程式源碼管理方法、系統及電腦程式產品 | |
US11106571B2 (en) | Identification of input object in a graphical user interface | |
US9164877B2 (en) | Business application inspection and modification | |
JP2009223568A (ja) | シナリオ生成装置及びプログラム | |
CN114692055A (zh) | 表单处理方法、装置、存储介质与电子设备 | |
US20210073111A1 (en) | Recommending programmatic descriptions for test objects | |
KR102694524B1 (ko) | 사용자 인터페이스를 제공하는 테스트 자동화 장치 및 장치의 동작방법 | |
US11995146B1 (en) | System and method for displaying real-time code of embedded code in a browser-window of a software application | |
US12079104B2 (en) | Infrastructure to integrate an integrated development environment (IDE) with game engines |
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: 18902711 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: 18902711 Country of ref document: EP Kind code of ref document: A1 |