assertj / assertj/assertj-swing
delay setings dont speedup enterText
- 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
Assessment
This issue has not been assessed yet.