assertj / assertj/assertj-swing

delay setings dont speedup enterText

Open
#55 1 comment 0 reactions 0 assignees View on GitHub
import from fest-swing Improvement Major
Dominant language
Java
Stars
121
Forks
52
PR merge metrics
No merged PRs in 30d

Description

_Issue by **[a](http://jira.codehaus.org/secure/ViewProfile.jspa?name=henningb)** from Mon, 30 Nov 2009 05:10:44 -0600_
_Originally opened as http://jira.codehaus.org/browse/FEST-265_

---

you cant speedup enterText with the delay settings.


robot.settings().delayBetweenEvents(10); 

robot.settings().eventPostingDelay(10);
XXXXXXX.enterText(text);

Thas only works for keys without modifiers like Numbers.

Workaround (using awt.Robot, German Keybord and AltGr dont work):


 public void setTextSim(String text, CommonComponentFixture component){

KeyStrokeMappingProvider_de provider= new KeyStrokeMappingProvider_de();
KeyStrokeMap.addKeyStrokesFrom(provider);

java.awt.Robot awtRobot = null;
try {
awtRobot = new java.awt.Robot();
} catch (AWTException e) {
e.printStackTrace();
}
awtRobot.setAutoDelay(5);

component.focus();

boolean shiftPressed=false;
for (int i=0;i<text.length();i++){
char character = text.charAt(i);

boolean needShift=((KeyStrokeMap.keyStrokeFor(character).getModifiers() & InputEvent.SHIFT_DOWN_MASK) != 0 );

if (needShift){
if (!shiftPressed){
awtRobot.keyPress(KeyEvent.VK_SHIFT);
awtRobot.waitForIdle();
shiftPressed=true;
}
} else {//dont need shift
if (shiftPressed){
awtRobot.keyRelease(KeyEvent.VK_SHIFT);
awtRobot.waitForIdle();
shiftPressed=false;
}
}

int keyCode=KeyStrokeMap.keyStrokeFor(character).getKeyCode();

awtRobot.keyRelease(keyCode);
awtRobot.waitForIdle();
awtRobot.keyPress(keyCode);
awtRobot.waitForIdle();
}


if (shiftPressed){
robot.releaseKey(KeyEvent.VK_SHIFT);
}

}


---

votes (original issue): 0
watches (original issue): 1

Contributor guide

Open the contributing guide

Assessment

This issue has not been assessed yet.

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.