IP Library Granted Patent US 8,762,881
Granted Patent B2
US 8,762,881 · App. 12/837,433 · Granted Jun 24, 2014

Taking screenshots of a failed application

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 8,762,881
App. No.
12/837,433
Granted
Jun 24, 2014
Kind
B2
Abstract

An approach for taking screenshots of a failed application is disclosed. The method includes running a test of a module, where the test is run in a single operating system process that uses a plurality of web browser windows on a display screen. The method further includes receiving a signal to indicate a screenshot that is requested after the test fails in order to determine a cause of the test failure and capturing screenshots for each of the plurality of web browser windows, where the captured screenshots exclude elements that are unrelated to the test. The capturing screenshots includes using an iterative process capturing each of the plurality of screenshots one at a time.

Claims (56)

1. A method for taking screenshots of a failed application, the method comprising:

concurrently running, in a single operating system process, a plurality of test modules respective each in a separate web browser window on a display screen;

receiving a signal to indicate a screenshot is requested upon detection by a first one of the test modules of the failed application in order to determine a cause of the failure; and

capturing screenshots for each of a plurality of overlapping web browser windows corresponding to the first test module, using an iterative process of successively capturing each of the plurality of overlapping web browser windows one at a time, wherein the captured screenshots exclude elements that are unrelated to the first test module;

wherein capturing comprises:

determining if a first window for actively taking a screenshot associated with the first test module is visible;

hiding a second window associated with the first test module if the first window is hidden by, as a result of being intersected by, the second window;

calling a first function of the single operating system to obtain dimensions for the first window;

passing in the obtained dimensions for using a screenshot feature;

calling a second function of the single operating system to show the second window that was hidden; and

repeating the calling and the passing for the second window.

2. The method of claim 1 , wherein capturing screenshots further comprises:

renaming a current web browser window from an original name to a unique identifier;

calling a function of the single operating system to locate a window identifier for a window having the unique identifier;

restoring the current web browser window to the original name;

calling the function of the single operating system to locate window identifiers for each other web browser window in the plurality of web browser windows; and

capturing graphics for each of the plurality of web browser windows starting with the current web browser window.

3. A non-transitory computer-readable storage medium having one or more instructions thereon for taking screenshots of a failed application, the instructions when executed by one or more processors causing the one or more processors to carry out:

concurrently running, in a single operating system process, a plurality of test modules each in a separate web browser window on a display screen;

receiving a signal to indicate a screenshot is requested upon detection by a first one of the test modules of the failed application in order to determine a cause of the failure; and

capturing screenshots for each a the plurality of overlapping web browser windows associated with the first test module, using an iterative process of successively capturing each of the plurality of overlapping web browser windows one at a time, wherein the captured screenshots exclude elements that are unrelated to the first test module.

4. The computer-readable storage medium of claim 3 , wherein the capturing screenshots further comprises:

renaming a current web browser from an original name to a unique identifier;

calling a function of the single operating system to locate a window identifier for a window having the unique identifier;

restoring the current web browser window to the original name;

calling the function of the single operating system to locate window identifiers for each other web browser window in the plurality of web browser windows; and

capturing graphics for each of the plurality of web browser windows starting with the current web browser window.

5. The computer-readable storage medium of claim 3 , further comprising:

determining if a first window for actively taking a screenshot is visible;

hiding a second window if the first window is intersected by the second window;

calling a first function of the single operating system to obtain dimensions for the first window; and

passing in the obtained dimensions for using a screenshot feature.

6. The computer readable storage medium of claim 5 , further comprising:

calling a second function of the single operating system to show the second window that was hidden; and

repeating the calling and the passing for the second window.

7. An apparatus for taking screenshots of a failed application in an on-demand, multi-tenant computing environment, the apparatus comprising:

a processor; and

one or more stored sequences of instructions which, when executed by the processor, cause the processor to carry out:

concurrently running, in a single operating system process, a plurality of test modules on the application using a separate web browser window for each of the plurality of test modules on a display screen;

receiving a signal to indicate a screenshot is requested after a first one of the test modules fails in order to determine a cause of the test failure; and

capturing screenshots for each of the plurality of web browser windows associated with the first test module, using an iterative process capturing each of the plurality of browser windows associated with the first test module one at a time;

wherein the captured screenshots exclude elements that are unrelated to the failed test module; and

wherein the capturing screenshots comprises:

renaming a current web browser window from an original name to a unique identifier;

calling a function of the single operating system to locate a window identifier for a window having the unique identifier;

restoring the current web browser window to the original name;

calling the function of the single operating system to locate window identifiers for each other web browser in the plurality of web browser windows; and

capturing graphics for each of the plurality of web browser windows starting with the current web browser window.

8. The apparatus of claim 7 , wherein the processor executing the stored sequence of instructions further carries out:

determining if a first window for actively taking a screenshot is visible;

hiding a second window if the first window is intersected by the second window;

calling a first function of the single operating system to obtain dimensions for the first window; and

passing in the obtained dimensions for using a screenshot feature.

9. The apparatus of claim 8 , wherein the processor executing the stored sequence of instructions further carries out:

calling a second function of the single operating system to show the second window that was hidden; and

repeating the calling and the passing for the second window.

Assignments (1)
CHANGE OF NAME Recorded Oct 24, 2024
From: SALESFORCE.COM, INC.
To: SALESFORCE, INC.
Reel/Frame 069270/0655 →