IP Library Granted Patent US 6,944,795
Granted Patent B2
US 6,944,795 · App. 10/105,919 · Granted Sep 13, 2005

Method and apparatus for stabilizing GUI testing

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 6,944,795
App. No.
10/105,919
Granted
Sep 13, 2005
Kind
B2
Abstract

A method for stabilizing an event queue during a graphical user interface test includes placing a test event on a tail of the event queue, generating a first empty event associated with the test event, placing the first empty event on the tail behind the test event, processing the test event off a head of the event queue, checking the event queue behind the first empty event for a later event, removing the first empty event if the later event is detected, processing the first empty event off the head of the event queue, and placing a second empty event associated with the test event on the tail of the event queue.

Claims (120)

1. A method for stabilizing an event queue during a graphical user interface test, comprising:

placing a test event on a tail of the event queue;

generating a first empty event associated with the test event;

placing the first empty event on the tail behind the test event;

processing the test event off a head of the event queue;

checking the event queue behind the first empty event for a later event;

removing the first empty event if the later event is detected;

processing the first empty event off the head of the event queue; and

placing a second empty event associated with the test event on the tail of the event queue.

2. The method of claim 1 , wherein the event queue is resident in a virtual machine.

3. The method of claim 1 , wherein the event queue is resident in an operating system.

4. The method of claim 1 , wherein the event queue is resident in a windowing toolkit.

5. The method of claim 1 , wherein the test event simulates user input.

6. The method of claim 1 , wherein the later event is a system call.

7. The method of claim 1 , wherein the later event is a subsidiary event associated with the test event.

8. The method of claim 1 , wherein the first empty event comprises means for controlling the event queue.

9. The method of claim 1 , wherein the second empty event means for controlling the event queue.

10. A method for stabilizing the processing of a test event during a graphical user interface test, comprising:

placing the test event on a tail of an event queue;

calculating an event time interval;

generating a first empty event associated with the test event;

placing the first empty event on the tail behind the test event;

processing the test event off a head of the event queue;

checking the event queue behind the first empty event for a later event;

locking the event queue for the event time interval, if the later event is not detected and the test event is at the head of the event queue;

unlocking the event queue if the later event is detected behind the first empty event;

unlocking the event queue if no later event is detected behind the first empty event and the event time interval has expired;

processing the first empty event off the head of the event queue; and

placing a second empty event associated with the test event on the tail of the event queue.

11. The method of claim 10 , wherein the event queue is resident in a virtual machine.

12. The method of claim 10 , wherein the event queue is resident in an operating system.

13. The method of claim 10 , wherein the event queue is resident in a windowing toolkit.

14. The method of claim 10 , wherein the test event simulates user input.

15. The method of claim 10 , wherein the later event is a system call.

16. The method of claim 10 , wherein the later event is a subsidiary event associated with the test event.

17. The method of claim 10 , wherein the first empty event comprises means for controlling the event queue.

18. The method of claim 10 , wherein the second empty event comprises means for controlling the event queue.

19. A graphical user interface testing stabilization system, comprising:

a graphical user interface;

an event queue sending a test event to the graphical user interface;

a graphical user interface test tool sending the test event to the event queue;

wherein the test event is placed on a tail of the event queue;

wherein a first empty event associated with the test event is placed on the tail of the event queue behind the test event;

wherein the test event is processed off a head of the event queue;

wherein the first empty event is removed if a later event is present in the event queue behind the first empty event;

wherein the first empty event is processed off the head of the event queue; and

wherein a second empty event associated with the test event is placed on the tail of the event queue; and

a communications framework operatively connecting the graphical user interface, the graphical user interface test tool, and the event queue.

20. The system of claim 19 , wherein the graphical user interface generates a response to the test event.

21. A computer system for stabilizing an event queue during a graphical user interface test, comprising:

a processor;

a memory; and

software instructions stored in the memory for enabling the computer system under control of the processor, to perform:

placing a test event on a tail of the event queue;

generating a first empty event associated with the test event;

placing the first empty event on the tail behind the test event;

