IP Library Granted Patent US 11,163,671
Granted Patent B2
US 11,163,671 · App. 16/439,609 · Granted Nov 2, 2021

Automatically executing stateless transactions with data dependency in test cases

Inventors: Tuhin Kanti Sharma (San Mateo, CA); Michael Bartoli (San Francisco, CA); Christopher Tammariello (San Mateo, CA); Ashish Patel (Fremont, CA)
Assignee: salesforce.com, inc.
G06F11/3684G06F11/3688
View Patent ↗
Loading inventors, assignments & file history…
Monitor This Case
Get email alerts when status or documents change.
Order Certified Copies
Most orders are placed with the USPTO same day — all within 24 business hours.
Order via The Patent Place →
Pre-filled with this patent's details
Quick Facts
Patent No.
US 11,163,671
App. No.
16/439,609
Granted
Nov 2, 2021
Kind
B2
Abstract

A test case data set that includes test step data sets is received. The test step data sets include a first test step data set that specifies a dependency data field. Test step objects to be used to execute test steps in a test case are generated based on the test step data sets. The test steps include a first test step to be executed using a first test step object generated based on the first test step data set. The first test step object is used to execute the first test step. The first test step as executed populates values in the dependency data field. The values in the dependency data field are accessed and used in a second test step in the test steps while the second test step is being executed using a second test step object in the test step objects.

Claims (37)

1. A computer-implemented method comprising:

receiving from a client device, by a first web server implemented in a test agent, an input file defining a test case that comprises a series of test steps, wherein each test step in the series of test steps represents an independently executed stateless application programming interface (API) call against a second web server;

using, by the test agent, an input data portion of the input file to identify a first test step, in the series of test steps, on which a second test step in the series of test steps depends;

wherein a first API call executed in the first test step does not invoke a second API executed in the second test step, and wherein the first API call does not directly pass any input data to the second API call;

executing, by the test agent, the first test step in the series of test steps before the second test step in the series of test steps;

using, by the test agent, the input data portion of the input file to identify one or more output data field values returned from the first test step in the series of test steps for populating one or more input data fields, as identified by the input data portion of the input file, to the second test step in the series of test steps; and

executing, by the test agent, the second test step in the series of test steps with the one or more input data fields populated with the one or more output data field values returned from the first test step in the series of test steps.

2. The method as recited in claim 1 , wherein the independently executed stateless API call against the second web server represents one of: a Hypertext Transfer Protocol (HTTP) API call or a Representational State Transfer (REST) API call.

3. The method as recited in claim 1 , wherein the input file represents one of: a JavaScript Object Notation (JSON) file, an extensible markup language (XML) file, or a flat file database.

4. The method as recited in claim 1 , wherein the series of test steps comprises a third test step on which neither the first test step nor the second test step depends.

5. The method as recited in claim 1 , wherein the one or more input data fields of the second test step comprises a replaceable overridable data field, and wherein the input file specifies a default value for the replaceable overridable data field.

6. The method as recited in claim 1 , wherein the input file is generated by a test user interacting with a test master, and wherein the input file is sent, by the test master to a test agent, in a request for executing a test that includes the test case.

7. One or more non-transitory computer readable media storing a program of instructions that is executable by a device to perform:

receiving from a client device, by a first web server implemented in a test agent, an input file defining a test case that comprises a series of test steps, wherein each test step in the series of test steps represents an independently executed stateless application programming interface (API) call against a second web server;

using, by the test agent, an input data portion of the input file to identify a first test step, in the series of test steps, on which a second test step in the series of test steps depends;

wherein a first API call executed in the first test step does not invoke a second API executed in the second test step, and wherein the first API call does not directly pass any input data to the second API call;

executing, by the test agent, the first test step in the series of test steps before the second test step in the series of test steps;

using, by the test agent, the input data portion of the input file to identify one or more output data field values returned from the first test step in the series of test steps for populating one or more input data fields, as identified by the input data portion of the input file, to the second test step in the series of test steps; and

executing, by the test agent, the second test step in the series of test steps with the one or more input data fields populated with the one or more output data field values returned from the first test step in the series of test steps.

8. The media as recited in claim 7 , wherein the independently executed stateless API call against the second web server represents one of: a Hypertext Transfer Protocol (HTTP) API call or a Representational State Transfer (REST) API call.

9. The media as recited in claim 7 , wherein the input file represents one of: a JavaScript Object Notation (JSON) file, an extensible markup language (XML) file, or a flat file database.

10. The media as recited in claim 7 , wherein the series of test steps comprises a third test step on which neither the first test step nor the second test step depends.

11. The media as recited in claim 7 , wherein the one or more input data fields of the second test step comprises a replaceable overridable data field, and wherein the input file specifies a default value for the replaceable overridable data field.

12. The media as recited in claim 7 , wherein the input file is generated by a test user interacting with a test master, and wherein the input file is sent, by the test master to a test agent, in a request for executing a test that includes the test case.

13. A system, comprising:

one or more computing processors;

one or more non-transitory computer readable media storing a program of instructions that is executable by the one or more computing processors to perform:

receiving from a client device, by a first web server implemented in a test agent, an input file defining a test case that comprises a series of test steps, wherein each test step in the series of test steps represents an independently executed stateless application programming interface (API) call against a second web server;

using, by the test agent, an input data portion of the input file to identify a first test step, in the series of test steps, on which a second test step in the series of test steps depends;

wherein a first API call executed in the first test step does not invoke a second API executed in the second test step, and wherein the first API call does not directly pass any input data to the second API call;

executing, by the test agent, the first test step in the series of test steps before the second test step in the series of test steps;

using, by the test agent, the input data portion of the input file to identify one or more output data field values returned from the first test step in the series of test steps for populating one or more input data fields, as identified by the input data portion of the input file, to the second test step in the series of test steps; and

executing, by the test agent, the second test step in the series of test steps with the one or more input data fields populated with the one or more output data field values returned from the first test step in the series of test steps.

14. The system as recited in claim 13 , wherein the independently executed stateless API call against the second web server represents one of: a Hypertext Transfer Protocol (HTTP) API call or a Representational State Transfer (REST) API call.

15. The system as recited in claim 13 , wherein the input file represents one of: a JavaScript Object Notation (JSON) file, an extensible markup language (XML) file, or a flat file database.

16. The system as recited in claim 13 , wherein the one or more input data fields of the second test step comprises a replaceable overridable data field, and wherein the input file specifies a default value for the replaceable overridable data field.

17. The system as recited in claim 13 , wherein the input file is generated by a test user interacting with a test master, and wherein the input file is sent, by the test master to a test agent, in a request for executing a test that includes the test case.

Assignments (2)
CHANGE OF NAME Recorded Dec 18, 2024
From: SALESFORCE.COM, INC.
To: SALESFORCE, INC.
Reel/Frame 069717/0416 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded May 12, 2021
From: SHARMA, TUHIN KANTI; BARTOLI, MICHAEL; TAMMARIELLO, CHRISTOPHER; PATEL, ASHISH
To: SALESFORCE.COM, INC.
Reel/Frame 056212/0510 →
Continuity (2)
Continuation 15686020 · Aug 24, 2017
Related Publication 20190294533A1 · Sep 26, 2019