Bug 202922 - rawinput.typeText() interval should be longer and/or configurable.
Summary: rawinput.typeText() interval should be longer and/or configurable.
Keywords:
Status: CLOSED NEXTRELEASE
Alias: None
Product: Fedora
Classification: Fedora
Component: dogtail
Version: rawhide
Hardware: i386
OS: Linux
medium
medium
Target Milestone: ---
Assignee: Zack Cerza
QA Contact:
URL:
Whiteboard:
Depends On:
Blocks:
TreeView+ depends on / blocked
 
Reported: 2006-08-17 08:26 UTC by Yan Tian
Modified: 2007-11-30 22:11 UTC (History)
2 users (show)

Fixed In Version:
Doc Type: Bug Fix
Doc Text:
Clone Of:
Environment:
Last Closed: 2006-08-23 18:12:33 UTC
Type: ---
Embargoed:


Attachments (Terms of Use)

Description Yan Tian 2006-08-17 08:26:36 UTC
Description of problem:
In RHEL4-U3 system, used the rawinput/typeText() in the script. Can't type one
character at a time, but whole string at a time. It seemed no difference with
text().  

Version-Release number of selected component (if applicable):
dogtail-0.5.1-1

How reproducible:
always

Steps to Reproduce:
1.run script test-input.py. Using text().
2.run script test-typeText.py. Using typeText().
3.diff -Nur test-input.py test-typeText.py > diff.txt
4.view diff.txtas below:
--- test-input.py       2006-08-15 16:29:31.000000000 +0800
+++ test-typeText.py    2006-08-15 16:29:39.000000000 +0800
@@ -1,5 +1,5 @@
 #!/usr/bin/env python
-# Test inputing to the screen by text() #3514
+# Test inputing to the screen character by character #3514

 import dogtail.tree
 import dogtail.utils
@@ -11,7 +11,7 @@
 dogtail.utils.run('gedit')
 gedit = dogtail.tree.root.application('gedit')

-gedit.child(roleName = 'text').text = string
+gedit.child(roleName = 'text').typeText(string)

 quitItem = gedit.menu("File").menuItem("Quit")
 quitItem.click()
  
Actual results:
1 and 2 running results were same.

Expected results:
1 script type whole string at a time.
2 script type one character at a time.

Additional info:

Comment 1 Zack Cerza 2006-08-18 18:06:12 UTC
tree.Node.typeText(string) currently just does:
    self.text += string
This is different in CVS and will be in the next release.

rawinput.typeText(string) does in fact type each character one by one, but does
so in a tight loop. There should probably be a configurable delay.

Comment 2 Zack Cerza 2006-08-23 18:12:33 UTC
The interval in CVS has been changed to be 75ms, which looks pretty realistic.


Note You need to log in before you can comment on or make changes to this bug.