Detailed Description
The present disclosure is described in further detail below with reference to the accompanying drawings and examples. It is to be understood that the specific embodiments described herein are merely illustrative of the relevant disclosure and are not limiting of the disclosure. It should be noted that, for the convenience of description, only the parts relevant to the related disclosure are shown in the drawings.
It should be noted that, in the present disclosure, the embodiments and features of the embodiments may be combined with each other without conflict. The present disclosure will be described in detail below with reference to the accompanying drawings in conjunction with embodiments.
FIG. 1 illustrates anexemplary system architecture 100 for a method of generating a test script and an apparatus for generating a test script to which embodiments of the present disclosure may be applied.
As shown in fig. 1, thesystem architecture 100 may includeterminal devices 104, 105, anetwork 106, andservers 101, 102, 103. Thenetwork 106 serves as a medium for providing communication links between theterminal devices 104, 105 and theservers 101, 102, 103. Network 106 may include various connection types, such as wired, wireless communication links, or fiber optic cables, among others.
A user may interact with theservers 101, 102, 103 via thenetwork 106 via theterminal devices 104, 105 to receive or transmit information or the like. Theend devices 104, 105 may have installed thereon various applications such as data analysis applications, data processing applications, instant messaging tools, social platform software, search-type applications, shopping-type applications, and the like.
Theterminal devices 104, 105 may be hardware or software. When the terminal device is hardware, it may be various electronic devices having a display screen and supporting communication with the server, including but not limited to a smart phone, a tablet computer, a laptop portable computer, a desktop computer, and the like. When the terminal device is software, the terminal device can be installed in the electronic devices listed above. It may be implemented as multiple pieces of software or software modules, or as a single piece of software or software module. And is not particularly limited herein.
Theterminal device 104, 105 may be a terminal (e.g., an intelligent device with a screen, a data analysis function, etc.) having functions of interface presentation, interface content recognition analysis, and test script generation, and theterminal device 104, 105 may receive a click operation of a tester on a non-standard control, and then locally generate a test script corresponding to the click operation. Theterminal devices 104 and 105 may also send the data related to the click operation to the server, and the server generates a test script corresponding to the click operation according to the data related to the click operation.
Theservers 101, 102, 103 may be servers that provide various services, such as background servers that receive requests sent by terminal devices with which communication connections are established. The background server can receive and analyze the request sent by the terminal device, and generate a processing result.
The server may be hardware or software. When the server is hardware, it may be various electronic devices that provide various services to the terminal device. When the server is software, it may be implemented as a plurality of software or software modules for providing various services to the terminal device, or may be implemented as a single software or software module for providing various services to the terminal device. And is not particularly limited herein.
It should be noted that the method for generating the test script provided by the embodiment of the present disclosure may be executed by theterminal devices 104 and 105, or may be executed by theservers 101, 102, and 103. Accordingly, the device for generating the test script may be provided in theterminal apparatuses 104 and 105, or may be provided in theservers 101, 102, and 103.
It should be understood that the number of terminal devices, networks, and servers in fig. 1 is merely illustrative. There may be any number of terminal devices, networks, and servers, as desired for implementation.
With continued reference to FIG. 2, aflow 200 of one embodiment of a method of generating a test script in accordance with the present disclosure is shown. The method for generating the test script comprises the following steps:
step 210, in response to detecting that the user performs the click coordinate of the click operation on the non-standard control in the current interface, generating a coordinate test code including the click coordinate.
In this step, an execution subject on which the method for generating the test script runs may collect a click operation performed by a User (e.g., a tester) on a current Interface, where the current Interface may include controls of a GUI (Graphical User Interface), such as buttons, text boxes, check boxes, and the like, where the controls are divided into standard controls and non-standard controls, and the non-standard controls are drawn by each application provider, such as pictures, H5 pages, and the like. When a user performs a click operation on a non-standard control in a current interface, the execution main body may obtain a click coordinate corresponding to the click operation according to the click operation performed on the non-standard control by the user. In practice, the click coordinate of the user performing the click operation on the current interface may also be specified, for example, for a click operation to be tested or a function associated with the click operation, a coordinate corresponding to the click operation may be used as the click coordinate of the user performing the click operation on the current interface. After the execution main body obtains the click coordinate, a coordinate test code including the click coordinate may be generated, and the coordinate test code may be used to perform an automated test on a position corresponding to the click coordinate.
Step 220, obtaining an interface screenshot of the current interface, performing key content identification on the interface screenshot to obtain at least one key content area, determining a target key content area which is in accordance with a preset position relation with a click coordinate from the at least one key content area, and generating an area test code comprising the target key content area.
In this step, after obtaining the click coordinate corresponding to the click operation, the execution main body may capture a screenshot of the current interface to obtain an interface screenshot of the current interface. And then, the execution main body starts to identify key content of the obtained interface screenshot to obtain at least one identified key content area, wherein the key content can be preset interface content associated with the interface screenshot, the key content can be characters in the interface screenshot, can also be an image area in the interface screenshot, and the like. The execution main body may determine, after obtaining the at least one key content area, a position of each key content area, and determine a target key content area that matches a preset position relationship with the click coordinate, where the preset position relationship is used to screen out a key content area that meets a position condition, and the preset position relationship may be that the key content area includes the click coordinate, or that a distance between the key content area and the click coordinate is minimum, and the like. After determining the target key content area of the preset position relationship, the execution subject may generate an area test code including the target key content area, where the area test code may be used to perform an automated test on the content corresponding to the target key content area.
In some optional implementations of this embodiment, the key content may be text in the interface screenshot. After the execution main body obtains the interface screenshot of the current interface, character recognition can be carried out on the interface screenshot to obtain at least one character block, and the target character block meeting the preset conditions is determined from the at least one character block. The preset condition may be that the area corresponding to the text block includes a click coordinate. After the execution main body determines the target text block, a text test code including the target text block is generated, for example, a function input in the test code is a text character string of the target text block.
Alternatively, the key content may be an image area in the interface screenshot. After the execution main body obtains the interface screenshot of the current interface, image recognition can be performed on the interface screenshot, for example, an image area detection algorithm is applied to the interface screenshot to obtain at least one image area, and a target image area containing the click coordinate is determined from the at least one image area. After determining the target image region, the execution subject further obtains a path of the target image region, and generates an image test code including the path of the target image region, for example, a function in the test code is input as the path of the target image region.
In the implementation mode, in the process of generating the test script, the character recognition analysis is adopted for the clicking operation of the non-standard control to generate the character clicking script, the image area recognition analysis is adopted for the clicking operation of the non-standard control to generate the image clicking script, the test script corresponding to the clicking operation of the non-standard control can be automatically generated, the generation modes of various scripts are provided, the user operation is saved, and the generation efficiency of the test script corresponding to the non-standard control is improved.
And step 230, generating a test script corresponding to the click operation based on the coordinate test code and the area test code.
In this step, the execution body may automatically generate a test script corresponding to the click operation according to the coordinate test code and the area test code after obtaining the coordinate test code and the area test code. Specifically, after obtaining the coordinate test code and the area test code, the execution body further adds the coordinate test code and the area test code to the recording script according to the nonstandard control corresponding to the click operation and the click coordinate corresponding to the click operation, so as to generate the test script corresponding to the click operation.
With continuing reference to FIG. 3, FIG. 3 is a schematic diagram of an application scenario of a method of generating a test script according to the present embodiment. In the application scenario of fig. 3, terminal 310 presents aninterface 320 to the tester. The terminal 310 receives a click operation executed by a tester on onepicture 330 in the upper right corner of theinterface 320, and the terminal 310 acquires a click coordinate of the click operation and generates a coordinate test code including the click coordinate. The terminal 310 starts to capture a screenshot of theinterface 320, and obtains the interface screenshot of theinterface 320. The terminal 310 applies an image area detection algorithm to the obtained interface screenshot, and extracts all image areas in the interface screenshot. Then, the terminal 310 acquires the position information of each image area, determines a target image area including the click coordinates according to the position information of each image area, and generates an image test code including a path of the target image area. And finally, the terminal 310 generates a test script corresponding to the click operation of the tester according to the obtained coordinate test code and the target image test code.
The method for generating the test script comprises the steps of firstly responding to a click coordinate of a user for executing click operation on a nonstandard control in a current interface, generating a coordinate test code comprising the click coordinate, obtaining an interface screenshot of the current interface, identifying key content of the interface screenshot to obtain at least one key content area, determining a target key content area which is in accordance with a preset position relation with the click coordinate from the at least one key content area, generating an area test code comprising the target key content area, generating the test script corresponding to the click operation based on the coordinate test code and the area test code, converging coordinate click and key content area click functions to a UI automatic recording script, and enabling the automatic recording script corresponding to the click operation of the nonstandard control to be simpler and more convenient, user operation is saved, and efficiency of automatically recording the scripts by the UI is improved.
In some optional implementation manners of this embodiment, determining a target text block meeting a preset condition from at least one text block, and generating a text test code including the target text block may include the following steps:
(1) and acquiring the coordinates of the area corresponding to each character block.
Specifically, after the execution main body performs character recognition on the interface screenshot to obtain at least one character block, the execution main body further obtains an area corresponding to each character block, and obtains coordinates corresponding to each area. As an example, the executing body obtains a plurality of text blocks included in the interface screenshot through OCR recognition, further obtains endpoint coordinates of each text block, that is, an area surrounded by the endpoint coordinates is an area corresponding to the text block, and stores the endpoint coordinates corresponding to each text block in an associated manner.
(2) And determining a first target character block containing the click coordinate based on the coordinate of the area corresponding to each character block, and generating a character test code comprising the first target character block.
Specifically, after acquiring the coordinates of the area corresponding to each text block, the execution main body determines the coordinates of the area corresponding to each text block, and determines a text block including a click coordinate from a plurality of text blocks as the first target text block. Then, the execution subject may further generate a text test code including the first target text block according to the determined first target text block.
In the implementation mode, after the clicking operation is performed on the non-standard control, the target character block corresponding to the clicking operation is obtained by adopting a character recognition method and the character clicking script is generated, so that the generation efficiency and the accuracy of the test script of the clicking operation on the non-standard control are improved.
In some optional implementation manners of this embodiment, determining a target text block meeting a preset condition from at least one text block, and generating a text test code including the target text block, may further include the following steps:
(1) and acquiring the character recognition confidence corresponding to each character block and the character length of each character block, and determining the character blocks of which the character recognition confidence is greater than a preset value and the character length is less than the preset length.
Specifically, after the execution main body performs character recognition on the interface screenshot to obtain at least one character block, the execution main body respectively obtains a character recognition confidence corresponding to each character block and a character length of each character block. The execution main body judges the character recognition confidence of each character block, and screens out the character blocks with the character recognition confidence greater than a preset value, where the preset value may be an empirical value set according to actual needs, for example, 0.8, and the application is not particularly limited thereto. The execution main body obtains the text block with the text recognition confidence coefficient larger than the preset value by screening the text recognition confidence coefficient of the text block, and then the execution main body further judges the text length of the text block in the text block with the text recognition confidence coefficient larger than the preset value to screen out the text block with the text length smaller than the preset length, wherein the preset length can be an empirical value set according to actual needs, for example, 5 text blocks, and the application does not specifically limit the text block. As an example, the execution main body obtains a text block with a text recognition confidence greater than 0.8 by performing a first determination on the text recognition confidence of the text block, and then the execution main body further determines the text length of the text block and selects text blocks with text lengths less than 5 from the text blocks with text recognition confidence greater than 0.8.
(2) And determining a character block of which the distance between the endpoint coordinate of the character block and the click coordinate meets a preset distance constraint condition from the character blocks of which the character recognition confidence coefficient is greater than a preset value and the character length is less than a preset length as a second target character block.
Specifically, the execution main body judges the character recognition confidence and the character length to obtain character blocks of which the character recognition confidence is greater than a preset value and the character length is less than the preset length, and then further obtains the end point coordinates of the character blocks and determines the distance between the end point coordinates of the character blocks and the click coordinates. After obtaining the distance between the text block endpoint coordinate and the click coordinate, the execution main body determines the distance between the text block endpoint coordinate and the click coordinate to be a text block as a second target text block, where the preset distance constraint condition may be that the minimum distance between the text block endpoint coordinate and the click coordinate is smaller than an empirical value, the empirical value may be 1/10 of the display screen, and the preset distance constraint condition may also be a distance condition set by the user according to the display screen of the current device, which is not specifically limited in this application. For example, the execution subject may determine, as the second target text block, a text block in which the minimum distance between the text block endpoint coordinate and the click coordinate is smaller than 1/10 on the display screen, from among text blocks in which the text recognition confidence is greater than 0.8 and the text length is smaller than 5.
(3) A text test code is generated that includes the second target text block.
Specifically, the execution main body generates a text test code including the second target text block after obtaining the second target text block.
In the implementation mode, after the clicking operation is performed on the non-standard control, the target character block corresponding to the clicking operation is obtained by adopting a character recognition method and the character clicking script is generated, so that the generation efficiency and the accuracy of the test script of the clicking operation on the non-standard control are improved.
In some optional implementation manners of this embodiment, determining a target image region including a click coordinate from at least one image region, and generating an image test code including a path of the target image region, may further include the following steps:
may include the steps of:
(1) and performing screening operation on at least one image area to obtain an available image area list consisting of at least one screened image area.
Specifically, the execution subject performs image recognition on the interface screenshot to obtain at least one image area, and then performs a screening operation on the at least one image area to obtain an available image area list consisting of the at least one screened image area. The execution main body may execute a filtering operation of presetting a maximum and minimum region area for at least one obtained image region, that is, the execution main body may obtain a region area of each image region, then perform a filtering operation of the maximum region area and the minimum region area for the obtained region areas to obtain the filtered image regions, and compose the filtered image regions into an available image region list. The available image area list includes the filtered image areas and the corresponding coordinates of each image area.
(2) And determining the screened image area containing the click coordinate from the available image area list as a target image area based on the coordinates of the screened image area in the available image area list.
Specifically, after the execution subject obtains the available image area list, the coordinates of the image areas after being screened in the available image area list are judged, the screened image areas including the click coordinates are determined, and the screened image areas including the click coordinates are used as the target image areas.
(3) And acquiring a path corresponding to the target image area, and generating an image test code comprising the path of the target image area.
Specifically, after the execution subject determines the target image area, the execution subject further obtains a path corresponding to the target image area, and generates an image test code including the path of the target image area according to the path.
In the implementation mode, after the non-standard control is clicked, the target image area corresponding to the clicking operation is obtained by adopting an image area identification method and the image clicking script is generated, so that the generation efficiency and the accuracy of the test script of the clicking operation of the non-standard control are improved.
In some optional implementation manners of this embodiment, instep 230, based on the coordinate test code and the area test code, a test script corresponding to the click operation is generated, which may be executed according to the following flow 400:
step 410, adding the coordinate test code and the area test code to the recording script as alternative test codes.
In this step, after the execution main body obtains the coordinate test code and the area test code, the coordinate test code and the area test code may be added to the recording script as alternative test codes. The region test code may include at least one of: a text test code comprising a first target text block, a text test code comprising a second target text block, an image test code comprising a path of the target image area.
Step 420, in response to receiving the selection operation of the user on the candidate test codes, generating a test script corresponding to the click operation based on the candidate test codes selected by the user.
In this step, after the execution subject uses the coordinate test code and the area test code as candidate test codes, the user may select the candidate test codes, and may select a test code having a higher association with the current click operation. And the execution main body receives the selection operation of the user on the alternative test codes and generates a test script corresponding to the click operation based on the alternative test codes selected by the user. As an example, the execution main body adds a coordinate test code, a text test code including a first target text block, a text test code including a second target text block, and an image test code including a path of a target image area to the recording script, the user selects the coordinate test code according to the relevance, and the execution main body adds the coordinate test code as a test code for testing the non-standard control to the test script to generate a test script corresponding to the click operation.
In the implementation mode, the functions of coordinate clicking, character clicking and image clicking are converged to the automatic recording script, so that the automatic recording script corresponding to the clicking operation of the non-standard control is simpler and more convenient, the user operation is saved, and the efficiency of automatically recording the script is improved.
With further reference to FIG. 5, as an implementation of the methods illustrated in the above figures, the present disclosure provides one embodiment of an apparatus for generating a test script. This device embodiment corresponds to the method embodiment shown in fig. 2.
As shown in fig. 5, thepicture displaying apparatus 500 of the present embodiment may include: a coordinatetest code unit 510 configured to generate a coordinate test code including a click coordinate in response to detecting a click coordinate of a user performing a click operation on a non-standard control in a current interface; the areatest code unit 520 is configured to obtain an interface screenshot of a current interface, perform key content identification on the interface screenshot to obtain at least one key content area, determine a target key content area which accords with a preset position relation with a click coordinate from the at least one key content area, and generate an area test code comprising the target key content area; agenerating unit 530 configured to generate a test script corresponding to the click operation based on the coordinate test code and the area test code.
In some optional implementations of this implementation, the region test code unit includes: the text test code module is configured to perform text recognition on the interface screenshot to obtain at least one text block, determine a target text block meeting preset conditions from the at least one text block, and generate a text test code comprising the target text block; and the image test code module is configured to perform image recognition on the interface screenshot to obtain at least one image area, determine a target image area containing the click coordinates from the at least one image area, and generate an image test code of a path including the target image area.
In some optional implementations of this implementation, the text testing code module is further configured to: acquiring the coordinates of the area corresponding to each character block; and determining a first target character block containing the click coordinate based on the coordinate of the area corresponding to each character block, and generating a character test code comprising the first target character block.
In some optional implementations of this implementation, the text testing code module is further configured to: acquiring a character recognition confidence coefficient corresponding to each character block and a character length of each character block, and determining the character blocks of which the character recognition confidence coefficient is greater than a preset value and the character length is less than a preset length; determining a character block of which the distance between the end point coordinate of the character block and the click coordinate meets a preset distance constraint condition from the character blocks of which the character recognition confidence coefficient is greater than a preset value and the character length is less than a preset length as a second target character block; a text test code is generated that includes the second target text block.
In some optional implementations of this implementation, the image testing code module is further configured to: performing screening operation on at least one image area to obtain an available image area list consisting of at least one screened image area; determining a screened image area containing the click coordinate from the available image area list as a target image area based on the coordinates of the screened image area in the available image area list; and acquiring a path corresponding to the target image area, and generating an image test code comprising the path of the target image area.
In some optional implementations of this implementation, the generating unit is further configured to: adding the coordinate test codes and the area test codes into the recording script to serve as alternative test codes; and responding to the received selection operation of the user on the alternative test codes, and generating a test script corresponding to the click operation based on the alternative test codes selected by the user.
The device provided by the above embodiment of the present disclosure, first, in response to detecting a click coordinate of a user performing a click operation on a non-standard control in a current interface, generates a coordinate test code including the click coordinate, obtains an interface screenshot of the current interface, identifies key content of the interface screenshot to obtain at least one key content area, determines a target key content area corresponding to the click coordinate from the at least one key content area, generates an area test code including the target key content area, generates a test script corresponding to the click operation based on the coordinate test code and the area test code, aggregates the coordinate click function and the key content area click function to an UI automatic recording script, and makes the automatic recording script corresponding to the click operation on the non-standard control simpler and more convenient, user operation is saved, and efficiency of automatically recording the scripts by the UI is improved.
As shown in fig. 6,electronic device 600 may include a processing means (e.g., central processing unit, graphics processor, etc.) 601 that may perform various appropriate actions and processes in accordance with a program stored in a Read Only Memory (ROM)602 or a program loaded from a storage means 608 into a Random Access Memory (RAM) 603. In the RAM603, various programs and data necessary for the operation of theelectronic apparatus 600 are also stored. Theprocessing device 601, theROM 602, and the RAM603 are connected to each other via abus 604. An input/output (I/O)interface 605 is also connected tobus 604.
Generally, the following devices may be connected to the I/O interface 605:input devices 606 including, for example, a touch screen, touch pad, keyboard, mouse, camera, microphone, accelerometer, gyroscope, etc.;output devices 607 including, for example, a Liquid Crystal Display (LCD), a speaker, a vibrator, and the like;storage 608 including, for example, tape, hard disk, etc.; and acommunication device 609. The communication means 609 may allow theelectronic device 600 to communicate with other devices wirelessly or by wire to exchange data. While fig. 6 illustrates anelectronic device 600 having various means, it is to be understood that not all illustrated means are required to be implemented or provided. More or fewer devices may alternatively be implemented or provided. Each block shown in fig. 6 may represent one device or may represent multiple devices as desired.
In particular, according to an embodiment of the present disclosure, the processes described above with reference to the flowcharts may be implemented as computer software programs. For example, embodiments of the present disclosure include a computer program product comprising a computer program embodied on a computer readable medium, the computer program comprising program code for performing the method illustrated in the flow chart. In such an embodiment, the computer program may be downloaded and installed from a network via the communication means 609, or may be installed from the storage means 608, or may be installed from theROM 602. The computer program, when executed by theprocessing device 601, performs the above-described functions defined in the methods of embodiments of the present disclosure.
It should be noted that the computer readable medium of the embodiments of the present disclosure may be a computer readable signal medium or a computer readable storage medium or any combination of the two. A computer readable storage medium may be, for example, but not limited to, an electronic, magnetic, optical, electromagnetic, infrared, or semiconductor system, apparatus, or device, or any combination of the foregoing. More specific examples of the computer readable storage medium may include, but are not limited to: an electrical connection having one or more wires, a portable computer diskette, a hard disk, a Random Access Memory (RAM), a read-only memory (ROM), an erasable programmable read-only memory (EPROM or flash memory), an optical fiber, a portable compact disc read-only memory (CD-ROM), an optical storage device, a magnetic storage device, or any suitable combination of the foregoing. In embodiments of the disclosure, a computer readable storage medium may be any tangible medium that can contain, or store a program for use by or in connection with an instruction execution system, apparatus, or device. In embodiments of the present disclosure, however, a computer readable signal medium may comprise a propagated data signal with computer readable program code embodied therein, for example, in baseband or as part of a carrier wave. Such a propagated data signal may take many forms, including, but not limited to, electro-magnetic, optical, or any suitable combination thereof. A computer readable signal medium may also be any computer readable medium that is not a computer readable storage medium and that can communicate, propagate, or transport a program for use by or in connection with an instruction execution system, apparatus, or device. Program code embodied on a computer readable medium may be transmitted using any appropriate medium, including but not limited to: electrical wires, optical cables, RF (radio frequency), etc., or any suitable combination of the foregoing.
The computer readable medium may be embodied in the electronic device; or may exist separately without being assembled into the electronic device. The computer readable medium carries one or more programs which, when executed by the electronic device, cause the electronic device to: generating a coordinate test code comprising a click coordinate in response to detecting the click coordinate of the user for executing the click operation on the nonstandard control in the current interface; acquiring an interface screenshot of a current interface, identifying key content of the interface screenshot to obtain at least one key content area, determining a target key content area which accords with a preset position relation with a click coordinate from the at least one key content area, and generating an area test code comprising the target key content area; and generating a test script corresponding to the click operation based on the coordinate test code and the area test code.
Computer program code for carrying out operations for embodiments 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, Smalltalk, C + +, and including conventional procedural programming languages, such as the "C" programming language or similar programming languages. The program code may execute entirely on the user's computer, partly on the user's computer, as a stand-alone software package, partly on the user's computer and partly on a remote computer or entirely on the remote computer or server. In the case of a remote computer, the remote computer may be connected to the user's computer through any type of network, including a Local Area Network (LAN) or a Wide Area Network (WAN), or the connection may be made to an external computer (for example, through the Internet using an Internet service provider).
The flowchart and block diagrams in the figures illustrate the architecture, functionality, and operation of possible implementations of systems, methods and computer program products according to various embodiments of the present disclosure. In this regard, each block in the flowchart or block diagrams may represent a module, segment, or portion of code, which comprises one or more executable instructions for implementing the specified logical function(s). It should also be noted that, in some alternative implementations, the functions noted in the block may occur out of the order noted in the figures. For example, two blocks shown in succession may, in fact, be executed substantially concurrently, or the blocks may sometimes be executed in the reverse order, depending upon the functionality involved. It will also be noted that each block of the block diagrams and/or flowchart illustration, and combinations of blocks in the block diagrams and/or flowchart illustration, can be implemented by special purpose hardware-based systems which perform the specified functions or acts, or combinations of special purpose hardware and computer instructions.
The units described in the embodiments of the present disclosure may be implemented by software or hardware. The described units may also be provided in a processor, and may be described as: a processor includes a coordinate test code unit, an area test code unit, and a generation unit. Where the names of the cells do not in some cases constitute a limitation on the cells themselves, for example, a coordinate test code cell may also be described as a "cell that generates a coordinate test code including click coordinates in response to detecting that a user performed a click operation on a non-standard control in a current interface.
The foregoing description is only exemplary of the preferred embodiments of the disclosure and is illustrative of the principles of the technology employed. It will be appreciated by those skilled in the art that the scope of the invention in the embodiments of the present disclosure is not limited to the specific combination of the above-mentioned features, but also encompasses other embodiments in which any combination of the above-mentioned features or their equivalents is made without departing from the inventive concept as defined above. For example, the above features and (but not limited to) technical features with similar functions disclosed in the embodiments of the present disclosure are mutually replaced to form the technical solution.