DETAILED ACTION
Notice of Pre-AIA or AIA Status
The present application, filed on or after March 16, 2013, is being examined under the first inventor to file provisions of the AIA .
This action is in response to the application filed on 03/27/2024.
Information Disclosure Statement
The information disclosure statement (IDS) submitted on 03/27/2024 is in compliance with the provisions of 37 CFR 1.97. Accordingly, the information disclosure statement is being considered by the examiner.
However, note that U.S. Patents Cite No. 6, 7383512-B1 has an incorrect issue date of 2008-03-03. It has been corrected to 2008-06-03 by the examiner.
Examiner’s Notes
Examiner cites particular paragraphs, figures, and line number in the references as applied to the claims below for the convenience of the applicant. Although the specified citations are representative of the teachings in the art and are applied to the specific limitations within the individual claim, other passages and figures may apply as well. It is respectfully requested that, in preparing responses, the applicant fully consider the references in their entirety as potentially teaching all or part of the claimed invention, as well as the context of the passage as taught by the prior art or disclosed by the examiner. As a disclaimer, the use of underlining in direct quotes is done by the examiner for emphasis. Direct quotes are not originally underlined in the published references cited.
Claim Rejections - 35 USC § 112
The following is a quotation of 35 U.S.C. 112(b):
(b) CONCLUSION.—The specification shall conclude with one or more claims particularly pointing out and distinctly claiming the subject matter which the inventor or a joint inventor regards as the invention.
The following is a quotation of 35 U.S.C. 112 (pre-AIA ), second paragraph:
The specification shall conclude with one or more claims particularly pointing out and distinctly claiming the subject matter which the applicant regards as his invention.
Claim 5 and 15 are rejected under 35 U.S.C. 112(b) or 35 U.S.C. 112 (pre-AIA ), second paragraph, as being indefinite for failing to particularly point out and distinctly claim the subject matter which the inventor or a joint inventor (or for applications subject to pre-AIA 35 U.S.C. 112, the applicant), regards as the invention.
Claim 5, line 3, “the at least one element” is unclear whether it refers to “the at least one element” in line 1 or “at least one element” in lines 1-2 of claim 4. For the examination purposes, “the at least one element based at least on the particular type” will be treated as --the at least one element of the particular type--. Claim 15 has the same issue.
Claim Rejections - 35 USC § 101
35 U.S.C. 101 reads as follows:
Whoever invents or discovers any new and useful process, machine, manufacture, or composition of matter, or any new and useful improvement thereof, may obtain a patent therefor, subject to the conditions and requirements of this title.
Claims 1-20 are rejected under 35 U.S.C. 101.
Step 1 Analysis: Claims 1-10 are directed to a system and falls within the statutory category of processes. Claims 11-19 are directed to a method and fall within the statutory category of processes. Claim 20 is directed to a product, being a non-transitory computer readable medium, and falls within the statutory category of articles of manufactures. Therefore, "Are the claims to a process, machine, manufacture or composition of matter?" Yes. In order to evaluate the Step 2A inquiry "Is the claim directed to a law of nature, a natural phenomenon or an abstract idea?" we must determine, at Step 2A Prong 1, whether the claim recites a law of nature, a natural phenomenon, or an abstract idea (see MPEP § 2106.04).
Regarding Claims 1, 11, 20:
Step 2A Prong 1 Analysis:
The claim limitation recites, define a class that includes at least one generic element control method; This limitation covers performance in the mind in the form of evaluation and judgement with the assistance of pen and paper. For example, a person of ordinary skill in the art may observe a generic element control method and decide a class definition that fits. Then, with the assistance of pen and paper, write pseudocode in plain language that defines a class including at least one generic element control method. Therefore, this limitation recites a mental process. (See MPEP 2106.04(a)(2)).
[] the class for a specific user interface type that requires the at least one generic element control method; This limitation covers performance in the mind in the form of evaluation and judgement with the assistance of pen and paper. For example, a person of ordinary skill in the art may observe a specific user interface type, and choose a fitting class to implement according to the required generic element control method. The person may implement the class with the assistance of pen and paper to write pseudocode in plain language. Therefore, this limitation recites a mental process. (See MPEP 2106.04(a)(2)).
generate a unique name for at least one element on a user interface of the specific user interface type; This limitation covers performance in the mind in the form of evaluation and judgement with the assistance of pen and paper. For example, a person may evaluate the user interface of the specific user interface type and generate a unique name corresponding to an element. Therefore, this limitation recites a mental process. (See MPEP 2106.04(a)(2)).
map the unique name to a locator for the at least one element; This limitation covers performance in the mind in the form of evaluation and judgement with the assistance of pen and paper. For example, a person of ordinary skill of the art may observe the unique name(s) and locator of the element(s) and decide the corresponding mapping. The assistance of pen and paper may allow for the mapping to be in chart format, for example, to allow for simple mapping with connecting lines. Therefore, this limitation recites a mental process. (See MPEP 2106.04(a)(2)).
[] to perform automation testing on the user interface based at least on the mapping and the implemented class; This limitation covers performance in the mind in the form of evaluation and judgement with the assistance of pen and paper. A person of ordinary skill of the art may make a judgement of the user interface based on the mapping and implemented class, to then create standard tests to catch common mistakes made in the art, with the assistance of pen and paper. A person may test the interface, for example, by testing the logic with simple input and evaluating if the outcome is expected—similar to testing a mathematical equation. Therefore, this limitation recites a mental process. (See MPEP 2106.04(a)(2)).
Step 2A Prong 2 Analysis:
execute a test script; This limitation recites additional elements that merely recite instructions to implement an abstract idea on a generic computer, or merely uses a generic computer or computer components as a tool to perform the abstract idea. (See MPEP 2106.05(f)).
implement; This limitation recites additional elements that merely recite instructions to implement an abstract idea on a generic computer, or merely uses a generic computer or computer components as a tool to perform the abstract idea. The element, ‘implement’, is merely directing the judicial exception to be applied onto a generic computer when viewing the claim as a whole. (See MPEP 2106.05(f)).
Claim 1 additionally recites, A computer server system comprising: at least one processor; and a memory coupled to the at least one processor and storing processor-executable instructions which, when executed by the at least one processor, configure the at least one processor to; Claim 20 additionally recites, A non-transitory computer readable medium having stored thereon processor-executable instructions which, when executed by at least one processor, configure the at least one processor to; These limitations recite additional elements that merely recite instructions to implement an abstract idea on a generic computer, or merely uses a generic computer or computer components as a tool to perform the abstract idea. (See MPEP 2106.05(f)).
Therefore, "Do the claims recite additional elements that integrate the judicial exception into a practical application? No, even when viewed in combination, these additional elements do not integrate the abstract idea into a practical application and they do not impose any meaningful limits on practicing the abstract idea. The claims will be analyzed further below in Step 2B as being well-understood, routine, and conventional.
Step 2B Analysis:
The claims do not include additional elements that are sufficient to amount to significantly more than the judicial exception. As discussed above with respect to the integration of the abstract ideas into a practical application, all of the additional elements merely recite generic computer and computer components, and merely applying the abstract idea, which is well-understood, routine, and conventional (see MPEP § 2106.05(d)(II) for court decisions recognizing that this activity is well-understood, routine, and conventional.). Respectively, thus do not amount to significantly more than the judicial exception. The claims are not patent eligible.
Regarding Claims 2, 20:
Step 2A Prong 1 Analysis:
The claim limitation recites, the at least one generic element control method includes at least one of getting an attribute within the class, setting an attribute within the class, [] a particular element or checking a particular element; This limitation covers performance in the mind in the form of evaluation and judgement with the assistance of pen and paper. For example, a person of ordinary skill in the art may observe whether the generic element control method includes one of the listed limitations. The person may also decide on including at least one of the listed limitations, such as checking a particular element by writing the included limitation with pseudocode in plain language, using the assistance of pen and paper. Therefore, this limitation recites a mental process. (See MPEP 2106.04(a)(2)).
Step 2A Prong 2 Analysis:
clicking; This limitation recites additional elements that merely recite instructions to implement an abstract idea on a generic computer, or merely uses a generic computer or computer components as a tool to perform the abstract idea. (See MPEP 2106.05(f)).
Therefore, "Do the claims recite additional elements that integrate the judicial exception into a practical application? No, even when viewed in combination, these additional elements do not integrate the abstract idea into a practical application and they do not impose any meaningful limits on practicing the abstract idea. The claims will be analyzed further below in Step 2B as being well-understood, routine, and conventional.
Step 2B Analysis:
The claims do not include additional elements that are sufficient to amount to significantly more than the judicial exception. As discussed above with respect to the integration of the abstract ideas into a practical application, all of the additional elements merely recite generic computer and computer components, and merely applying the abstract idea, which is well-understood, routine, and conventional (see MPEP § 2106.05(d)(II) for court decisions recognizing that this activity is well-understood, routine, and conventional.). Respectively, thus do not amount to significantly more than the judicial exception. The claims are not patent eligible.
Regarding Claims 3, 13:
Step 2A Prong 1 Analysis:
See corresponding analysis of Claim 1 and 11.
Step 2A Prong 2 Analysis:
implement the class for the specific user interface type and for a particular automation testing tool; This limitation recites additional elements that indicate a field of use or technological environment in which to apply a judicial exception. The claim merely recites the field of uses for the class to be implemented being, “the specific user interface type” and “for a particular automation testing tool”, in order to perform the abstract idea. (See MPEP § 2106.05(h)).
Claim 3 additionally recites, wherein the instructions, when executed by the at least one processor, further configure the at least one processor to; This limitation recites additional elements that merely recite instructions to implement an abstract idea on a generic computer, or merely uses a generic computer or computer components as a tool to perform the abstract idea. (See MPEP 2106.05(f)).
Therefore, "Do the claims recite additional elements that integrate the judicial exception into a practical application? No, even when viewed in combination, these additional elements do not integrate the abstract idea into a practical application and they do not impose any meaningful limits on practicing the abstract idea. The claims will be analyzed further below in Step 2B as being well-understood, routine, and conventional.
Step 2B Analysis:
The claim does not include additional elements that are sufficient to amount to significantly more than the judicial exception. As discussed above with respect to the integration of the abstract ideas into a practical application, all of the additional elements are “mere instructions to apply”, and merely indicate a field of use or technological environment in which to apply a judicial exception. The claim is not patent eligible.
Regarding Claims 4, 14:
Step 2A Prong 1 Analysis:
See corresponding analysis of Claim 1 and 11.
Step 2A Prong 2 Analysis:
The claim limitation additionally recites, the at least one element includes at least one element of a particular type; This limitation recites additional elements that merely recite insignificant extra-solution activity such as pre-solution and/or post-solution activities used as a step for gathering data to obtain information, which does not integrate the judicial exception into a practical application (see MPEP § 2106.05(g)), and will be analyzed further below in Step 2B as being well-understood, routine, and conventional.
Therefore, "Do the claims recite additional elements that integrate the judicial exception into a practical application? No, even when viewed in combination, these additional elements do not integrate the abstract idea into a practical application and they do not impose any meaningful limits on practicing the abstract idea. The claims will be analyzed further below in Step 2B as being well-understood, routine, and conventional.
Step 2B Analysis:
The claims do not include additional elements that are sufficient to amount to significantly more than the judicial exception. As discussed above with respect to the integration of the abstract ideas into a practical application, all of the additional elements are insignificant extra-solution activities such as gathering, displaying, updating, transmitting, and storing data, which is well-understood, routine, and conventional (see MPEP § 2106.05(d)(II) for court decisions recognizing that this activity is well-understood, routine, and conventional.). Respectively, thus do not amount to significantly more than the judicial exception. The claims are not patent eligible.
Regarding Claims 5, 15:
Step 2A Prong 1 Analysis:
The claim limitation recites, determine the locator for the at least one element based at least on the particular type; This limitation covers performance in the mind in the form of evaluation and judgement with the assistance of pen and paper. A person of ordinary skill in the art may ‘determine’ the locator through mental observation, according to the element’s particular type. Therefore, this limitation recites a mental process. (See MPEP § 2106.04(a)(2)).
Step 2A Prong 2 Analysis:
Claim 5 additionally recites, the instructions, when executed by the at least one processor, further configure the at least one processor to; This limitation recites additional elements that merely recite instructions to implement an abstract idea on a generic computer, or merely uses a generic computer or computer components as a tool to perform the abstract idea. (See MPEP § 2106.05(f)).
Therefore, "Do the claims recite additional elements that integrate the judicial exception into a practical application? No, even when viewed in combination, these additional elements do not integrate the abstract idea into a practical application and they do not impose any meaningful limits on practicing the abstract idea. The claims will be analyzed further below in Step 2B as being well-understood, routine, and conventional.
Step 2B Analysis:
The claims do not include additional elements that are sufficient to amount to significantly more than the judicial exception. As discussed above with respect to the integration of the abstract ideas into a practical application, all of the additional elements merely recite generic computer and computer components, and merely applying the abstract idea, which is well-understood, routine, and conventional (see MPEP § 2106.05(d)(II) for court decisions recognizing that this activity is well-understood, routine, and conventional.). Respectively, thus do not amount to significantly more than the judicial exception. The claims are not patent eligible.
Regarding Claim 6:
Step 2A Prong 1 Analysis:
See corresponding analysis for Claim 1.
Step 2A Prong 2 Analysis:
The claim limitation additionally recites, the specific user interface type includes at least one of a web-based user interface, a Windows-based user interface, or a mobile-based user interface; This limitation recites additional elements that indicate a field of use or technological environment in which to apply a judicial exception. The claim merely recites the technological environments of the user interface which may be “web-based”, “Windows-based”, or “mobile-based”, to perform the abstract idea. (See MPEP § 2106.05(h)).
Therefore, "Do the claims recite additional elements that integrate the judicial exception into a practical application? No, even when viewed in combination, these additional elements do not integrate the abstract idea into a practical application and they do not impose any meaningful limits on practicing the abstract idea. The claims will be analyzed further below in Step 2B as being well-understood, routine, and conventional.
Step 2B Analysis:
The claim does not include additional elements that are sufficient to amount to significantly more than the judicial exception. As discussed above with respect to the integration of the abstract ideas into a practical application, all of the additional elements merely indicate a field of use or technological environment in which to apply a judicial exception. The claim is not patent eligible.
Regarding Claims 7, 16:
Step 2A Prong 1 Analysis:
The claim limitation recites, [] to generate at least one of the unique name for the at least one element on the user interface or the locator for the at least one element; This limitation covers performance in the mind in the form of evaluation and judgement with the assistance of pen and paper. For example, a person of ordinary skill in the art may make a judgement based on an element within the user interface or locator before deciding a name and whether said name is unique. Therefore, this limitation recites a mental process. (See MPEP § 2106.04(a)(2)).
Step 2A Prong 2 Analysis:
engage an artificial intelligence engine; This limitation recites additional elements that merely recite instructions to implement an abstract idea on a generic computer, or merely uses a generic computer or computer components as a tool to perform the abstract idea. (See MPEP § 2106.05(f)).
Claim 7 additionally recites, the instructions, when executed by the at least one processor, further configure the at least one processor to; This limitation recites additional elements that merely recite instructions to implement an abstract idea on a generic computer, or merely uses a generic computer or computer components as a tool to perform the abstract idea. (See MPEP § 2106.05(f)).
Therefore, "Do the claims recite additional elements that integrate the judicial exception into a practical application? No, even when viewed in combination, these additional elements do not integrate the abstract idea into a practical application and they do not impose any meaningful limits on practicing the abstract idea. The claims will be analyzed further below in Step 2B as being well-understood, routine, and conventional.
Step 2B Analysis:
The claims do not include additional elements that are sufficient to amount to significantly more than the judicial exception. As discussed above with respect to the integration of the abstract ideas into a practical application, all of the additional elements merely recite generic computer and computer components, and merely applying the abstract idea, which is well-understood, routine, and conventional (see MPEP § 2106.05(d)(II) for court decisions recognizing that this activity is well-understood, routine, and conventional.). Respectively, thus do not amount to significantly more than the judicial exception. The claims are not patent eligible.
Regarding Claims 8, 17:
Step 2A Prong 1 Analysis:
The claim limitation recites, generate a first [] that includes a first plurality of locators defined for a first plurality of elements and identifies each first element as a particular element type; This limitation covers performance in the mind in the form of evaluation and judgement with the assistance of pen and paper. Therefore, this limitation recites a mental process. (See MPEP § 2106.04(a)(2)).
[] to determine a second plurality of locators for a second plurality of elements; This limitation covers performance in the mind in the form of evaluation and judgement with the assistance of pen and paper. To ‘determine’ is a mental process a person may perform. Therefore, this limitation recites a mental process. (See MPEP § 2106.04(a)(2)).
generate a second [] that includes the modified one or more of the second plurality of locators for the second plurality of elements and identifies each second element as the particular element type; This limitation covers performance in the mind in the form of evaluation and judgement with the assistance of pen and paper. A person may generate a second training set mentally, such as in the form of simple text, with the aid of pen and paper. Additionally, ‘identifies’, on elements according to particular element types is able to be performed mentally. Therefore, this limitation recites a mental process. (See MPEP § 2106.04(a)(2)).
Step 2A Prong 2 Analysis:
train the artificial intelligence engine in a first stage using the first training set; This limitation recites additional elements that merely recite insignificant extra-solution activity such as pre-solution and/or post-solution activities used as a step for gathering data to obtain information, which does not integrate the judicial exception into a practical application (see MPEP § 2106.05(g)), and will be analyzed further below in Step 2B as being well-understood, routine, and conventional.
modify one or more of the second plurality of locators for the second plurality of elements; This limitation recites additional elements that merely recite insignificant extra-solution activity such as gathering and updating data, which does not integrate the judicial exception into a practical application (see MPEP § 2106.05(g)), and will be analyzed further below in Step 2B as being well-understood, routine, and conventional.
engage an artificial intelligence engine; This limitation recites additional elements that merely recite instructions to implement an abstract idea on a generic computer, or merely uses a generic computer or computer components as a tool to perform the abstract idea. (See MPEP § 2106.05(f)).
training set; This limitation recites additional elements that merely recite instructions to implement an abstract idea on a generic computer, or merely uses a generic computer or computer components as a tool to perform the abstract idea. Although the training set may be generated in the human mind with the aid of pen and paper (such as a writing down a set in text), in the context of the entire claim, a training set is in a format for the artificial intelligence engine. Therefore, it is merely applied to a generic computer and does not significantly amount to more than the judicial exception. (See MPEP § 2106.05(f)).
retrain the artificial intelligence engine in a second stage using the second training set; This limitation recites additional elements that merely recite insignificant extra-solution activity such as pre-solution and/or post-solution activities used as a step for gathering data to obtain information, which does not integrate the judicial exception into a practical application (see MPEP § 2106.05(g)), and will be analyzed further below in Step 2B as being well-understood, routine, and conventional.
Claim 8 additionally recites, the instructions, when executed by the at least one processor, further configure the at least one processor to; This limitation recites additional elements that merely recite instructions to implement an abstract idea on a generic computer, or merely uses a generic computer or computer components as a tool to perform the abstract idea. (See MPEP § 2106.05(f)).
Therefore, "Do the claims recite additional elements that integrate the judicial exception into a practical application? No, even when viewed in combination, these additional elements do not integrate the abstract idea into a practical application and they do not impose any meaningful limits on practicing the abstract idea. The claims will be analyzed further below in Step 2B as being well-understood, routine, and conventional.
Step 2B Analysis:
The claims do not include additional elements that are sufficient to amount to significantly more than the judicial exception. As discussed above with respect to the integration of the abstract ideas into a practical application, all of the additional elements are “mere instructions to apply”, and insignificant extra-solution activity such as gathering, displaying, updating, transmitting, and storing data, which is well-understood, routine, and conventional (see MPEP § 2106.05(d)(II) for court decisions recognizing that this activity is well-understood, routine, and conventional.). Respectively, thus do not amount to significantly more than the judicial exception. The claim are not patent eligible.
Regarding Claims 9, 18:
Step 2A Prong 1 Analysis:
The claim limitation recites, [] to crawl through the user interface of the specific user interface type to identify the at least one element and to automatically generate the locator for the at least one element; This limitation covers performance in the mind in the form of evaluation and judgement with the assistance of pen and paper. A person may observe with the mind the entire user interface, ‘crawling’ through the interface piece by piece.” ‘Identify’ is also a mental process, where a person may identify the at least one element. A person may also generate a locator for the element in the mind. Therefore, this limitation recites a mental process. (See MPEP § 2106.04(a)(2)).
Step 2A Prong 2 Analysis:
the artificial intelligence engine engages a generative artificial intelligence component; This limitation recites additional elements that merely recite instructions to implement an abstract idea on a generic computer, or merely uses a generic computer or computer components as a tool to perform the abstract idea. (See MPEP § 2106.05(f)).
Therefore, "Do the claims recite additional elements that integrate the judicial exception into a practical application? No, even when viewed in combination, these additional elements do not integrate the abstract idea into a practical application and they do not impose any meaningful limits on practicing the abstract idea. The claims will be analyzed further below in Step 2B as being well-understood, routine, and conventional.
Step 2B Analysis:
The claims do not include additional elements that are sufficient to amount to significantly more than the judicial exception. As discussed above with respect to the integration of the abstract ideas into a practical application, all of the additional elements merely recite generic computer and computer components, and merely applying the abstract idea, which is well-understood, routine, and conventional (see MPEP § 2106.05(d)(II) for court decisions recognizing that this activity is well-understood, routine, and conventional.). Respectively, thus do not amount to significantly more than the judicial exception. The claims are not patent eligible.
Regarding Claims 10, 19:
Step 2A Prong 1 Analysis:
The claim limitation recites, [] is engaged to generate a page object model by mapping the unique name to the locator for the at least one element; This limitation covers performance in the mind in the form of evaluation and judgement with the assistance of pen and paper. For example, a person of ordinary skill in the art may create a simple chart or table, with the assistance of pen and paper, for a design of the page object model with mapping. Therefore, this limitation recites a mental process. (See MPEP § 2106.04(a)(2)).
Step 2A Prong 2 Analysis:
the generative artificial intelligence component; This limitation recites additional elements that merely recite instructions to implement an abstract idea on a generic computer, or merely uses a generic computer or computer components as a tool to perform the abstract idea. (See MPEP § 2106.05(f)).
Therefore, "Do the claims recite additional elements that integrate the judicial exception into a practical application? No, even when viewed in combination, these additional elements do not integrate the abstract idea into a practical application and they do not impose any meaningful limits on practicing the abstract idea. The claims will be analyzed further below in Step 2B as being well-understood, routine, and conventional.
Step 2B Analysis:
The claims do not include additional elements that are sufficient to amount to significantly more than the judicial exception. As discussed above with respect to the integration of the abstract ideas into a practical application, all of the additional elements merely recite generic computer and computer components, and merely applying the abstract idea, which is well-understood, routine, and conventional (see MPEP § 2106.05(d)(II) for court decisions recognizing that this activity is well-understood, routine, and conventional.). Respectively, thus do not amount to significantly more than the judicial exception. The claims are not patent eligible.
Claim Rejections - 35 USC § 102
The following is a quotation of the appropriate paragraphs of 35 U.S.C. 102 that form the basis for the rejections under this section made in this Office action:
A person shall be entitled to a patent unless –
(a)(2) the claimed invention was described in a patent issued under section 151, or in an application for patent published or deemed published under section 122(b), in which the patent or application, as the case may be, names another inventor and was effectively filed before the effective filing date of the claimed invention.
Claims 1-6, 11-15, and 20 are rejected under 35 U.S.C. 102(a)(2) as being anticipated by Shi et al. (U.S. Publication No. 20240403002 A1, hereinafter Shi).
Regarding Claim 1:
Shi discloses, “A computer server system comprising: at least one processor; and a memory coupled to the at least one processor and storing processor-executable instructions which, when executed by the at least one processor, configure the at least one processor to” (Paragraph [0018] teaches, “In another general embodiment, a system includes processor, and logic integrated with the processor, executable by the processor, or integrated with and executable by the processor. The logic is configured to perform the foregoing methodology”. In paragraph [0021], “Computing environment 100 contains an example of an environment for the execution of at least some of the computer code involved in performing the inventive methods … computing environment 100 includes … computer 101, … remote server 104 … In this embodiment, computer 101 includes processor set 110 … volatile memory 112, persistent storage 113 (including operating system 122 … ), … storage 124 ”.);
“define a class that includes at least one generic element control method” (Paragraph [0044] teaches, “In preferred aspects, a page object may be defined as an object-oriented class that serves as an interface to a page of the automation testing. The test then uses the methods of this page object class whenever it needs to interact with the UI of that page”.);
“implement the class for a specific user interface type that requires the at least one generic element control method” (In paragraph [0046], “The page object code template may be generated for allowing users to invoke a method on the page which is the class of page object”. In paragraph [0047], “mappings of the elements and/or the locators to page object variables in the code are received from a user … the user may type in the correlations between the two items to be mapped, may drag and drop the items via a graphical user interface”.);
“generate a unique name for at least one element on a user interface of the specific user interface type” (In paragraph [0042], “While in a preferred embodiment the computer performing the method identifies each web element on the web page and generates the locators of each web element visibly on the user interface, the elements of the web page that are identified are preferably functional elements, e.g., buttons, fields, etc.”. And those functional elements are given names as stated in paragraph [0057], “code references, such as variables and functional names, are rendered visibly on the user interface displaying the web page”.);
(Examiner’s Note #1: The BRI (Broadest Reasonable Interpretation) of ‘a unique name’ is interpreted by the examiner in light of the examined case’s specification from paragraph [0070], “For example, the unique name may include an instance variable name or an instance method name”.)
“map the unique name to a locator for the at least one element; and” (In paragraph [0016], “analyzing document object model code for generating locators of elements of a web page … Mappings of the elements and/or the locators to page object variables are received from a user”.);
“execute a test script to perform automation testing on the user interface based at least on the mapping and the implemented class” (In paragraphs [0048]-[0050], “With understanding of the relationship between each object on the same web page, the methodology allows users to map web elements to page object variables, and therefore, the page object class with variable is initiated. In operation 210, representations of the mappings are output visibly on the user interface displaying the web page ... For example, a table of the mappings may be presented overlaying the web page, in a separate window, etc. At some point before or during the method 200, the user, e.g., a test developer, may create and/or finish the automation test code for the specific elements. Moreover, test scripts may be received for at least some of the elements”. And paragraph [0063], “The locators may be used such that the automation script knows how to run the test method with the correct location on the login page”.).
Regarding Claim 2:
Shi discloses, “The computer server system of claim 1, wherein the at least one generic element control method includes at least one of getting an attribute within the class, setting an attribute within the class, clicking a particular element or ” (Paragraph [0064] teaches, “In step 3., the user is allowed to map the locator of web elements (e.g., user name and user password fields 314, 316) to the corresponding page object variables (e.g., the variable of user name and password in the class) visibly and therefore the page object class with the variables defined is initiated on the user interface. Thus, an output mapping 318 is created, as shown in the fifth column 312. FIG. 4 depicts an exemplary mapping of the web elements (e.g., via the locators 402 of the web elements) to the page object variables found in the automation script of the fourth column 310. The mapping may help the user generate the test code for the automation script. Note also, as shown in the fourth column 310, the page object model output 319 may list the object variable, the value of the object, and the logic corresponding to the object”. In paragraph [0070], “Thus, the methodology may include receiving a selection of one of the objects on the user interface; and in response to receiving the selection, outputting a code block associated with the object. In one example, the user clicks the object linked to an integrated development environment (IDE) code block, resulting in opening of a window to the IDS code block”.).
Regarding Claim 3:
Shi discloses, “The computer server system of claim 1, wherein the instructions, when executed by the at least one processor, further configure the at least one processor to: implement the class for the specific user interface type and for a particular automation testing tool” (In paragraphs [0064]-[0065], “the user is allowed to map the locator of web elements … to the corresponding page object variables … visibly and therefore the page object class with the variables defined is initiated on the user interface. ... FIG. 4 depicts an exemplary mapping of the web elements (e.g., via the locators 402 of the web elements) to the page object variables found in the automation script of the fourth column 310. The mapping may help the user generate the test code for the automation script. Note also, as shown in the fourth column 310, the page object model output 319 may list the object variable, the value of the object, and the logic corresponding to the object … because the user (e.g., test developer) understands the business logic, the user may implement the page object class initiated on the above step of the method”. In paragraph [0061], “The processor, e.g., processing circuit(s), chip(s), and/or module(s) implemented in hardware and/or software, and preferably having at least one hardware component, may be utilized in any device to perform one or more steps of the method 300”.).
Regarding Claim 4:
Shi discloses, “The computer server system of claim 1, wherein the at least one element includes at least one element of a particular type” (Paragraph [0042] teaches, “the elements of the web page that are identified are preferably functional elements, e.g., buttons, fields, etc.”.).
(Examiner’s Note #2: The BRI of ‘a particular type’ is interpreted by the examiner in light of the examined case’s specification from paragraph [0069], “The at least one element may include at least one element of a particular type. The particular type may include, for example, buttons, input fields, checkboxes, drop down menus, radio buttons, links, text areas, labels, images, etc. of the user interface”.)
Regarding Claim 5:
Shi discloses, “The computer server system of claim 4, wherein the instructions, when executed by the at least one processor, further configure the at least one processor to: determine the locator for the at least one element based at least on the particular type” (In paragraphs [0040]-[0042], “document object model (DOM) code is analyzed for generating locators of the elements (e.g., web elements) of a web page … the locators are output visibly on a user interface displaying at least a portion of the web page. Preferably, the locators are positioned on or near the elements to which they pertain … the computer performing the method identifies each web element on the web page and generates the locators of each web element visibly on the user interface, the elements of the web page that are identified are preferably functional elements, e.g., buttons, fields, etc.”).
Regarding Claim 6:
Shi discloses, “The computer server system of claim 1, wherein the specific user interface type includes at least one of a web-based user interface, a Windows-based user interface, or a mobile-based user interface” (Paragraph [0022] teaches a mobile-based user interface, “COMPUTER 101 may take the form of a desktop computer, laptop computer, tablet computer, smart phone, smart watch or other wearable computer, mainframe computer, quantum computer or any other form of computer or mobile device now known or to be developed in the future that is capable of running a program, accessing a network or querying a database, such as remote database 130”. Computer 101 includes a user inter interface set as described in paragraph [0021], “computer 101 includes … peripheral device set 114 (including user interface (UI) device set 123”; It is specified that one of the goals is to generate a user interface for visualization, “computing environment 100 contains an example of an environment for the execution of at least some of the computer code involved in performing the inventive methods, such as code for generating visualization of test coverage on a user interface”, where, “computing environment 100 includes, for example, computer 101”.).
Regarding Claim 11:
Shi discloses, “A computer-implemented method comprising” (Paragraph [0018] teaches, “In another general embodiment, a system includes processor, and logic integrated with the processor, executable by the processor, or integrated with and executable by the processor. The logic is configured to perform the foregoing methodology”.);
“defining a class that includes at least one generic element control method” (Paragraph [0044] teaches, “In preferred aspects, a page object may be defined as an object-oriented class that serves as an interface to a page of the automation testing. The test then uses the methods of this page object class whenever it needs to interact with the UI of that page”.);
“implementing the class for a specific user interface type that requires the at least one generic element control method” (In paragraph [0046], “The page object code template may be generated for allowing users to invoke a method on the page which is the class of page object”. In paragraph [0047], “mappings of the elements and/or the locators to page object variables in the code are received from a user … the user may type in the correlations between the two items to be mapped, may drag and drop the items via a graphical user interface”.);
“generating a unique name for at least one element on a user interface of the specific user interface type” (In paragraph [0042], “While in a preferred embodiment the computer performing the method identifies each web element on the web page and generates the locators of each web element visibly on the user interface, the elements of the web page that are identified are preferably functional elements, e.g., buttons, fields, etc.”. And those functional elements are given names as stated in paragraph [0057], “code references, such as variables and functional names, are rendered visibly on the user interface displaying the web page”.);
“mapping the unique name to a locator for the at least one element; and” (In paragraph [0016], “analyzing document object model code for generating locators of elements of a web page … Mappings of the elements and/or the locators to page object variables are received from a user”.);
“executing a test script to perform automation testing on the user interface based at least on the mapping and the implemented class” (In paragraph [0048]-[0050], “With understanding of the relationship between each object on the same web page, the methodology allows users to map web elements to page object variables, and therefore, the page object class with variable is initiated. In operation 210, representations of the mappings are output visibly on the user interface displaying the web page ... For example, a table of the mappings may be presented overlaying the web page, in a separate window, etc. At some point before or during the method 200, the user, e.g., a test developer, may create and/or finish the automation test code for the specific elements. Moreover, test scripts may be received for at least some of the elements”. And paragraph [0063], “The locators may be used such that the automation script knows how to run the test method with the correct location on the login page”.).
Regarding Claim 12:
Shi discloses, “The computer-implemented method of claim 11, wherein the at least one generic element control method includes at least one of getting an attribute within the class, setting an attribute within the class, clicking a particular element or checking a particular element” (Paragraph [0064] teaches, “In step 3., the user is allowed to map the locator of web elements (e.g., user name and user password fields 314, 316) to the corresponding page object variables (e.g., the variable of user name and password in the class) visibly and therefore the page object class with the variables defined is initiated on the user interface. Thus, an output mapping 318 is created, as shown in the fifth column 312. FIG. 4 depicts an exemplary mapping of the web elements (e.g., via the locators 402 of the web elements) to the page object variables found in the automation script of the fourth column 310. The mapping may help the user generate the test code for the automation script. Note also, as shown in the fourth column 310, the page object model output 319 may list the object variable, the value of the object, and the logic corresponding to the object”. Where the purpose of interacting with elements may be checking elements for an overall better understanding as supported in paragraph [0067], “The user may directly leverage the class to test the login feature and understand the coverage of the test on the page”. In paragraph [0070], “Thus, the methodology may include receiving a selection of one of the objects on the user interface; and in response to receiving the selection, outputting a code block associated with the object. In one example, the user clicks the object linked to an integrated development environment (IDE) code block, resulting in opening of a window to the IDS code block”.).
Regarding Claim 13:
Shi discloses, “The computer-implemented method of claim 11, wherein the class is implemented for the specific user interface type and for a particular automation testing tool” (In paragraphs [0064]-[0065], “the user is allowed to map the locator of web elements … to the corresponding page object variables … visibly and therefore the page object class with the variables defined is initiated on the user interface. ... FIG. 4 depicts an exemplary mapping of the web elements (e.g., via the locators 402 of the web elements) to the page object variables found in the automation script of the fourth column 310. The mapping may help the user generate the test code for the automation script. Note also, as shown in the fourth column 310, the page object model output 319 may list the object variable, the value of the object, and the logic corresponding to the object … because the user (e.g., test developer) understands the business logic, the user may implement the page object class initiated on the above step of the method”. In paragraph [0061], “The processor, e.g., processing circuit(s), chip(s), and/or module(s) implemented in hardware and/or software, and preferably having at least one hardware component, may be utilized in any device to perform one or more steps of the method 300”.).
Regarding Claim 14:
Shi discloses, “The computer-implemented method of claim 11, wherein the at least one element includes at least one element of a particular type” (Paragraph [0042] teaches, “the elements of the web page that are identified are preferably functional elements, e.g., buttons, fields, etc.”.).
Regarding Claim 15:
Shi discloses, “The computer-implemented method of claim 14, further comprising: determining the locator for the at least one element based at least on the particular type” (In paragraphs [0040]-[0042], “document object model (DOM) code is analyzed for generating locators of the elements (e.g., web elements) of a web page … the locators are output visibly on a user interface displaying at least a portion of the web page. Preferably, the locators are positioned on or near the elements to which they pertain … the computer performing the method identifies each web element on the web page and generates the locators of each web element visibly on the user interface, the elements of the web page that are identified are preferably functional elements, e.g., buttons, fields, etc.”).
Regarding Claim 20:
Shi discloses, “A non-transitory computer readable medium having stored thereon processor-executable instructions which, when executed by at least one processor, configure the at least one processor to” (Paragraph [0018] teaches, “In another general embodiment, a system includes processor, and logic integrated with the processor, executable by the processor, or integrated with and executable by the processor. The logic is configured to perform the foregoing methodology”. In paragraph [0021], “Computing environment 100 contains an example of an environment for the execution of at least some of the computer code involved in performing the inventive methods … computing environment 100 includes … computer 101, … remote server 104 … In this embodiment, computer 101 includes processor set 110 … volatile memory 112, persistent storage 113 (including operating system 122 … ), … storage 124 ”.);
“define a class that includes at least one generic element control method” (Paragraph [0044] teaches, “In preferred aspects, a page object may be defined as an object-oriented class that serves as an interface to a page of the automation testing. The test then uses the methods of this page object class whenever it needs to interact with the UI of that page”.);
“implement the class for a specific user interface type that requires the at least one generic element control method” (In paragraph [0046], “The page object code template may be generated for allowing users to invoke a method on the page which is the class of page object”. In paragraph [0047], “mappings of the elements and/or the locators to page object variables in the code are received from a user … the user may type in the correlations between the two items to be mapped, may drag and drop the items via a graphical user interface”.);
“generate a unique name for at least one element on a user interface of the specific user interface type” (In paragraph [0042], “While in a preferred embodiment the computer performing the method identifies each web element on the web page and generates the locators of each web element visibly on the user interface, the elements of the web page that are identified are preferably functional elements, e.g., buttons, fields, etc.”. And those functional elements are given names as stated in paragraph [0057], “code references, such as variables and functional names, are rendered visibly on the user interface displaying the web page”.);
“map the unique name to a locator for the at least one element; and” (In paragraph [0016], “analyzing document object model code for generating locators of elements of a web page … Mappings of the elements and/or the locators to page object variables are received from a user”.);
“execute a test script to perform automation testing on the user interface based at least on the mapping and the implemented class” (In paragraph [0048]-[0050], “With understanding of the relationship between each object on the same web page, the methodology allows users to map web elements to page object variables, and therefore, the page object class with variable is initiated. In operation 210, representations of the mappings are output visibly on the user interface displaying the web page ... For example, a table of the mappings may be presented overlaying the web page, in a separate window, etc. At some point before or during the method 200, the user, e.g., a test developer, may create and/or finish the automation test code for the specific elements. Moreover, test scripts may be received for at least some of the elements”. And paragraph [0063], “The locators may be used such that the automation script knows how to run the test method with the correct location on the login page”.).
Claim Rejections - 35 USC § 103
The following is a quotation of 35 U.S.C. 103 which forms the basis for all obviousness rejections set forth in this Office action:
A patent for a claimed invention may not be obtained, notwithstanding that the claimed invention is not identically disclosed as set forth in section 102, if the differences between the claimed invention and the prior art are such that the claimed invention as a whole would have been obvious before the effective filing date of the claimed invention to a person having ordinary skill in the art to which the claimed invention pertains. Patentability shall not be negated by the manner in which the invention was made.
Claims 7-8 and 16-17 are rejected under 35 U.S.C. 103 as being unpatentable over Shi et al. (U.S. Publication No. 20240403002 A1, hereinafter Shi) in view of Podoler (U.S. Publication No. 20210056395 A1).
Regarding Claim 7:
Shi discloses, “The computer server system of claim 1, wherein the instructions, when executed by the at least one processor, further configure the at least one processor to: [] to generate at least one of the unique name for the at least one element on the user interface or the locator for the at least one element” (In paragraph [0042], “While in a preferred embodiment the computer performing the method identifies each web element on the web page and generates the locators of each web element visibly on the user interface, the elements of the web page that are identified are preferably functional elements, e.g., buttons, fields, etc.”. And those functional elements are given names as stated in paragraph [0057], “code references, such as variables and functional names, are rendered visibly on the user interface displaying the web page”.);
Shi does not disclose however Podoler discloses, “engage an artificial intelligence engine” (In paragraph [0023], “An artificial intelligence (AI) engine may receive as input a first set of attributes of an element to be searched for”.).
Therefore, it would have been obvious before the effective filing date of the claimed invention to a person having ordinary skill in the art to modify Shi by adopting the teaching of Podoler to further automate the testing.
Regarding Claim 8:
Shi discloses, “The computer server system of claim 7, wherein the instructions, when executed by the at least one processor, further configure the at least one processor to: [] that includes a first plurality of locators defined for a first plurality of elements and identifies each first element as a particular element type;” (In paragraphs [0040]-[0042], “document object model (DOM) code is analyzed for generating locators of the elements (e.g., web elements) of a web page … the locators are output visibly on a user interface displaying at least a portion of the web page. Preferably, the locators are positioned on or near the elements to which they pertain … the computer performing the method identifies each web element on the web page and generates the locators of each web element visibly on the user interface, the elements of the web page that are identified are preferably functional elements, e.g., buttons, fields, etc.”);
Shi does not disclose however Podoler discloses, “generate a first training set” (In paragraph [0023], “An artificial intelligence (AI) engine may receive as input a first set of attributes of an element to be searched for”. The first set being used for training as taught by paragraph [0026], “determining the attribute set of elements upon which the AI engine is to be trained”.);
“train the artificial intelligence engine in a first stage using the first training set” (In paragraph [0006], “activating the artificial intelligence training system upon the at least part of the training set, to obtain an artificial intelligence engine, the artificial intelligence engine adapted to: receive a first runtime set of attribute values associated with a first runtime element”.);
“engage the artificial intelligence engine to determine a second plurality of locators for a second plurality of elements” (In paragraph [0006], “the artificial intelligence engine adapted to: receive a first runtime set of attribute values associated with a first runtime element, and a second runtime set of attribute values assigned to a second set of attributes associated with a second runtime element”. In paragraph [0020], “Most techniques use one or more identifiers, also referred to as attributes of the elements, such as a class, a location, an ID, an xPath, a color, or the like, to describe or identify elements … During test development, the attributes of the element and the values thereof are noted as a formula-like structure. In runtime, during testing, the formula is applied, the specific element is sought for and if found, is operated upon”. The reference teaches the attributes associated with the element may include a locator, such as an ID; this includes a locator within the second set of attributes.);
(Examiner’s Note #3: The BRI of ‘locator’ is interpreted by the examiner in light of the examined case’s specification from paragraph [0072], “the locator may define a method or mechanism that may instruct at least one executing processor to identify and locate the at least one element on the user interface”. Further, in paragraph [0073] of the examined case, “the locator for the at least one element may include locating the at least one element by “id”. For example, the at least one element may include an “id” attribute which provides a unique identifier for the at least one element on the page”.);
“modify one or more of the second plurality of locators for the second plurality of elements” (Paragraph [0050] teaches, “the engine may be trained multiple times, for example three times, on the same or different inputs, for example different subsets of all available input.” Although the reference more simply teaches the invention with a ‘first’ and ‘second’ training set (where the elements in the second set may be a modification of the first set), a modification may also be applied to the second training set. The modification that may occur is stated in paragraph [0005], “a second training set of attribute values associated with a second training element, and an indication of whether the second training element is a modification of the first training element”. Where the modified element may be reasonably assumed to exist in larger contexts as stated in paragraph [0052], “using a larger number of attributes would provide a more accurate and robust system, since it is assumed that most of the attributes of the original element and of the modified element will be present, and will enable the matching”);
“generate a second training set that includes the modified one or more of the second plurality of locators for the second plurality of elements and identifies each second element as the particular element type; and” (in paragraph [0005], “a second training set of attribute values associated with a second training element, and an indication of whether the second training element is a modification of the first training element”. In paragraph [0020], “Most techniques use one or more identifiers, also referred to as attributes of the elements, such as a class, a location, an ID, an xPath, a color, or the like, to describe or identify elements”. The attribute of an element may include a particular element type in paragraph [0032], “the selection of an attribute set upon which it is determined whether an element of a web page is the modification of an element to be searched for”. As mentioned in Examiner’s Note #2, the particular element type may include a button. In paragraph [0033], “FIG. 1A is an illustration of a web page 100, comprising … a button 108”.);
“retrain the artificial intelligence engine in a second stage using the second training set” (In paragraph [0058], “Training the neural network may comprise assigning applies weights to differences between values from the first set of attribute values and values of corresponding attributes from the second set of attribute values”. Where the neural network is a type of trained engine and may retrain based on the next training set, as stated in paragraph [0050], “the selected attributes and values for each set, together with the indications, are provided to an AI engine training system, to obtain a trained engine, such as a neural network. It will be appreciated that the engine may be trained multiple times, for example three times, on the same or different inputs, for example different subsets of all available input”.).
Therefore, it would have been obvious before the effective filing date of the claimed invention to a person having ordinary skill in the art to modify Shi by adopting the teaching of Podoler to further automate the testing.
Regarding Claim 16:
Shi discloses, “The computer-implemented method of claim 11, further comprising: [] to generate at least one of the unique name for the at least one element on the user interface or the locator for the at least one element” (In paragraph [0042], “While in a preferred embodiment the computer performing the method identifies each web element on the web page and generates the locators of each web element visibly on the user interface, the elements of the web page that are identified are preferably functional elements, e.g., buttons, fields, etc.”. And those functional elements are given names as stated in paragraph [0057], “code references, such as variables and functional names, are rendered visibly on the user interface displaying the web page”.);
Shi does not disclose however Podoler discloses, “engage an artificial intelligence engine” (In paragraph [0023], “An artificial intelligence (AI) engine may receive as input a first set of attributes of an element to be searched for”.).
Therefore, it would have been obvious before the effective filing date of the claimed invention to a person having ordinary skill in the art to modify Shi by adopting the teaching of Podoler to further automate the testing.
Regarding Claim 17:
Shi discloses, “The computer-implemented method of claim 16, further comprising: generating a first training set that includes a first plurality of locators defined for a first plurality of elements and identifies each first element as a particular element type” (In paragraphs [0040]-[0042], “document object model (DOM) code is analyzed for generating locators of the elements (e.g., web elements) of a web page … the locators are output visibly on a user interface displaying at least a portion of the web page. Preferably, the locators are positioned on or near the elements to which they pertain … the computer performing the method identifies each web element on the web page and generates the locators of each web element visibly on the user interface, the elements of the web page that are identified are preferably functional elements, e.g., buttons, fields, etc.”);
Shi does not disclose however Podoler discloses, “generating a first training set” (In paragraph [0023], “An artificial intelligence (AI) engine may receive as input a first set of attributes of an element to be searched for”. The first set being used for training as taught by paragraph [0026], “determining the attribute set of elements upon which the AI engine is to be trained”.);
“training the artificial intelligence engine in a first stage using the first training set” (In paragraph [0006], “activating the artificial intelligence training system upon the at least part of the training set, to obtain an artificial intelligence engine, the artificial intelligence engine adapted to: receive a first runtime set of attribute values associated with a first runtime element”.);
“engaging the artificial intelligence engine to determine a second plurality of locators for a second plurality of elements” (In paragraph [0006], “the artificial intelligence engine adapted to: receive a first runtime set of attribute values associated with a first runtime element, and a second runtime set of attribute values assigned to a second set of attributes associated with a second runtime element”. In paragraph [0020], “Most techniques use one or more identifiers, also referred to as attributes of the elements, such as a class, a location, an ID, an xPath, a color, or the like, to describe or identify elements … During test development, the attributes of the element and the values thereof are noted as a formula-like structure. In runtime, during testing, the formula is applied, the specific element is sought for and if found, is operated upon”. The reference teaches the attributes associated with the element may include a locator, such as an ID; this includes a locator within the second set of attributes.);
“modifying one or more of the second plurality of locators for the second plurality of elements” (Paragraph [0050] teaches, “the engine may be trained multiple times, for example three times, on the same or different inputs, for example different subsets of all available input.” Although the reference more simply teaches the invention with a ‘first’ and ‘second’ training set (where the elements in the second set may be a modification of the first set), a modification may also be applied to the second training set. The modification that may occur is stated in paragraph [0005], “a second training set of attribute values associated with a second training element, and an indication of whether the second training element is a modification of the first training element”. Where the modified element may be reasonably assumed to exist in larger contexts as stated in paragraph [0052], “using a larger number of attributes would provide a more accurate and robust system, since it is assumed that most of the attributes of the original element and of the modified element will be present, and will enable the matching”);
“generating a second training set that includes the modified one or more of the second plurality of locators for the second plurality of elements and identifies each second element as the particular element type; and” (in paragraph [0005], “a second training set of attribute values associated with a second training element, and an indication of whether the second training element is a modification of the first training element”. In paragraph [0020], “Most techniques use one or more identifiers, also referred to as attributes of the elements, such as a class, a location, an ID, an xPath, a color, or the like, to describe or identify elements”. The attribute of an element may include a particular element type in paragraph [0032], “the selection of an attribute set upon which it is determined whether an element of a web page is the modification of an element to be searched for”. As mentioned in Examiner’s Note #2, the particular element type may include a button. In paragraph [0033], “FIG. 1A is an illustration of a web page 100, comprising … a button 108”.);
“retraining the artificial intelligence engine in a second stage using the second training set” (In paragraph [0058], “Training the neural network may comprise assigning applies weights to differences between values from the first set of attribute values and values of corresponding attributes from the second set of attribute values”. Where the neural network is a type of trained engine and may retrain based on the next training set, as stated in paragraph [0050], “the selected attributes and values for each set, together with the indications, are provided to an AI engine training system, to obtain a trained engine, such as a neural network. It will be appreciated that the engine may be trained multiple times, for example three times, on the same or different inputs, for example different subsets of all available input”.).
Therefore, it would have been obvious before the effective filing date of the claimed invention to a person having ordinary skill in the art to modify Shi by adopting the teaching of Podoler to further automate the testing.
Claims 9-10 and 18-19 are rejected under 35 U.S.C. 103 as being unpatentable over Shi in view of Podoler as applied to claims 7 and 17 above, and further in view of Raviv et al. (U.S. Publication No. 20250104117 A1 , hereinafter Raviv).
Regarding Claim 9:
Shi in view of Podoler discloses, “The computer server system of claim 7”.
Shi discloses, “[], wherein [] through the user interface of the specific user interface type to identify the at least one element and to automatically generate the locator for the at least one element” (Paragraph [0040] teaches the automatic generation of the locator of the element in a web-based interface type, “document object model (DOM) code is analyzed for generating locators of the elements (e.g., web elements) of a web page. The DOM code and locators may be generated, preferably automatically in response to invoking the method 200, via known techniques”. A user may identify an element when creating automation test code for an element, before invoking the automatic generation of method 200, as stated by paragraph [0050], “At some point before or during the method 200, the user, e.g., a test developer, may create and/or finish the automation test code for the specific elements”.);
Shi in view of Podoler does not disclose however Raviv discloses, “the artificial intelligence engine engages a generative artificial intelligence component to crawl” (Paragraph [0009], “a system is disclosed for displaying ads that includes a machine learning engine and an AI-assistant ad asset generator. The machine learning engine is configured for obtaining, via machine learning, generative artificial intelligence (AI) models for creating advertisement assets based on training data”. Note in Figure 5A that the Machine Learning Engine 530 is contained within the AI-assistant Ad Asset Generator 210. The AI-assisted generator may then be used to crawl as stated in paragraph [0044], “FIG. 3A shows exemplary types of sources from where the AI-assisted ad asset generator 210 may obtain base ad information … the AI-assisted ad asset generator 210 may also retrieve base ad information from, e.g., manufacturers of products to be advertised, or distributors for the same products. For instance, a manufacturer may pose information about their products on their websites and such information may be crawled via public means”. Although this reference by Raviv uses the engine engaging a generative AI component to crawl to produce advertisements, a similar idea using the engine may instead be applied to the claimed invention for generating the locator. Support for the reference’s and examined case’s similarity in motivation will be discussed further below.).
Therefore, it would have been obvious before the effective filing date of the claimed invention to a person having ordinary skill in the art to modify Shi in view of Podoler by adopting the teaching of Raviv to combine an artificial intelligence engine that engages a generative artificial intelligence component to crawl, with the teaching of Shi to generate the locator of an element motivated by the common goal to improve performance of systems involving information management, and to enhance performance compared to traditional approaches using artificial intelligence to associate elements with attributes (Raviv [0006],[0007], and [0009]).
Regarding Claim 10:
Shi in view of Podoler and Raviv discloses, “The computer server system of claim 9”.
Shi discloses, “[], wherein [] to generate a page object model by mapping the unique name to the locator for the at least one element” (Paragraph [0064] first teaches the mapping of a unique name to the locator, “the user is allowed to map the locator of web elements … to the corresponding page object variables”; subsequently, the mapping resulting in the page object model generation is taught, “FIG. 4 depicts an exemplary mapping of the web elements (e.g., via the locators 402 of the web elements) to the page object variables found in the automation script of the fourth column 310. The mapping may help the user generate the test code for the automation script. Note also, as shown in the fourth column 310, the page object model output 319 may list the object variable, the value of the object, and the logic corresponding to the object.”.);
Shi in view of Podoler does not disclose, however Raviv discloses, “the generative artificial intelligence component is engaged” (Paragraph [0009], “a system is disclosed for displaying ads that includes a machine learning engine and an AI-assistant ad asset generator. The machine learning engine is configured for obtaining, via machine learning, generative artificial intelligence (AI) models for creating advertisement assets based on training data”. Note in Figure 5A that the Machine Learning Engine 530 is contained within the AI-assistant Ad Asset Generator 210.).
Therefore, it would have been obvious before the effective filing date of the claimed invention to a person having ordinary skill in the art to modify Shi in view of Podoler by adopting the teaching of Raviv to combine an artificial intelligence engine that engages a generative artificial intelligence component to crawl, with the teaching of Shi to generate the locator of an element motivated by the common goal to improve performance of systems involving information management, and to enhance performance compared to traditional approaches using artificial intelligence to associate elements with attributes (Raviv [0006],[0007], and [0009]).
Regarding Claim 18:
Shi in view of Podoler discloses, “The computer-implemented method of claim 17”.
Shi discloses, “[], wherein [] through the user interface of the specific user interface type to identify the at least one element and to automatically generate the locator for the at least one element” (Paragraph [0040] teaches the automatic generation of the locator of the element in a web-based interface type, “document object model (DOM) code is analyzed for generating locators of the elements (e.g., web elements) of a web page. The DOM code and locators may be generated, preferably automatically in response to invoking the method 200, via known techniques”. A user may identify an element when creating automation test code for an element, before invoking the automatic generation of method 200, as stated by paragraph [0050], “At some point before or during the method 200, the user, e.g., a test developer, may create and/or finish the automation test code for the specific elements”.);
Shi in view of Podoler does not disclose however Raviv discloses, “the artificial intelligence engine engages a generative artificial intelligence component to crawl” (Paragraph [0009], “a system is disclosed for displaying ads that includes a machine learning engine and an AI-assistant ad asset generator. The machine learning engine is configured for obtaining, via machine learning, generative artificial intelligence (AI) models for creating advertisement assets based on training data”. Note in Figure 5A that the Machine Learning Engine 530 is contained within the AI-assistant Ad Asset Generator 210. The AI-assisted generator may then be used to crawl as stated in paragraph [0044], “FIG. 3A shows exemplary types of sources from where the AI-assisted ad asset generator 210 may obtain base ad information … the AI-assisted ad asset generator 210 may also retrieve base ad information from, e.g., manufacturers of products to be advertised, or distributors for the same products. For instance, a manufacturer may pose information about their products on their websites and such information may be crawled via public means”. Although this reference by Raviv uses the engine engaging a generative AI component to crawl to produce advertisements, a similar idea using the engine may instead be applied to the claimed invention for generating the locator. Support for the reference’s and examined case’s similarity in motivation will be discussed further below.).
Therefore, it would have been obvious before the effective filing date of the claimed invention to a person having ordinary skill in the art to modify Shi in view of Podoler by adopting the teaching of Raviv to combine an artificial intelligence engine that engages a generative artificial intelligence component to crawl, with the teaching of Shi to generate the locator of an element motivated by the common goal to improve performance of systems involving information management, and to enhance performance compared to traditional approaches using artificial intelligence to associate elements with attributes (Raviv [0006],[0007], and [0009]).
Regarding Claim 19:
Shi in view of Podoler and Raviv discloses, “The computer-implemented method of claim 18”.
Shi discloses, “[], wherein [] to generate a page object model by mapping the unique name to the locator for the at least one element” (Paragraph [0064] first teaches the mapping of a unique name to the locator, “the user is allowed to map the locator of web elements … to the corresponding page object variables”; subsequently, the mapping resulting in the page object model generation is taught, “FIG. 4 depicts an exemplary mapping of the web elements (e.g., via the locators 402 of the web elements) to the page object variables found in the automation script of the fourth column 310. The mapping may help the user generate the test code for the automation script. Note also, as shown in the fourth column 310, the page object model output 319 may list the object variable, the value of the object, and the logic corresponding to the object.”.);
Shi in view of Podoler does not disclose, however Raviv discloses, “the generative artificial intelligence component is engaged” (Paragraph [0009], “a system is disclosed for displaying ads that includes a machine learning engine and an AI-assistant ad asset generator. The machine learning engine is configured for obtaining, via machine learning, generative artificial intelligence (AI) models for creating advertisement assets based on training data”. Note in Figure 5A that the Machine Learning Engine 530 is contained within the AI-assistant Ad Asset Generator 210.).
Therefore, it would have been obvious before the effective filing date of the claimed invention to a person having ordinary skill in the art to modify Shi in view of Podoler by adopting the teaching of Raviv to combine an artificial intelligence engine that engages a generative artificial intelligence component to crawl, with the teaching of Shi to generate the locator of an element motivated by the common goal to improve performance of systems involving information management, and to enhance performance compared to traditional approaches using artificial intelligence to associate elements with attributes (Raviv [0006],[0007], and [0009]).
Conclusion
Any inquiry concerning this communication or earlier communications from the examiner should be directed to Beza D Nigatu whose telephone number is (571)272-9643. The examiner can normally be reached Monday - Friday 7:30am-5:00pm, alternate Fridays off.
Examiner interviews are available via telephone, in-person, and video conferencing using a USPTO supplied web-based collaboration tool. To schedule an interview, applicant is encouraged to use the USPTO Automated Interview Request (AIR) at http://www.uspto.gov/interviewpractice.
If attempts to reach the examiner by telephone are unsuccessful, the examiner’s supervisor, Hyung Sough can be reached at (571) 272-6799. The fax phone number for the organization where this application or proceeding is assigned is 571-273-8300.
Information regarding the status of published or unpublished applications may be obtained from Patent Center. Unpublished application information in Patent Center is available to registered users. To file and manage patent submissions in Patent Center, visit: https://patentcenter.uspto.gov. Visit https://www.uspto.gov/patents/apply/patent-center for more information about Patent Center and https://www.uspto.gov/patents/docx for information about filing in DOCX format. For additional questions, contact the Electronic Business Center (EBC) at 866-217-9197 (toll-free). If you would like assistance from a USPTO Customer Service Representative, call 800-786-9199 (IN USA OR CANADA) or 571-272-1000.
/S. Sough/SPE, Art Unit 2192