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:
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.
The interval in CVS has been changed to be 75ms, which looks pretty realistic.