Abstract: The present disclosure relates to a system(s) and method(s) for updating an automated test case. The method comprises receiving a first set of user interface (UI) elements associated with an initial version of a webpage and extracting a second set of UI elements associated with an updated version of the webpage. Further, the method comprises identifying missing UI elements based on comparison of the first set of UI elements and the second set of UI elements and mapping one or more UI elements based on a classification model. The method further comprises identifying one or more UI elements from an automated test case corresponding to the third set of UI elements and replacing the one or more UI elements from the automated test case with the one or more UI elements from the fourth set of UI elements based on the mapping, thereby updating the automated test case. [To be published with Figure 3]
CROSS-REFERENCE TO RELATED APPLICATIONS AND PRIORITY
[001] The present application does not claim priority from any patent application.
TECHNICAL FIELD
[002] The present disclosure in general relates to the field of automated testing. More particularly, the present subject matter relates to a system and a method for updating an automated test case.
BACKGROUND
[003] Nowadays, products and applications focus on continuous enrichment of user experiences and improving the product experience. This trend has resulted in adoption of technologies that support dynamic user interface (UI) generation. In addition to this, change is also driven to add and enhance the capabilities of the products themselves to maintain differentiation and enhance value.
[004] The trend places a significant burden in terms of maintaining the quality of the product, which is generally ensured through testing. The testing typically, uses test automation tools to create and execution automation scripts, which further rely the element identification handles to perform testing without manual intervention. Conventionally, when the application/product changes due to layout or functional changes, elements addition/deletion etc. the element identification handles become invalid, resulting in degradation of the effectiveness of the automation testing. Conventionally each of the automated test is revisited to validate the automation test case with respect to latest changes in the application/product. Thus in the conventional art a significant manual effort is required.to ensure the upkeep of the automation tests.
SUMMARY
[005] Before the present system and a method for updating an automated test case are described, it is to be understood that this application is not limited to a particular system, systems, and methodologies described, as there can be multiple possible embodiments, which are not expressly illustrated in the present disclosures. It is also to be understood that the terminology used in the description is for the purpose of describing the particular implementations, versions, or embodiments only, and is not intended to limit the scope of the present application. This summary is provided to introduce aspects related to a system and a method for updating an automated test case. This summary is not intended to identify essential features of the claimed subject matter nor is it intended for use in determining or limiting the scope of the claimed subject matter.
[006] In one embodiment, a method for updating an automated test case is disclosed. In the embodiment, the method comprises receiving a first set of user interface (UI) elements associated with an initial version of a webpage and a primary metadata associated with each of the UI elements from the first set of UI elements and extracting a second set of UI elements associated with an updated version of the webpage and a secondary metadata associated with each of the UI elements from the second set of UI elements. The method further comprises identifying a third set of UI elements and a fourth set of UI elements based on comparison of the first set of UI elements and the second set of UI elements, and mapping one or more UI elements from the third set of UI elements with one or more UI elements from the fourth set of UI elements based on a classification model, the primary metadata and the secondary metadata. In one example, the third set of UI elements comprises one or more UI elements from the first set of UI elements and missing from the second set of UI elements, and the fourth set of UI elements comprises one or more UI elements present in the second set of UI elements and missing from the first set of UI elements. The method further comprises identifying one or more UI elements from an automated test case corresponding to the third set of UI elements; and replacing the one or more UI elements from the automated test case with the one or more UI elements from the fourth set of UI elements based on the mapping, thereby updating the automated test case.
[007] In one embodiment, a system for updating an automated test case may be disclosed. The system comprises a memory and a processor coupled to the memory, further the processor may be configured to execute programmed instructions stored in the memory. In the embodiment, the system may receive a first set of user interface (UI) elements associated with an initial version of a webpage and a primary metadata associated with each of the UI elements from the first set of UI elements and extract a second set of UI elements associated with an updated version of the webpage and a secondary metadata associated with each of the UI elements from the second set of UI elements. Further to extracting the system may identify a third set of UI elements and a fourth set of UI elements based on comparison of the first set of UI elements and the second set of UI elements and mapped one or more UI elements from the third set of UI elements with one or more UI elements from the fourth set of UI elements based on a classification model, the primary metadata and the secondary metadata. In one example, the third set of UI elements comprises one or more UI elements from the first set of UI elements and missing from the second set of UI elements, and the fourth set of UI elements comprises one or more UI elements present in the second set of UI elements and missing from the first set of UI elements. Upon mapping, the system may identify one or more UI elements from an automated test case corresponding to the third set of UI elements and replace the one or more UI elements from the automated test case with the one or more UI elements from the fourth set of UI elements based on the mapping, thereby updating the automated test case.
BRIEF DESCRIPTION OF DRAWINGS
[008] The foregoing detailed description of embodiments is better understood when read in conjunction with the appended drawings. For the purpose of illustrating the present subject matter, an example of construction of the present subject matter is provided as figures; however, the present subject matter is not limited to the specific method and system disclosed in the document and the figures.
[009] The present subject matter is described in detail with reference to the accompanying figures. In the figures, the left-most digit(s) of a reference number identifies the figure in which the reference number first appears. The same numbers are used throughout the drawings to refer various features of the present subject matter.
[0010] Figure 1 illustrates a network implementation of a system for updating an automated test case, in accordance with an embodiment of the present subject matter.
[0011] Figure 2 illustrates and embodiment of the system for updating an automated test case, in accordance with an embodiment of the present subject matter.
[0012] Figure 3 illustrates a method for updating an automated test case, in accordance with an embodiment of the present subject matter.
DETAILED DESCRIPTION
[0013] Some embodiments of this disclosure, illustrating all its features, will now be discussed in detail. The words "comprising," "having," "containing," and "including," and other forms thereof, are intended to be open ended in that an item or items following any one of these words is not meant to be an exhaustive listing of such item or items, or meant to be limited to only the listed item or items. It must also be noted that as used herein and in the appended claims, the singular forms "a," "an," and "the" include plural references unless the context clearly dictates otherwise. Although any system and method for updating an automated test case , similar or equivalent to those described herein can be used in the practice or testing of embodiments of the present disclosure, the exemplary, system and method for updating an automated test case are now described.
[0014] Various modifications to the embodiment will be readily apparent to those skilled in the art and the generic principles herein may be applied to other embodiments for updating an automated test case. However, one of ordinary skill in the art will readily recognize that the present disclosure for updating an automated test case is not intended to be limited to the embodiments described, but is to be accorded the widest scope consistent with the principles and features described herein.
[0015] As described, in most of the web applications, UI is generated dynamically through JQuery or using dynamic UI frameworks. To implement localization functionality or test automation or script driven use cases automation, UI element IDs must be maintained. Development teams typically store the UI elements by naming them and maintaining in separate repository. When UI changes because of layout changes, elements addition/deletion etc. this repository becomes invalid and teams must revisit entire repository to validate it with respect to latest changes. This being manual process is time consuming and may also be error prone. Some conventional systems and method primarily rely on XPath querying to identify elements in application UI and comparing sections of the XML hierarchy of an element but fail. Proposed invention is to use analytics driven system and method to automatically determine the changed UI element and update the automated test case, so that whole process becomes smooth and without manual intervention.
[0016] Exemplary embodiments for discussed above may provide certain more advantages. Further, in the subsequent description, embodiments of the present subject along with the advantages are explained in detail with reference to the Figures 1 to Figure 3.
[0017] Referring now to Figure 1, embodiment of a network implementation 100 of a system 102 for updating an automated test case is disclosed. Although the present subject matter is explained considering that the system 102 is implemented on a server 110, it may be understood that the system 102 may also be implemented in a variety of computing systems, such as a laptop computer, a desktop computer, a notebook, a workstation, a mainframe computer, a server, a network server, and the like. In one implementation, the system 102 may be implemented in a cloud-based environment. It will be understood that multiple users may access the system 102 through one or more user device or applications residing on the user device 104-1….104-N. Examples of the user device may include, but are not limited to, a portable computer, a personal digital assistant, a handheld system, and a workstation. The system 102 may be communicatively coupled to server 110 through a network 106.
[0018] In one implementation, the network 106 may be a wireless network, a wired network or a combination thereof. The network 106 may be implemented as one of the different types of networks, such as intranet, local area network (LAN), wide area network (WAN), the internet, and the like. The network 106 may be either a dedicated network or a shared network. The shared network represents an association of the different types of networks that use a variety of protocols, for example, Hypertext Transfer Protocol (HTTP), Hypertext Transfer Protocol Secure (HTTPS), Secure File Transfer Protocol (SFTP), Transmission Control Protocol/Internet Protocol (TCP/IP), Wireless Application Protocol (WAP), and the like, to communicate with one another.
[0019] In one embodiment, a system 102 for updating an automated test case may be disclosed. The system 102 comprises a memory and a processor coupled to the memory, further the processor may be configured to execute programmed instructions stored in the memory. In the embodiment, the system 102 may receive a first set of user interface (UI) elements associated with an initial version of a webpage and a primary metadata associated with each of the UI elements from the first set of UI elements and extract a second set of UI elements associated with an updated version of the webpage and a secondary metadata associated with each of the UI elements from the second set of UI elements. Further to extracting the system 102 may identify a third set of UI elements and a fourth set of UI elements based on comparison of the first set of UI elements and the second set of UI elements and mapped one or more UI elements from the third set of UI elements with one or more UI elements from the fourth set of UI elements based on a classification model, the primary metadata and the secondary metadata. In one example, the third set of UI elements comprises one or more UI elements from the first set of UI elements and missing from the second set of UI elements, and the fourth set of UI elements comprises one or more UI elements present in the second set of UI elements and missing from the first set of UI elements. Upon mapping, the system 102 may identify one or more UI elements from an automated test case corresponding to the third set of UI elements and replace the one or more UI elements from the automated test case with the one or more UI elements from the fourth set of UI elements based on the mapping, thereby updating the automated test case.
[0020] Referring now to figure 2, an embodiment of the system 102 for updating an automated test case is illustrated in accordance with the present subject matter. The system 102 may include at least one processor 202, an input/output (I/O) interface 204, and a memory 206. The at least one processor 202 may be implemented as one or more microprocessors, microcomputers, microcontrollers, digital signal processors, central processing units, state machines, logic circuitries, and/or any systems that manipulate signals based on operational instructions. Among other capabilities, at least one processor 202 may be configured to fetch and execute computer-readable instructions stored in the memory 206.
[0021] The I/O interface 204 may include a variety of software and hardware interfaces, for example, a web interface, a graphical user interface, and the like. The I/O interface 204 may allow the system 102 to interact with the user directly or through the user device 104. Further, the I/O interface 204 may enable the system 102 to communicate with other computing systems, such as web servers and external data servers (not shown). The I/O interface 204 may facilitate multiple communications within a wide variety of networks and protocol types, including wired networks, for example, LAN, cable, etc., and wireless networks, such as WLAN, cellular, or satellite. The I/O interface 204 may include one or more ports for connecting a number of systems to one another or to another server.
[0022] The memory 206 may include any computer-readable medium known in the art including, for example, volatile memory, such as static random access memory (SRAM) and dynamic random access memory (DRAM), and/or non-volatile memory, such as read only memory (ROM), erasable programmable ROM, flash memories, hard disks, optical disks, and magnetic tapes. The memory 206 may include modules 208 and data 210.
[0023] The modules 208 may include routines, programs, objects, components, data structures, and the like, which perform particular tasks, functions or implement particular abstract data types. In one implementation, the module 208 may include an extraction module 212, an identification module 214, a mapping module 216, a test case module 220, and other modules 224. The other modules 224 may include programs or coded instructions that supplement applications and functions of the system 102.
[0024] The data 210, amongst other things, serve as a repository for storing data processed, received, and generated by one or more of the modules 208. The data 210 may also include a system data 226, and other data 228. In one embodiment, the other data 228 may include data generated as a result of the execution of one or more modules in the other module 224.
[0025] In one implementation, a user may access the system 102 via the I/O interface 204. The user may be registered using the I/O interface 204 in order to use the system 102. In one aspect, the user may access the I/O interface 204 of the system 102 for obtaining information, providing inputs, configuring or implementing the system 102.
[0026] In one embodiment, the extraction module 212 may receive a first set of user interface (UI) elements associated with an initial version of a webpage and a primary metadata associated with each of the UI elements from the first set of UI elements from a repository. In one embodiment, a webpage may be understood as any page or a UI on a screen of a website or an application with or without access to internet. Further, the primary metadata may comprises labels, a usage purpose of UI elements, a neighboring UI elements position and context, a UI element container hierarchy, a tool tip texts, and a type of UI element. The primary metadata may also comprises context data a type of t the webpage, a purpose of the web page, a nature of the UI element based on its name specific to the industry vertical, synonyms and antonymous of words on the webpage and the like. In one example, the context data may be obtained from a historical repository containing data associated with plurality of webpages. In one example, the context data may be developed and stored in the historical repository based on learnings from previous webpages and other webpages Further, the extraction module 212 may store the first set of user interface (UI) elements and the primary metadata in the system data 226.
[0027] In one other embodiment, construe an ERP system developed and post development testing is to be done using automated test cases. In the example, the ERP system may comprises a webpage. Further, the webpage may comprise various data associated with an employee of an organization. In the embodiment, the extraction module 212 may receive a first set of user interface (UI) elements associated with an initial version of the webpage such as “name”, “employee ID”, “designation”, “salary”, “department” “manager” and “skill” and a primary metadata associated with each of the UI elements from the first set of UI elements such as “salary located above designation and below employee ID” “Salary has a number only text box in front” “name is on the top of the page”, order of the element is “name-employee ID-salary- designation -department-manager-skill”, “every UI element has a text box in the front” and the like. The primary metadata may also comprises context data a type of the webpage =employee data, a purpose of the web page = employee information, a nature of the UI element based on its name specific to the industry vertical, synonyms of words on the webpage such as salary=compensation, remuneration, retainer, fees and the like. In one example, the context data may be obtained from a historical repository containing data associated with plurality of webpages.
[0028] In the embodiment, the extraction module 212 may extract a second set of UI elements associated with an updated version of the webpage and a secondary metadata associated with each of the UI elements from the second set of UI elements. Further, the secondary metadata may comprises labels, a usage purpose of UI elements, a neighboring UI elements position and context, a UI element container hierarchy, a tool tip texts, and a type of UI element. The secondary metadata may also comprises context data such as a type of the webpage, a purpose of the web page, a nature of the element based on its name specific to the industry vertical, synonyms and antonymous of words on the webpage and the like. In one example, the context data may be obtained from a historical repository containing data associated with plurality of webpages. Further, the extraction module 214 may store the second set of UI elements and the secondary metadata in the system data 226.
[0029] In the example described above, upon receiving, the extraction module 212 may extract a second set of UI elements associated with an updated version of the webpage for example “name”, “employee ID”, “designation” “remuneration” “function” “manager”, “expertise”, and “team name”. Further, the extraction module 212 may extract a secondary metadata associated with each of the UI elements from the second set of UI elements such as “remuneration located above designation and below employee ID” “remuneration has a number only text box in front” “name is on the top of the page”, order of the element is “name-employee ID-designation- remuneration-function-manager-expertise-team name”, “every UI element has a text box in the front” and the like. The secondary metadata may also comprises context data a type of the webpage =employee data, a purpose of the web page = employee information, a nature of the UI element based on its name specific to the industry vertical, synonyms of words on the webpage such as remuneration=compensation, retainer, salary fees and the like. In one example, the context data may be obtained from a historical repository containing data associated with plurality of webpages.
[0030] In the embodiment, upon extraction, an identification module 214 may identifying a third set of UI elements and a fourth set of UI elements based on comparison of the first set of UI elements and the second set of UI elements. In one example, the third set of UI elements may comprise one or more UI elements from the first set of UI elements and missing from the second set of UI elements and the fourth set of UI elements may comprise one or more UI elements present in the second set of UI elements and missing from the first set of UI elements. Further, the identification module 214 may store the third set of UI elements and the fourth set of UI elements type in system data 226.
[0031] In the example described above, upon extraction, an identification module 214 may identifying a third set of UI elements and a fourth set of UI elements based on comparison of the first set of UI elements and the second set of UI elements. In one example, the third set of UI elements may comprise one or more UI elements from the first set of UI elements and missing from the second set of UI elements for example “salary”, “department” and “skill”. Further, the fourth set of UI elements may comprise one or more UI elements present in the second set of UI elements and missing from the first set of UI elements for example “remuneration” “function” “expertise” and “team name”.
[0032] In the embodiment, further to identification, a mapping module 216 may map one or more UI elements from the third set of UI elements with one or more UI elements from the fourth set of UI elements based on a classification model, the primary metadata and the secondary metadata. In one example, the classification model may be generated by the mapping module 216 based on user interface (UI) elements and associated metadata obtained from a plurality of webpages and a Synthetic Minority Over-sampling Technique. In one example, Synthetic Minority Over-sampling Technique may be understood a technique for balancing highly imbalanced datasets. Using the Synthetic Minority Over-sampling Technique (SMOT) ensure that over-fitted models nor creating under-fitted models is developed. In one example, variant of Synthetic Minority Over-sampling Technique may be used with dynamic tuning parameters created based on distribution of test data. Further, the mapping module 216 may store the mapped data in the system data 226.
[0033] In the example described above, further to identification, a mapping module 216 may map one or more UI elements from the third set of UI elements with one or more UI elements from the fourth set of UI elements based on a classification model, the primary metadata and the secondary metadata for example “salary” may be mapped to “remuneration”, “department” may be mapped to “function” and “skill” may be mapped to “expertise”. In the example, the mapping of “salary” “department” “skill” may be mapped “remuneration”, “function” and “expertise” respectively by the classification based on the primary and secondary metadata such as located in the same location as in the initial webpage. Further, the context data such as “UI elements are synonyms of each other” and “used in the same industry as synonyms” may also be used by the classification model. In one example, the classification model may identify the synonyms based on historical data related to the various webpages. Further, the mapping module 216 may map “team name” as a new UI element.
[0034] In the embodiment, upon mapping, a test case module 220 may identify one or more UI elements from an automated test case corresponding to the third set of UI elements. Further, the tests case module may store the one or more UI elements in system data 226.
[0035] In the example described above, upon mapping, a test case module 220 may identify one or more UI elements from an automated test case corresponding to the third set of UI elements for example “salary”, “department” and “skill”.
[0036] In the embodiment, further to identifying the test case module 220 may replace the one or more UI elements from the automated test case with the one or more UI elements from the fourth set of UI elements based on the mapping, thereby updating the automated test case. Further, the test case 220 store the data (updated test cases) in system data 226 or in the repository.
[0037] In the example described above, the test case module 220 may replace the one or more UI elements, “salary”, “department” and “skill” from the automated test case with the one or more UI elements from the fourth set of UI elements “remuneration”, “function” and “expertise” respectively based on the mapping, thereby updating the automated test case. In one example, prior to replacing the test case module 220 may provide a notification to a user and perform the replacement upon receiving an instruction from the user. In one more example, the user may modify the mapping prior to the replacement. In one more example, the UI element mapped “team name” mapped as a new UI element may be notified to the user for developing and adding a fresh automated test case.
[0038] Now referring to one other embodiment of the present subject matter, present subject matter works by scraping a dynamically generated web page and enriching an element hierarchy tree table, also referred to as metadata, with additional information, including but not limited to current element handle(s) using different approaches, labels, typical usage purpose of elements with similar label patterns, neighbouring elements position and context, element container hierarchy, tool tip texts, type of element, implemented usage of the element, container / page / process flow within the application context etc.
[0039] In one example, the element name as an independent variable and contextual attributes described as dependent variables may be used to train a classification model. Further, a custom implementation of SMOTE algorithm may be used to balance the data for training the model, with the objective of grouping elements intended for the same purpose across modified versions of the application with a high degree of accuracy.
[0040] Exemplary embodiments for updating an automated test case discussed above may provide certain advantages. Though not required to practice aspects of the disclosure, these advantages, without limitation, are the following.
[0041] Some embodiments of the system and the method enable Enhanced context of an element, from both within and outside the application from similar applications. This is done through techniques ranging from plain content scraping to classification of elements from similar applications to infer the usage purpose of elements within a usage context.
[0042] Some embodiments of the system and the method enable grouping of related elements, determined through position, containing elements, intended purpose to help determine localized context and contain or localize the ‘change’.
[0043] Some embodiments of the system and the method enable separation of the dynamic elements of the page, viz the element handlers from the dependent artifacts to minimize the change and impact.
[0044] Referring now to figure 3, a method 300 for updating an automated test case using a system 102, is disclosed in accordance with an embodiment of the present subject matter. The method 300 for updating an automated test case using a system 102 may be described in the general context of device executable instructions. Generally, device executable instructions can include routines, programs, objects, components, data structures, procedures, modules, functions, and the like, that perform particular functions or implement particular abstract data types. The method 300 for updating an automated test case using a system 102 may also be practiced in a distributed computing environment where functions are performed by remote processing systems that are linked through a communications network. In a distributed computing environment, computer executable instructions may be located in both local and remote computer storage media, including memory storage systems.
[0045] The order in which the method 300 for updating an automated test case using a system 102 is described is not intended to be construed as a limitation, and any number of the described method blocks can be combined in any order to implement the method 300 or alternate methods. Additionally, individual blocks may be deleted from the method 300 without departing from the spirit and scope of the subject matter described herein. Furthermore, the method 300 can be implemented in any suitable hardware, software, firmware, or combination thereof. However, for ease of explanation, in the embodiments described below, the method 300 for updating an automated test case using a system 102 may be considered to be implemented in the above-described system 102.
[0046] At block 302, a first set of user interface (UI) elements associated with an initial version of a webpage and a primary metadata associated with each of the UI elements from the first set of UI elements is received. In one embodiment, the extraction module 212 may a first set of user interface (UI) elements and primary metadata. Further, the extraction module 212 may store the data in the system data 226.
[0047] At block 304 a second set of UI elements associated with an updated version of the webpage and a secondary metadata associated with each of the UI elements from the second set of UI elements is extracted. In one embodiment, the extraction module 212 may extract a second set of UI elements associated with an updated version of the webpage and a secondary metadata associated with each of the UI elements from the second set of UI elements. Further, the extraction module 214 may store the second set of UI elements and the secondary metadata in the system data 226.
[0048] At block 306, a third set of UI elements and a fourth set of UI elements is identified based on comparison of the first set of UI elements and the second set of UI elements. In one example, the third set of UI elements comprises one or more UI elements from the first set of UI elements and missing from the second set of UI elements, and the fourth set of UI elements comprises one or more UI elements present in the second set of UI elements and missing from the first set of UI elements. In one embodiment, the identification module 214 may identify a third set of UI elements and a fourth set of UI elements based on comparison of the first set of UI elements and the second set of UI elements. Further, the identification module 214 may store the third set of UI elements and the fourth set of UI elements type in system data 226.
[0049] At block 308, one or more UI elements from the third set of UI elements are mapped with one or more UI elements from the fourth set of UI elements based on a classification model, the primary metadata and the secondary metadata. In one embodiment, the mapping module 216 may map one or more UI elements from the third set of UI elements are with one or more UI elements from the fourth set of UI elements. Further, the mapping module 216 may store the mapped data in the system data 226.
[0050] At block 310 identifying one or more UI elements from an automated test case corresponding to the third set of UI elements. In one embodiment, the tests case module 220 may identify one or more UI elements from an automated test case corresponding to the third set of UI elements and store the one or more UI elements in system data 226.
[0051] At block 312 the one or more UI elements from the automated test case are replace with the one or more UI elements from the fourth set of UI elements based on the mapping, thereby updating the automated test case. In one embodiment, the tests case module 220 may replace the one or more UI elements from the automated test case the one or more UI elements from the automated test case and store the data (updated test cases) in system data 226.
[0052] Although implementations for methods and systems for updating an automated test case have been described in language specific to features, system and/or methods, it is to be understood that the appended claims are not necessarily limited to the specific features or methods for updating an automated test case described. Rather, the specific features and methods are disclosed as examples of implementations for updating an automated test case.
Claims:
1. A method for updating an automated test case, wherein the method comprising:
receiving, by a processor, a first set of user interface (UI) elements associated with an initial version of a webpage and a primary metadata associated with each of the UI elements from the first set of UI elements;
extracting, by the processor, a second set of UI elements associated with an updated version of the webpage and a secondary metadata associated with each of the UI elements from the second set of UI elements;
identifying, by the processor, a third set of UI elements and a fourth set of UI elements based on comparison of the first set of UI elements and the second set of UI elements, wherein the third set of UI elements comprises one or more UI elements from the first set of UI elements and missing from the second set of UI elements, wherein the fourth set of UI elements comprises one or more UI elements present in the second set of UI elements and missing from the first set of UI elements;
mapping, by the processor, one or more UI elements from the third set of UI elements with one or more UI elements from the fourth set of UI elements based on a classification model, the primary metadata and the secondary metadata;
identifying, by the processor, one or more UI elements from an automated test case corresponding to the third set of UI elements; and
replacing, by the processor, the one or more UI elements from the automated test case with the one or more UI elements from the fourth set of UI elements based on the mapping, thereby updating the automated test case.
2. The method of claim1, wherein classification model is generated based on user interface (UI) elements and associated metadata obtained from a plurality of webpages and a Synthetic Minority Over-sampling Technique.
3. The method of claim 1, wherein the metadata comprises one or more of labels, a usage purpose of UI elements, a neighboring UI elements position and context, a UI element container hierarchy, a tool tip texts, context data and a type of UI element.
4. A system for updating an automated test case, wherein the system comprising:
a memory; and
a processor coupled to the memory, wherein the processor is configured to execute program instructions stored in the memory for:
receive a first set of user interface (UI) elements associated with an initial version of a webpage and a primary metadata associated with each of the UI elements from the first set of UI elements;
extract a second set of UI elements associated with an updated version of the webpage and a secondary metadata associated with each of the UI elements from the second set of UI elements;
identify a third set of UI elements and a fourth set of UI elements based on comparison of the first set of UI elements and the second set of UI elements, wherein the third set of UI elements comprises one or more UI elements from the first set of UI elements and missing from the second set of UI elements, wherein the fourth set of UI elements comprises one or more UI elements present in the second set of UI elements and missing from the first set of UI elements;
map one or more UI elements from the third set of UI elements with one or more UI elements from the fourth set of UI elements based on a classification model, the primary metadata and the secondary metadata;
identify one or more UI elements from an automated test case corresponding to the third set of UI elements; and
replace the one or more UI elements from the automated test case with the one or more UI elements from the fourth set of UI elements based on the mapping, thereby updating the automated test case.
5. The method of claim1, wherein classification model is generated based on user interface (UI) elements and associated metadata obtained from a plurality of webpages and a Synthetic Minority Over-sampling Technique.
6. The method of claim 1, wherein the metadata comprises one or more of labels, a usage purpose of UI elements, a neighboring UI elements position and context, a UI element container hierarchy, a tool tip texts, context data and a type of UI element.
| # | Name | Date |
|---|---|---|
| 1 | 201911008748-STATEMENT OF UNDERTAKING (FORM 3) [06-03-2019(online)].pdf | 2019-03-06 |
| 1 | 201911008748-Written submissions and relevant documents [16-04-2025(online)].pdf | 2025-04-16 |
| 2 | 201911008748-Correspondence to notify the Controller [08-04-2025(online)].pdf | 2025-04-08 |
| 2 | 201911008748-REQUEST FOR EXAMINATION (FORM-18) [06-03-2019(online)].pdf | 2019-03-06 |
| 3 | 201911008748-REQUEST FOR EARLY PUBLICATION(FORM-9) [06-03-2019(online)].pdf | 2019-03-06 |
| 3 | 201911008748-FORM-26 [08-04-2025(online)].pdf | 2025-04-08 |
| 4 | 201911008748-US(14)-HearingNotice-(HearingDate-11-04-2025).pdf | 2025-03-20 |
| 4 | 201911008748-POWER OF AUTHORITY [06-03-2019(online)].pdf | 2019-03-06 |
| 5 | 201911008748-FORM-9 [06-03-2019(online)].pdf | 2019-03-06 |
| 5 | 201911008748-CLAIMS [17-12-2021(online)].pdf | 2021-12-17 |
| 6 | 201911008748-FORM 18 [06-03-2019(online)].pdf | 2019-03-06 |
| 6 | 201911008748-CORRESPONDENCE [17-12-2021(online)].pdf | 2021-12-17 |
| 7 | 201911008748-FORM 1 [06-03-2019(online)].pdf | 2019-03-06 |
| 7 | 201911008748-FER_SER_REPLY [17-12-2021(online)].pdf | 2021-12-17 |
| 8 | 201911008748-Proof of Right [30-11-2021(online)].pdf | 2021-11-30 |
| 8 | 201911008748-FIGURE OF ABSTRACT [06-03-2019(online)].jpg | 2019-03-06 |
| 9 | 201911008748-DRAWINGS [06-03-2019(online)].pdf | 2019-03-06 |
| 9 | 201911008748-FER.pdf | 2021-10-18 |
| 10 | 201911008748-COMPLETE SPECIFICATION [06-03-2019(online)].pdf | 2019-03-06 |
| 10 | 201911008748-FORM 13 [09-07-2021(online)].pdf | 2021-07-09 |
| 11 | 201911008748-POA [09-07-2021(online)].pdf | 2021-07-09 |
| 11 | abstract.jpg | 2019-04-09 |
| 12 | 201911008748-Correspondence-120919.pdf | 2019-09-13 |
| 12 | 201911008748-Proof of Right (MANDATORY) [05-09-2019(online)].pdf | 2019-09-05 |
| 13 | 201911008748-OTHERS-120919.pdf | 2019-09-13 |
| 14 | 201911008748-Correspondence-120919.pdf | 2019-09-13 |
| 14 | 201911008748-Proof of Right (MANDATORY) [05-09-2019(online)].pdf | 2019-09-05 |
| 15 | 201911008748-POA [09-07-2021(online)].pdf | 2021-07-09 |
| 15 | abstract.jpg | 2019-04-09 |
| 16 | 201911008748-COMPLETE SPECIFICATION [06-03-2019(online)].pdf | 2019-03-06 |
| 16 | 201911008748-FORM 13 [09-07-2021(online)].pdf | 2021-07-09 |
| 17 | 201911008748-FER.pdf | 2021-10-18 |
| 17 | 201911008748-DRAWINGS [06-03-2019(online)].pdf | 2019-03-06 |
| 18 | 201911008748-Proof of Right [30-11-2021(online)].pdf | 2021-11-30 |
| 18 | 201911008748-FIGURE OF ABSTRACT [06-03-2019(online)].jpg | 2019-03-06 |
| 19 | 201911008748-FER_SER_REPLY [17-12-2021(online)].pdf | 2021-12-17 |
| 19 | 201911008748-FORM 1 [06-03-2019(online)].pdf | 2019-03-06 |
| 20 | 201911008748-CORRESPONDENCE [17-12-2021(online)].pdf | 2021-12-17 |
| 20 | 201911008748-FORM 18 [06-03-2019(online)].pdf | 2019-03-06 |
| 21 | 201911008748-CLAIMS [17-12-2021(online)].pdf | 2021-12-17 |
| 21 | 201911008748-FORM-9 [06-03-2019(online)].pdf | 2019-03-06 |
| 22 | 201911008748-POWER OF AUTHORITY [06-03-2019(online)].pdf | 2019-03-06 |
| 22 | 201911008748-US(14)-HearingNotice-(HearingDate-11-04-2025).pdf | 2025-03-20 |
| 23 | 201911008748-FORM-26 [08-04-2025(online)].pdf | 2025-04-08 |
| 23 | 201911008748-REQUEST FOR EARLY PUBLICATION(FORM-9) [06-03-2019(online)].pdf | 2019-03-06 |
| 24 | 201911008748-Correspondence to notify the Controller [08-04-2025(online)].pdf | 2025-04-08 |
| 24 | 201911008748-REQUEST FOR EXAMINATION (FORM-18) [06-03-2019(online)].pdf | 2019-03-06 |
| 25 | 201911008748-Written submissions and relevant documents [16-04-2025(online)].pdf | 2025-04-16 |
| 25 | 201911008748-STATEMENT OF UNDERTAKING (FORM 3) [06-03-2019(online)].pdf | 2019-03-06 |
| 26 | 201911008748-PatentCertificate26-09-2025.pdf | 2025-09-26 |
| 27 | 201911008748-IntimationOfGrant26-09-2025.pdf | 2025-09-26 |
| 1 | 201911008748E_25-06-2021.pdf |