processing the test event off a head of the event queue;

checking the event queue behind the first empty event for a later event;

removing the first empty event if the later event is detected;

processing the first empty event off the head of the event queue; and

placing a second empty event associated with the test event on the tail of the event queue.

22. The computer system of claim 21 , wherein the event queue is resident in a virtual machine.

23. The computer system of claim 21 , wherein the event queue is resident in an operating system.

24. The computer system of claim 21 , wherein the event queue is resident in a windowing toolkit.

25. The computer system of claim 21 , wherein the test event simulates user input.

26. The computer system of claim 21 , wherein the later event is a system call.

27. The computer system of claim 21 , wherein the later event is a subsidiary event associated with the test event.

28. The computer system of claim 21 , wherein the first empty event comprises means for controlling the event queue.

29. The computer system of claim 21 , wherein the second empty event comprises means for controlling the event queue.

30. A computer system for stabilizing the processing of a test event during a graphical user interface test, comprising:

a processor;

a memory; and

software instructions stored in the memory for enabling the computer system under control of the processor, to perform:

placing the test event on a tail of an event queue;

calculating an event time interval;

generating a first empty event associated with the test event;

placing the first empty event on the tail behind the test event;

processing the test event off a head of the event queue;

checking the event queue behind the first empty event for a later event;

locking the event queue for the event time interval if the later event is not detected and the test event is at the head of the event queue;

unlocking the event queue if the later event is detected behind the first empty event;

unlocking the event queue if no later event is detected behind the first empty event and the event time interval has expired;

processing the first empty event off the head of the event queue; and

placing a second empty event associated with the test event on the tail of the event queue.

31. The computer system of claim 30 , wherein the event queue is resident in a virtual machine.

32. The computer system of claim 30 , wherein the event queue is resident in an operating system.

33. The computer system of claim 30 , wherein the event queue is resident in a windowing toolkit.

34. The computer system of claim 30 , wherein the test event simulates user input.

35. The computer system of claim 30 , wherein the later event is a system call.

36. The computer system of claim 30 , wherein the later event is a subsidiary event associated with the test event.

37. The computer system of claim 30 , wherein the first empty event comprises means for controlling the event queue.

38. The computer system of claim 30 , wherein the second empty event comprises means for controlling the event queue.

39. An apparatus for stabilizing an event queue during a means for graphical user interface test, comprising:

means for placing a test event at a tail of the event queue;

means for generating a first empty event associated with the test event;

means for placing the first empty event on the tail of the event queue;

means for processing the test event off a head of the event queue;

means for checking the event queue behind the first empty event for a later event;

means for removing the first empty event if the later event is detected; and

means for processing the first empty event off the head of the event queue.

40. The apparatus of claim 39 , further comprising:

means for generating a second empty event associated with the test event; and

means for placing the second empty event at the tail of the event queue.

41. The method of claim 39 , further comprising:

means for calculating an event time interval;

means for locking the event queue for the event time interval;

means for unlocking the event queue at expiration of the event time interval; and

means for unlocking the event queue if a later event is detected.

42. An apparatus to stabilize the processing of a test event generated by a graphical user interface test tool, comprising:

means for placing the test event on a tail of an event queue;

means for calculating an event time interval;

means for generating a first empty event associated with the test event;

means for placing the first empty event on the tail behind the test event;

means for processing the test event off a head of the event queue;

means for checking the event queue behind the first empty event for a later event;

means for locking the event queue for the event time interval if the later event is not detected and the test event is at the head of the event queue;

means for unlocking the event queue if the later event is detected behind the first empty event;

means for unlocking the event queue if no later event is detected behind the first empty event and the event time interval has expired;

means for processing the first empty event off the head of the event queue; and

means for placing a second empty event associated with the test event on the tail of the event queue.

Assignments (1)
MERGER AND CHANGE OF NAME Recorded Dec 14, 2015
From: ORACLE USA, INC.; SUN MICROSYSTEMS, INC.; ORACLE AMERICA, INC.
To: ORACLE AMERICA, INC.
Reel/Frame 037280/0132 →