US11635946B2 - Analyzing objects from a graphical interface for standards verification - Google Patents
Analyzing objects from a graphical interface for standards verification Download PDFInfo
- Publication number
- US11635946B2 US11635946B2 US16/153,069 US201816153069A US11635946B2 US 11635946 B2 US11635946 B2 US 11635946B2 US 201816153069 A US201816153069 A US 201816153069A US 11635946 B2 US11635946 B2 US 11635946B2
- Authority
- US
- United States
- Prior art keywords
- user interface
- graphical user
- attributes
- objects
- interface objects
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Active, expires
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F8/00—Arrangements for software engineering
- G06F8/30—Creation or generation of source code
- G06F8/33—Intelligent editors
Definitions
- the embodiments disclosed within this specification relate to user interfaces. More particularly, the embodiments relate to graphical user interface objects.
- GUIs Graphical user interface objects
- objects are routinely incorporated into graphical user interfaces (hereinafter “objects”).
- GUIs graphical user interfaces
- Such GUIs sometimes become quite complex, requiring a myriad of different objects.
- computer programmers who program such GUIs must keep track of the various attributes assigned to different objects that are incorporated into the GUIs so as to ensure that there are no conflicts among the various objects. Managing the various objects and their attributes can be cumbersome, however.
- GUI graphical user interface
- One embodiment of the present invention can include a method of analyzing GUI objects.
- the method can include dynamically scanning attributes assigned to various GUI objects that are assigned to a view of a GUI in order to identify attributes associated with each of the GUI objects.
- a list of attributes can be generated.
- a determination can be made as to whether at least one of the GUI objects has a list of attributes that does not correspond to lists of attributes for other GUI objects.
- an identifier can be output. The identifier can indicate that the GUI object has the list of attributes that does not correspond to the lists of attributes for the other GUI objects.
- Another embodiment of the present invention can include a method of analyzing GUI objects.
- the method can include dynamically scanning attributes assigned to various ones of the GUI objects that are assigned to a view of a GUI in order to identify attributes associated with each of the GUI objects. For each of the GUI objects, a list of attributes can be generated. Based on the attributes associated with each of the graphical user interface objects, an attribute rule set can be generated. A determination can be made as to whether at least one of the GUI objects has a list of attributes that does not correspond to the attribute rule set. When at least one GUI object has a list of attributes that does not correspond to the attribute rule set, an identifier can be output. The identifier can indicate that the GUI object has the list of attributes that does not correspond to the attribute rule set.
- Yet another embodiment of the present invention can include a computer program product including a computer-usable medium having computer-usable program code that, when executed, causes a machine to perform the various steps and/or functions described herein.
- FIG. 1 is a block diagram illustrating a system for analyzing graphical user interface objects in accordance with an embodiment of the present invention.
- FIG. 2 is a view of a graphical user interface in accordance with another embodiment of the present invention.
- FIG. 3 is a flow chart illustrating a method of analyzing objects from a graphical user interface in accordance with another embodiment of the present invention.
- aspects of the present invention may be embodied as a system, method or computer program product. Accordingly, aspects of the present invention may take the form of an entirely hardware embodiment, an entirely software embodiment (including firmware, resident software, micro-code, etc.) or an embodiment combining software and hardware aspects that may all generally be referred to herein as a “circuit,” “module” or “system.” Furthermore, aspects of the present invention may take the form of a computer program product embodied in one or more computer readable medium(s) having computer readable program code embodied, e.g., stored, thereon.
- the computer readable medium may be a computer readable signal medium or a computer readable storage medium.
- 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 suitable combination of the foregoing.
- 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.
- a computer readable signal medium may include 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 signal may take any of a variety of forms, including, but not limited to, electro-magnetic, optical, or any suitable combination thereof.
- a computer readable signal medium may 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 wireless, wireline, optical fiber, cable, RF, etc., or any suitable combination of the foregoing.
- Computer program code for carrying out operations for aspects of the present invention may be written in any combination of one or more programming languages, including an object oriented programming language such as Java, Smalltalk, C++ or the like and 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.
- 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).
- LAN local area network
- WAN wide area network
- Internet Service Provider an Internet Service Provider
- These computer program instructions may also be stored in a computer readable medium that can direct a computer, other programmable data processing apparatus, or other devices to function in a particular manner, such that the instructions stored in the computer readable medium produce an article of manufacture including instructions which implement the function/act specified in the flowchart and/or block diagram block or blocks.
- the computer program instructions may also be loaded onto a computer, other programmable data processing apparatus, or other devices to cause a series of operational steps to be performed on the computer, other programmable apparatus or other devices to produce a computer implemented process such that the instructions which execute on the computer or other programmable apparatus provide processes for implementing the functions/acts specified in the flowchart and/or block diagram block or blocks.
- the embodiments disclosed herein relate to dynamically scanning attributes assigned to various graphical user interface objects which are presented in a view of a graphical user interface (hereinafter “objects”).
- the objects that are scanned can be all objects in a particular view, or objects that are selected by a user.
- the attributes that are assigned to various objects can be dynamically identified. For each of the objects, a list of attributes can be generated. When the list of attributes for a particular object does not correspond to attributes for lists of objects generated for other objects, one or more identifiers can be output to indicate such circumstance.
- the lists for each object can be compared to determine attributes that are present in a particular portion of the lists that are generated. Such portion can be user determined or can be a default value, and the attributes present in that portion of the objects can be identified as reference attributes. If a particular object has attributes that do not correspond to the reference attributes, the identifier that is output for the object can indicate that such attributes do not correspond to the reference attributes. If, however, a particular object lacks attributes contained in the reference attributes, the identifier that is output for the object can indicate the attributes contained in the reference attributes that are lacking for the object.
- the attributes for each object can be compared to one or more standard attributes that may be applicable to the view.
- the identifier that is output can indicate attributes that are associated with the object that do not correspond to the standard attributes, and/or indicate one or more standard attributes that are not presently associated with the object.
- the standard attributes can be attributes defined by a desired standard or protocol applicable to the type of view in which the objects are presented.
- FIG. 1 is a block diagram illustrating a processing system 100 for analyzing objects of a graphical user interface (GUI) in accordance with one embodiment of the present invention.
- the system 100 can include at least one processor 105 coupled to memory devices 110 through a system bus 115 .
- the system 100 can store program code within the memory devices 110 .
- the processor 105 can execute the program code accessed from the memory devices 110 via the system bus 115 .
- the system 100 can be implemented as computer that is suitable for storing and/or executing program code. It should be appreciated, however, that the system 100 can be implemented in the form of any system comprising a processor and memory that is capable of performing the functions described within this specification.
- the memory devices 110 can include one or more physical memory devices such as, for example, local memory 120 and one or more bulk storage devices 125 .
- Local memory 120 refers to random access memory or other non-persistent memory device(s) generally used during actual execution of the program code.
- the bulk storage device(s) 125 can be implemented as a hard drive or other persistent data storage device.
- the system 100 also can include one or more cache memories (not shown) that provide temporary storage of at least some program code in order to reduce the number of times program code must be retrieved from the bulk storage device 125 during execution.
- I/O devices such as keyboard 130 , a pointing device 135 , and a display 140 also can be coupled to the system 100 .
- the I/O devices can be coupled to the system 100 either directly or through intervening I/O controllers.
- a network adapter 145 also can be coupled to the system 100 to enable the system 100 to communicate with other systems, computer systems, remote printers, and/or remote storage devices through intervening private or public networks. Modems, cable modems, Ethernet cards, and wireless network adapters, are examples of different types of network adapters that can be used with system 100 .
- the memory devices 110 can store graphical analysis software 150 .
- the graphical analysis software 150 being implemented in the form of executable program code, can be executed by the system 100 for the purposes of scanning attributes 155 assigned to various objects 160 in a view 165 of a GUI, and identifying object attributes 155 that do not correspond to attributes for lists of objects generated for other objects in accordance with the methods described herein. Identifiers corresponding to the identified attributes can be output to the memory devices 110 , the display 140 , or output in any other suitable manner.
- outputting and/or “output” can mean storing in memory devices 110 , for example, writing to a file stored in memory devices 110 , writing to the display 140 or other peripheral output device, playing audible notifications, sending or transmitting to another system, exporting, or the like.
- the graphical analysis software 150 of the present invention can be implemented in IBM® Rational® Functional TesterTM (IBM, Rational, and Rational Functional Tester are trademarks of International Business Machines Corporation in the United States, other countries, or both).
- IBM® Rational® Functional TesterTM IBM® Rational® Functional TesterTM
- Rational, and Rational Functional Tester are trademarks of International Business Machines Corporation in the United States, other countries, or both.
- the invention is not limited in this regard, however.
- the graphical analysis software 150 can be implemented in a web development application, a software development application, or in any other application in which GUIs are designed and/or tested.
- the present invention can be implemented as a plug-in, module, routine or sub-routine within an application.
- the graphical analysis software 150 can be implemented as a stand-alone application that interfaces with another application that presents a GUI.
- another application can be an application in which GUIs are designed and/or tested, but this need not be the case.
- the graphical analysis software 150 can interface with a conventional web browser.
- FIG. 2 is a view 200 of GUI 202 in accordance with another embodiment of the present invention.
- the GUI 202 can be presented in a suitable application that includes the graphical analysis software or to which the graphical analysis software is communicatively linked.
- GUI objects within the GUI 202 , a plurality of GUI objects (hereinafter “objects”) 204 , 206 , 208 that are assigned to the view 200 can be presented.
- the objects 204 , 206 , 208 can be icons, buttons, links, text fields, data input fields (e.g., boxes), images, portions of a view (e.g., header, footer, container, body, section, etc.) or any other objects that may be presented in a view of a GUI, or otherwise associated with a view of a GUI.
- Each of the objects 204 , 206 , 208 can have one or more associated attributes.
- the attributes can identify classes to which the objects belong, define object types (e.g., hyperlink, button, icon, etc.), include links to other web pages, links to electronic mail (e-mail) addresses, define font styles (e.g., font type, font size, font color, font style, etc.), define object dimensions, define object color and/or background color, define object positions (e.g., horizontal position, vertical position, alignment, etc.), define object padding, identify images to be presented with the objects, define GUI layers on which the objects are placed, define functions, routines and/or sub-routines that are to be executed when the objects are selected or deselected, and so on. Still, any of a myriad of other attributes can be associated with each of the objects 204 , 206 , 208 and the invention is not limited in this regard.
- the attributes can be associated with the objects in any suitable manner, for example using hypertext markup language (HTML), using cascading style sheets (CSS), or the like.
- HTML hypertext markup language
- CSS cascading style sheets
- TABLE 1 A very simple example of HTML code that can be used to associate attributes with an object is presented in TABLE 1:
- an object is assigned to a class “products,” provides a hyperlink to a web page titled “product #1.html”, assigns a title “Product #1” to the object, defines that the product #1.html window will be presented on top, defines text of “Product #1” for the object, and includes an image attribute to place a line below the object.
- the graphical analysis software can dynamically scan the attributes assigned to the various objects 204 , 206 , 208 in order to identify the attributes that are associated with the objects 204 , 206 , 208 .
- the graphical analysis software can scan computer program code that defines the view 200 in order to identify the objects 204 , 206 , 208 and their respective attributes.
- Such computer program code can be HTML code, CSS code, or any other computer program code that may be used to define a view 200 in a GUI 202 .
- the scanning process can identify object tags corresponding to the objects 204 , 206 , 208 , and identify attribute tags associated with each of the objects.
- the attribute tags can define the attributes for those objects 204 , 206 , 208 .
- the graphical analysis software can generate a correlation model output comprising a list of attributes for each of the objects 204 , 206 , 208 .
- Such lists can be generated in any suitable format.
- the lists can be generated as an extensible markup language (XML) document, as a text file, as records in a data table or hash table, etc.
- the objects 204 , 206 , 208 can be grouped separately with their corresponding attributes.
- attributes for all of the objects 204 , 206 , 208 can be presented in a manner that associates the attributes with the objects 204 , 206 , 208 .
- An example of a correlation model output that can be generated in this manner for an XML file is presented in TABLE 2.
- the attributes for each of the identified objects 204 , 206 , 208 can be grouped and designated to the respective objects 204 , 206 , 208 . Processing of this data then can be implemented so that the attributes for each of the objects 204 , 206 , 208 are compared to attributes for similar objects 204 , 206 , 208 . For example, referring to FIG.
- attributes for the object 208 - 1 can be compared to attributes of the other objects 208 - 2 , 208 - 3 , 208 - 4 , 208 - 5
- attributes for the object 208 - 2 can be compared to attributes of the other objects 208 - 1 , 208 - 3 , 208 - 4 , 208 - 5 , and so on. Any deviation in the attributes that are compared can be identified and output in a suitable manner (e.g., output to memory devices, a file, a display, etc.).
- the “OK” button 208 - 1 includes an “enable” attribute
- the “Cancel” button 208 - 2 and the “Help” button 208 - 3 do not.
- the image 208 - 4 includes an “altText” attribute while the image 208 - 5 does not.
- An output that is generated can indicate which of these objects 208 lack attributes present for other objects 208 , and which of these objects include attributes that are not present for the other objects.
- attributes not present for all of the objects can be identified, and where those attributes are missing from the object tags can be identified.
- attributes, and where they appear to be missing can be identified in any suitable manner, for instance by presenting text with a particular font style (e.g., underlined, bold, italics, font color, background color, etc.).
- Additional identifiers e.g., alphanumeric text, icons, or the like
- attribute values that are not consistent among the objects also can be noted. For example, if one instance of an OK value is presented as “OK,” and another instance is presented as “Ok,” the differences in the font case can be identified in the output file.
- the objects 204 , 206 , 208 and their attributes can be presented in a manner that facilitates global property inspection and cross referencing.
- the objects 204 , 206 , 208 and attributes can be output in a tree format and grouped by object types.
- a group can be created for “buttons,” a group can be created for “images,” and so forth.
- Global identifiers also can be included in the output to indicate object types that are grouped together.
- the global property inspection and cross referencing can be used to detect abnormalities in the object attributes. For instance, if one button has a label “OK,” while another button has a label “Ok,” the abnormality of presenting “OK” in these different manners can be detected and displayed.
- An example of XML code presented in a tree formatted XML file is depicted in TABLE 3:
- identifiers can be presented to identify inconsistencies among the object attributes.
- An output generated in accordance with the example presented in TABLE 3 can facilitate visual inspection of the various attributes assigned to similar objects 204 , 206 , 208 .
- the objects 204 , 206 , 208 that are analyzed to generate the attribute lists can include all objects 204 , 206 , 208 in the view 200 , or a portion of the objects 204 , 206 , 208 .
- a user selection can be received to select various ones of the user interface objects 204 , 206 , 208 for analysis.
- a user can use a pointing device to select the objects 208 , for instance by placing a selection box 210 around the objects 208 in the view 200 .
- the user can select the objects by identifying the objects within the computer program code for the view 200 , for example by selecting the objects from the computer program code in XML files, selecting the objects from another output file that is generated, or selecting the objects in another suitable manner.
- a user can configure a web browser or application in a rich text format (RFT), load a target view, and scan a configured interface in which the view is presented.
- RFT rich text format
- a subset can be indicted by passing a coded section tag, such as an HTML ⁇ DIV> section, as noted.
- a standards notification document can be generated.
- the standards notification document can indicate which attributes correspond to a particular GUI standard, and which do not.
- the objects 204 , 206 , 208 that are identified, and their attributes can be compared to objects and attributes defined in a standard or protocol applicable to the view 200 .
- the objects and attributes defined in the standard or protocol can be accessed from a suitable file, for example a text file, an XML file, a data table, a hash table, etc.
- the attributes identified in the standards notification document can be attributes corresponding to all objects 204 , 206 , 208 in the view, or exclusively attributes corresponding to selected objects 204 , 206 , 208 .
- the graphical analysis software can create an attribute rule set based on the objects in the view 200 and their corresponding attributes. Again, this rule set can be based on all of the objects 204 , 206 , 208 within the view 200 , or only objects 204 , 206 , 208 that are selected.
- the attribute rule set can indicate attributes that are expected for each of the objects 204 , 206 , 208 based on attributes that are common the objects 204 , 206 , 208 . In illustration, attributes that are common among a portion of the objects 204 , 206 , 208 can be identified within the view 200 . Hereinafter, such attributes will be referred to as “reference attributes.”
- the view 200 can be output to a staging or temporary file.
- a staging document can be created.
- the objects 204 , 206 , 208 and reference attributes then can be identified by scanning the staging or temporary files. Nonetheless, the invention is not limited in this regard and the objects 204 , 206 , 208 and reference attributes can be identified in any suitable manner.
- the portion of the objects 204 , 206 , 208 can be a majority of the objects, or a certain percentage of the objects (e.g., 60% of the objects, 75% of the objects, 90% of the objects, and so on). In one embodiment, the portion of the objects 204 , 206 , 208 can be determined using statistical analysis. The statistical analysis can include identifying the attributes associated with each of the objects 204 , 206 , 208 , and generating a comparator list based on the identified data.
- an attribute rule set can be generated, and the list of attributes for each object can be compared to the attribute rule set.
- Objects 204 , 206 , 208 that have lists of attributes that do not correspond to the attribute rule set can be identified.
- reference attributes contained in the attribute rule set that are lacking from certain objects 204 , 206 , 208 can be identified, and corresponding identifiers can be generated.
- attributes associated with objects 204 , 206 , 208 that are not contained in the attribute rule set can be identified, and corresponding identifiers can be generated.
- one or more identifiers can be generated to identify the objects 204 , 206 , 208 for which reference attributes are lacking or which have associated attributes that are not reference attributes.
- the object identifiers and attribute identifiers then can be output in a manner that indicates which attributes are extra or lacking from each object.
- the attributes for the objects 204 , 206 , 208 can be automatically updated. For example, if an object 204 , 206 , 208 lacks an attribute that is contained in the attribute rule set, that attribute can be associated with the object 204 , 206 , 208 .
- the computer program code that defines the object can be updated by associating a suitable attribute tag with the object.
- an object 204 , 206 , 208 has attributes that are not contained in the attribute rule set, those attributes can be disassociated with the object 204 , 206 , 208 .
- the corresponding attribute tag can be removed from the computer program code. Any syntax changes that may needed to adjust for the addition or deletion of the attributes can be automatically implemented.
- the attribute rule set, or any other defined attributes indicate that “OK” is to be presented in capital letters, but an attribute is identified in which “Ok” is presented, the identified attribute can be automatically updated to recite “OK.”
- the graphical analysis software can include, or otherwise communicate with, a syntax editor that is configured to automatically implement syntax changes in the computer program code.
- each proposed change can be presented to a user via a suitable user interface, such as the GUI 202 , in order to prompt the user to accept or reject each corresponding change, addition or removal of attributes associated with the objects 204 , 206 , 208 to/from the computer program code.
- a suitable user interface such as the GUI 202
- the user can be presented with a group of objects 204 , 206 , 208 for which attributes are to be changed, added or removed, and the user can select one or more of these objects for which the changes are accepted or rejected.
- any such changes can be undone in response to a user request.
- Such user request can be entered into the graphical analysis software in any suitable manner.
- an undo button can be presented in the GUI 202 .
- a backup copy of the original source file for the view 200 can be saved so that in lieu of relying on a method of undoing changes that have been made, the backup copy of the original source file can be restored to replace a working copy of the source file.
- FIG. 3 is a flow chart illustrating a method 300 of analyzing objects from a GUI in accordance with another embodiment of the present invention.
- attributes assigned to various objects assigned to a view of a GUI can be dynamically scanned in order to identify attributes associated with each of the objects.
- a list of attributes can be generated.
- an attribute rule set can be generated based on the attributes associated with each of the objects.
- a determination can be made as to whether at least one of the objects has a list of attributes that does not correspond to lists of attributes for other objects. For example, the list of attributes for each object can be compared to the attribute rule set. In another arrangement, the attributes for each object can be compared to objects and attributes defined in an applicable standard or protocol.
- an identifier can be output.
- the identifier can indicate that the object has the list of attributes that does not correspond to the lists of attributes for the other objects (or the standard/protocol).
- 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).
- 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.
Landscapes
- Engineering & Computer Science (AREA)
- Software Systems (AREA)
- General Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- User Interface Of Digital Computer (AREA)
Abstract
Description
TABLE 1 | ||
<div class=“products”><a href=“product#1.html” title=“ | ||
# | ||
1” target=“_top”> |
||
alt=“space” /></div> | ||
TABLE 2 |
Output Design A Layout (Correlation) |
<results> |
<specificWidget type=“”> |
<property name=“” value=“” /> |
</specificWidget> |
</results> |
Output Design A Example |
<results> |
<widget type=“button”> |
<property name=“id” value=“button1” /> |
<property name=“label” value=“OK” /> |
<property name=“enabled” value=“true” /> - 1 of 3 of |
buttons have an “enabled” property |
</widget> |
<widget type=“button”> |
<property name=“id” value=“button2” /> |
<property name=“label” value=“Cancel” /> |
ENABLE PROPERTY MISSING |
</widget> |
<widget type=“button”> |
<property name=“id” value=“button3” /> |
<property name=“label” value=“Help” /> |
ENABLE PROPERTY MISSING |
</widget> |
<widget type=“img”> |
<property name=“src” value=“image src1” /> |
<property name=“altText” value=“image alt text1” /> - 2 of 3 |
images have an “altText” property |
</widget> |
<widget type=“img”> |
<property name=“src” value=“image src2” /> |
<property name=“altText” value=“image alt text2” /> |
</widget> |
<widget type=“img”> |
<property name=“src” value=“image src3” /> |
ALTTEXT PROPERTY MISSING |
</widget> |
</results> |
TABLE 3 |
Output Design B Layout (Tree) |
<widgets> |
<genericWidgetType> |
<widget property>count</widget property> |
</genericWidgetType> |
</widgets> |
Output Design B Example |
<widgets> |
<button> |
<value> |
<Ok>1</Ok> | - Non-standard ‘Ok’ label for ‘OK’ |
<OK>2</OK> | |
</value> | |
<id> | |
<button2>1</button2> | |
<button2>2</button2> | - Two buttons share the same ID |
</id> | |
</button> | |
</widgets> | |
Claims (15)
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US16/153,069 US11635946B2 (en) | 2009-12-29 | 2018-10-05 | Analyzing objects from a graphical interface for standards verification |
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US12/648,372 US10095485B2 (en) | 2009-12-29 | 2009-12-29 | Analyzing objects from a graphical interface for standards verification |
US16/153,069 US11635946B2 (en) | 2009-12-29 | 2018-10-05 | Analyzing objects from a graphical interface for standards verification |
Related Parent Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
US12/648,372 Continuation US10095485B2 (en) | 2009-12-29 | 2009-12-29 | Analyzing objects from a graphical interface for standards verification |
Publications (2)
Publication Number | Publication Date |
---|---|
US20190042208A1 US20190042208A1 (en) | 2019-02-07 |
US11635946B2 true US11635946B2 (en) | 2023-04-25 |
Family
ID=43618784
Family Applications (2)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
US12/648,372 Active 2032-08-20 US10095485B2 (en) | 2009-12-29 | 2009-12-29 | Analyzing objects from a graphical interface for standards verification |
US16/153,069 Active 2031-08-24 US11635946B2 (en) | 2009-12-29 | 2018-10-05 | Analyzing objects from a graphical interface for standards verification |
Family Applications Before (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
US12/648,372 Active 2032-08-20 US10095485B2 (en) | 2009-12-29 | 2009-12-29 | Analyzing objects from a graphical interface for standards verification |
Country Status (5)
Country | Link |
---|---|
US (2) | US10095485B2 (en) |
CN (1) | CN102725729B (en) |
DE (1) | DE112010003948T8 (en) |
GB (1) | GB2488651A (en) |
WO (1) | WO2011080062A1 (en) |
Families Citing this family (14)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US10095485B2 (en) | 2009-12-29 | 2018-10-09 | International Business Machines Corporation | Analyzing objects from a graphical interface for standards verification |
US9183653B2 (en) * | 2010-12-14 | 2015-11-10 | Microsoft Technology Licensing, Llc | Extensions for modifying a graphical object to display data |
US9594544B2 (en) | 2012-06-07 | 2017-03-14 | Microsoft Technology Licensing, Llc | Visualized code review |
US10091064B2 (en) * | 2013-06-12 | 2018-10-02 | Siemens Product Lifecycle Management Software Inc. | Systems and methods for stateless management of object properties |
US9576017B2 (en) * | 2014-02-03 | 2017-02-21 | Software Ag | Systems and methods for managing graphical model consistency |
US10097565B1 (en) | 2014-06-24 | 2018-10-09 | Amazon Technologies, Inc. | Managing browser security in a testing context |
US9336126B1 (en) * | 2014-06-24 | 2016-05-10 | Amazon Technologies, Inc. | Client-side event logging for heterogeneous client environments |
US20160350136A1 (en) * | 2015-05-27 | 2016-12-01 | Google Inc. | Assist layer with automated extraction |
WO2017164856A1 (en) | 2016-03-23 | 2017-09-28 | Entit Software Llc | Comparable user interface object identifications |
CN108089782B (en) * | 2016-11-21 | 2021-02-26 | 佳能株式会社 | Method and apparatus for suggesting changes to related user interface objects |
WO2020222219A1 (en) * | 2019-04-30 | 2020-11-05 | Walkme Ltd. | Gui element acquisition using a plurality of alternative representations of the gui element |
US11741074B2 (en) * | 2021-08-20 | 2023-08-29 | Fidelity Information Services, Llc | Automated user interface testing with machine learning |
CN113946332B (en) * | 2021-08-23 | 2023-04-25 | 芯华章科技股份有限公司 | Method and storage medium for displaying attributes based on GUI (graphical user interface) |
US12039145B2 (en) * | 2022-04-12 | 2024-07-16 | Lucid Software, Inc. | Legend of graphical objects |
Citations (18)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5600789A (en) | 1992-11-19 | 1997-02-04 | Segue Software, Inc. | Automated GUI interface testing |
US5974254A (en) | 1997-06-06 | 1999-10-26 | National Instruments Corporation | Method for detecting differences between graphical programs |
US6046740A (en) | 1997-02-07 | 2000-04-04 | Seque Software, Inc. | Application testing with virtual object recognition |
US6223185B1 (en) | 1998-07-31 | 2001-04-24 | International Business Machines Corporation | Method for defining composed object methods and attributes by dynamically presenting composite values and options |
US6429885B1 (en) | 1998-10-30 | 2002-08-06 | Sony Corporation | GUI resource editor for an embedded system |
US20040001092A1 (en) | 2002-06-27 | 2004-01-01 | Rothwein Thomas M. | Prototyping graphical user interfaces |
US6804684B2 (en) | 2001-05-07 | 2004-10-12 | Eastman Kodak Company | Method for associating semantic information with multiple images in an image database environment |
US20040267789A1 (en) | 2003-06-11 | 2004-12-30 | International Business Machines Corporation | Apparatus and method for adaptably acquiring attribute information |
US6865580B1 (en) | 1999-07-02 | 2005-03-08 | Microsoft Corporation | Dynamic multi-object collection and comparison and action |
US6891552B1 (en) | 2001-05-08 | 2005-05-10 | Microsoft Corporation | Specifiable user interfaces |
US7177852B2 (en) * | 2000-07-06 | 2007-02-13 | British Telecommunications Public Limited Company | Method and apparatus for extracting knowledge from software code or other structured data |
US20070136691A1 (en) | 2005-12-13 | 2007-06-14 | International Business Machines Corporation | Graphical User Interface Design Utility |
WO2007068527A1 (en) | 2005-12-15 | 2007-06-21 | International Business Machines Corporation | Method and system for assisting a software developer in creating source code for a computer program |
US7236973B2 (en) | 2002-11-27 | 2007-06-26 | Sap Aktiengesellschaft | Collaborative master data management system for identifying similar objects including identical and non-identical attributes |
US7325160B2 (en) | 2001-11-09 | 2008-01-29 | Wuxi Evermore Software, Inc. | Data processing system with data recovery |
US7353510B2 (en) | 2003-07-11 | 2008-04-01 | Computer Associates Think, Inc. | System and method for comparing objects |
US20110161874A1 (en) | 2009-12-29 | 2011-06-30 | International Business Machines Corporation | Analyzing objects from a graphical interface for standards verification |
US20120124495A1 (en) | 2009-11-23 | 2012-05-17 | Nitsan Amichai | System and method for object relationship identification in a user interface |
-
2009
- 2009-12-29 US US12/648,372 patent/US10095485B2/en active Active
-
2010
- 2010-12-14 GB GB1203474.0A patent/GB2488651A/en not_active Withdrawn
- 2010-12-14 WO PCT/EP2010/069563 patent/WO2011080062A1/en active Application Filing
- 2010-12-14 DE DE112010003948T patent/DE112010003948T8/en active Active
- 2010-12-14 CN CN201080060043.9A patent/CN102725729B/en active Active
-
2018
- 2018-10-05 US US16/153,069 patent/US11635946B2/en active Active
Patent Citations (26)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5600789A (en) | 1992-11-19 | 1997-02-04 | Segue Software, Inc. | Automated GUI interface testing |
US6046740A (en) | 1997-02-07 | 2000-04-04 | Seque Software, Inc. | Application testing with virtual object recognition |
US5974254A (en) | 1997-06-06 | 1999-10-26 | National Instruments Corporation | Method for detecting differences between graphical programs |
US6223185B1 (en) | 1998-07-31 | 2001-04-24 | International Business Machines Corporation | Method for defining composed object methods and attributes by dynamically presenting composite values and options |
US6429885B1 (en) | 1998-10-30 | 2002-08-06 | Sony Corporation | GUI resource editor for an embedded system |
US6865580B1 (en) | 1999-07-02 | 2005-03-08 | Microsoft Corporation | Dynamic multi-object collection and comparison and action |
US7177852B2 (en) * | 2000-07-06 | 2007-02-13 | British Telecommunications Public Limited Company | Method and apparatus for extracting knowledge from software code or other structured data |
US6804684B2 (en) | 2001-05-07 | 2004-10-12 | Eastman Kodak Company | Method for associating semantic information with multiple images in an image database environment |
US6891552B1 (en) | 2001-05-08 | 2005-05-10 | Microsoft Corporation | Specifiable user interfaces |
US7325160B2 (en) | 2001-11-09 | 2008-01-29 | Wuxi Evermore Software, Inc. | Data processing system with data recovery |
US20040001092A1 (en) | 2002-06-27 | 2004-01-01 | Rothwein Thomas M. | Prototyping graphical user interfaces |
US7236973B2 (en) | 2002-11-27 | 2007-06-26 | Sap Aktiengesellschaft | Collaborative master data management system for identifying similar objects including identical and non-identical attributes |
US20040267789A1 (en) | 2003-06-11 | 2004-12-30 | International Business Machines Corporation | Apparatus and method for adaptably acquiring attribute information |
US7353510B2 (en) | 2003-07-11 | 2008-04-01 | Computer Associates Think, Inc. | System and method for comparing objects |
US20070136691A1 (en) | 2005-12-13 | 2007-06-14 | International Business Machines Corporation | Graphical User Interface Design Utility |
US8677272B2 (en) | 2005-12-13 | 2014-03-18 | International Business Machines Corporation | Graphical user interface design utility |
WO2007068527A1 (en) | 2005-12-15 | 2007-06-21 | International Business Machines Corporation | Method and system for assisting a software developer in creating source code for a computer program |
US8266585B2 (en) | 2005-12-15 | 2012-09-11 | International Business Machines Corporation | Assisting a software developer in creating source code for a computer program |
US20080320438A1 (en) * | 2005-12-15 | 2008-12-25 | International Business Machines Corporation | Method and System for Assisting a Software Developer in Creating Source code for a Computer Program |
US20120124495A1 (en) | 2009-11-23 | 2012-05-17 | Nitsan Amichai | System and method for object relationship identification in a user interface |
US20110161874A1 (en) | 2009-12-29 | 2011-06-30 | International Business Machines Corporation | Analyzing objects from a graphical interface for standards verification |
WO2011080062A1 (en) | 2009-12-29 | 2011-07-07 | International Business Machines Corporation | Analyzing objects from a graphical interface for standards verification |
GB2488651A (en) | 2009-12-29 | 2012-09-05 | Ibm | Analyzing objects from a graphical interface for standards verification |
CN102725729A (en) | 2009-12-29 | 2012-10-10 | 国际商业机器公司 | Analyzing objects from a graphical interface for standards verification |
DE112010003948T8 (en) | 2009-12-29 | 2012-12-27 | International Business Machines Corporation | Evaluate GUI objects to check standards |
US10095485B2 (en) | 2009-12-29 | 2018-10-09 | International Business Machines Corporation | Analyzing objects from a graphical interface for standards verification |
Non-Patent Citations (11)
Title |
---|
U.S. Appl. No. 12/648,372, Decision on Appeal, Dec. 18, 2017, 11 pg. |
U.S. Appl. No. 12/648,372, Decision on Appeal, Sep. 30, 2015,11 pg. |
U.S. Appl. No. 12/648,372, Examiner's Answer, dated Feb. 14, 2013, 22 pg. |
U.S. Appl. No. 12/648,372, Examiner's Answer, dated Feb. 16, 2017, 11 pg. |
U.S. Appl. No. 12/648,372, Final Office Action, dated Aug. 7, 2012, 15 pg. |
U.S. Appl. No. 12/648,372, Final Office Action, dated Jun. 20, 2016, 12 pg. |
U.S. Appl. No. 12/648,372, Non-Final Office Action, dated Jan. 15, 2016, 9 pg. |
U.S. Appl. No. 12/648,372, Non-Final Office Action, dated Mar. 1, 2012, 13 pg. |
U.S. Appl. No. 12/648,372, Notice of Allowance, dated May 21, 2018, 10 pg. |
UK Appin. No. GB1203474.0, Examination Report Under Section 18(3), dated Nov. 26, 2015, 5 pg. |
WIPO Appin. No. PCT/EP2010/069563, International Search Report and Written Opinion, dated Apr. 20, 2011, 9 pg. |
Also Published As
Publication number | Publication date |
---|---|
CN102725729A (en) | 2012-10-10 |
CN102725729B (en) | 2016-04-20 |
US10095485B2 (en) | 2018-10-09 |
GB2488651A (en) | 2012-09-05 |
US20110161874A1 (en) | 2011-06-30 |
DE112010003948T8 (en) | 2012-12-27 |
DE112010003948T5 (en) | 2012-10-25 |
US20190042208A1 (en) | 2019-02-07 |
GB201203474D0 (en) | 2012-04-11 |
WO2011080062A1 (en) | 2011-07-07 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US11635946B2 (en) | Analyzing objects from a graphical interface for standards verification | |
US8429194B2 (en) | Document-based workflows | |
US10324828B2 (en) | Generating annotated screenshots based on automated tests | |
US8010946B2 (en) | Apparatus for analysing and organizing artifacts in a software application | |
US20080195377A1 (en) | Method, device, and program product for verifying translation in resource file | |
US9189462B2 (en) | Bidirectional text checker | |
US9146945B2 (en) | Automated system and method of data scrubbing | |
EP2290530A1 (en) | Widget framework | |
CN104376043B (en) | Log recording and display methods and device | |
US20220350857A1 (en) | Methods and systems for browser extension used to generate relative xpath, absolute xpath and/or css selectors | |
EP3113016A1 (en) | Tracing dependencies between development artifacts in a development project | |
US20140006980A1 (en) | Interactive development and testing message models | |
US9390073B2 (en) | Electronic file comparator | |
US9104573B1 (en) | Providing relevant diagnostic information using ontology rules | |
US20140304686A1 (en) | Responding to a problem during software testing | |
US20140173410A1 (en) | Drawing notes manager | |
US20210200833A1 (en) | Health diagnostics and analytics for object repositories | |
US8881006B2 (en) | Managing digital signatures | |
US20100250621A1 (en) | Financial-analysis support apparatus and financial-analysis support method | |
US9582782B2 (en) | Discovering a reporting model from an existing reporting environment | |
US8538995B2 (en) | Device and method for automatically detecting an unclear description | |
US20210232391A1 (en) | System and Method for the Delivery of Software Documentation | |
JP5202655B2 (en) | Business flowchart search device and program | |
KR101049895B1 (en) | Electronic document editor | |
Cruz et al. | Snapshot testing in practice: Benefits and drawbacks |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
AS | Assignment |
Owner name: INTERNATIONAL BUSINESS MACHINES CORPORATION, NEW YORK Free format text: ASSIGNMENT OF ASSIGNORS INTEREST;ASSIGNOR:PRESTON, BRIAN P.;REEL/FRAME:047083/0996 Effective date: 20180821 Owner name: INTERNATIONAL BUSINESS MACHINES CORPORATION, NEW Y Free format text: ASSIGNMENT OF ASSIGNORS INTEREST;ASSIGNOR:PRESTON, BRIAN P.;REEL/FRAME:047083/0996 Effective date: 20180821 |
|
FEPP | Fee payment procedure |
Free format text: ENTITY STATUS SET TO UNDISCOUNTED (ORIGINAL EVENT CODE: BIG.); ENTITY STATUS OF PATENT OWNER: LARGE ENTITY |
|
STPP | Information on status: patent application and granting procedure in general |
Free format text: DOCKETED NEW CASE - READY FOR EXAMINATION |
|
STPP | Information on status: patent application and granting procedure in general |
Free format text: RESPONSE TO NON-FINAL OFFICE ACTION ENTERED AND FORWARDED TO EXAMINER |
|
STPP | Information on status: patent application and granting procedure in general |
Free format text: FINAL REJECTION MAILED |
|
STCV | Information on status: appeal procedure |
Free format text: APPEAL READY FOR REVIEW |
|
STCV | Information on status: appeal procedure |
Free format text: ON APPEAL -- AWAITING DECISION BY THE BOARD OF APPEALS |
|
STCV | Information on status: appeal procedure |
Free format text: BOARD OF APPEALS DECISION RENDERED |
|
STCV | Information on status: appeal procedure |
Free format text: REQUEST RECONSIDERATION AFTER BOARD OF APPEALS DECISION |
|
STCV | Information on status: appeal procedure |
Free format text: BOARD OF APPEALS DECISION RENDERED AFTER REQUEST FOR RECONSIDERATION |
|
STPP | Information on status: patent application and granting procedure in general |
Free format text: DOCKETED NEW CASE - READY FOR EXAMINATION |
|
STPP | Information on status: patent application and granting procedure in general |
Free format text: NOTICE OF ALLOWANCE MAILED -- APPLICATION RECEIVED IN OFFICE OF PUBLICATIONS |
|
AS | Assignment |
Owner name: INTERNATIONAL BUSINESS MACHINES CORPORATION, NEW YORK Free format text: EMPLOYMENT AGREEMENT;ASSIGNOR:DOUGHTY, CHRIS;REEL/FRAME:062942/0450 Effective date: 20001009 Owner name: INTERNATIONAL BUSINESS MACHINES CORPORATION, NEW YORK Free format text: EMPLOYMENT AGREEMENT;ASSIGNOR:LUK, BRYANT GENEPANG;REEL/FRAME:062942/0479 Effective date: 20060320 |
|
STCF | Information on status: patent grant |
Free format text: PATENTED CASE |