Re: dogtail recorder is looking better
- From: Zack Cerza <zcerza redhat com>
- To: Bill <4wt68e402 sneakemail com>
- Cc: dogtail-list gnome org
- Subject: Re: dogtail recorder is looking better
- Date: Wed, 27 Sep 2006 13:40:31 -0400
Bill wrote:
The code we checked out from CVS this afternoon is working better.
Still some keyboard navigation problems though, and even mouse-click
navigation fails in some cases.
Using the alt-F key in gedit doesn't result in error messages now but
it still doesn't work. Also we are not able to select files to open from a script.
Do me a favor please. Run gedit and record a typical session where you
open a file, edit it, save it, and close it, all with the mouse.
Then play it back. If you have a number of files can you select and open any but
the first one?
Ugh. It seems that table doesn't implement the AccessibleComponent
interface, which is what provides us with screen coordinates (x,y,w,h)
so that we can actually detect which widget was clicked. That is a bug
in gedit.
Dogtail does provide an API to select and deselect nodes in a table, but
it appears this table also doesn't implement the AccessibleSelection
interface. That is also a gedit bug.
In summary, we can't do what the app doesn't let us. So we're very
slowly getting app maintainers to fix accessibility problems to address
that.
Then try the same session with keyboard input only.
This works pretty well, with one caveat: after pressing <alt>f (which
works here provided you make sure gedit actually has keyboard focus when
that gets executed), Down and Enter, the open files dialog pops up. But
since it takes a few seconds, it misses the next keystroke: I pressed
Down 4 times, then Enter, to get into my Desktop folder; it missed one
of the Down presses and went into ~/bin.
That one can't be fixed in a reliable way without the script author
providing more information to dogtail, e.g. "wait until this table has X
amount of items before continuing" - and I've never been able to come up
with a sensible way to let that happen. In practice what usually happens
is that a sleep() will be put into the script at whichever point the
slowdown occurs. From what I understand about similar tools on other
platforms, you generally have to tweak your recorded scripts a bit
before they work as expected.
Zack
[
Date Prev][
Date Next] [
Thread Prev][
Thread Next]
[
Thread Index]
[
Date Index]
[
Author Index]