Opened 9 years ago

Closed 9 years ago

#11982 closed defect (fixed)

Robot timing errors

Reported by: haysmark Owned by: Douglas Hays
Priority: high Milestone: 1.6
Component: TestFramework Version: 1.5
Keywords: Cc:
Blocked By: Blocking:

Description

The doh.robot schedulers assume real-time processing. The reality is that people run tests on clouds, virtual machines, slow computers, and slow browsers where real-time processing is not guaranteed. We should try to adjust the schedule as robot actions fire to compensate for unexpected lag.

Attachments (2)

11982.patch (7.7 KB) - added by haysmark 9 years ago.
Refs #11982. Modify doh.robot scheduling of typeKeys and mouseMove to compensate for unexpected delays.
DOHRobot.jar (44.5 KB) - added by haysmark 9 years ago.
Robot jar.

Download all attachments as: .zip

Change History (5)

Changed 9 years ago by haysmark

Attachment: 11982.patch added

Refs #11982. Modify doh.robot scheduling of typeKeys and mouseMove to compensate for unexpected delays.

Changed 9 years ago by haysmark

Attachment: DOHRobot.jar added

Robot jar.

comment:1 Changed 9 years ago by haysmark

Owner: changed from alex to Douglas Hays

comment:2 Changed 9 years ago by Douglas Hays

Milestone: tbd1.6

Some of the sequence durations are still being doubled due to a new sequence call coming in just before the previous duration setTimeout fires. I suggest the following sequence function replacement:

var currentTime = (new Date()).getTime();
if(currentTime > (doh.robot._time || 0)){
        doh.robot._time = currentTime;
}
doh.robot._time += delay || 1;
setTimeout(f, doh.robot._time - currentTime);
doh.robot._time += duration || 0;

comment:3 Changed 9 years ago by Douglas Hays

Resolution: fixed
Status: newclosed

(In [23255]) Fixes #11982. Proxy commit for haysmark (IBM, CCLA). Refactor sequence function to avoid incorrect delays. Change robot applet to adjust initial key delays if key processing is going unusually slowly.

Note: See TracTickets for help on using tickets.