assertj / assertj/assertj-swing

delay setings dont speedup enterText

Offen
#55 1 Kommentar 0 Reaktionen 0 zugewiesene Personen Auf GitHub ansehen
import from fest-swing Improvement Major
Vorherrschende Sprache
Java
Sterne
121
Forks
52
PR-Merge-Kennzahlen
Keine gemergten PRs in 30 T.

Beschreibung

_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

Beitragsleitfaden

Beitragsleitfaden öffnen

Rechercherichtung

Search for the enterText entry point and the robot.settings() handling of delayBetweenEvents and eventPostingDelay, then trace how modified keystrokes are posted. Reproduce the example with modifier keys and confirm that the configured delays affect those characters as well as unmodified keys.

Vom Indexierungsmodell aus dem Issue-Text verfasst.

Bewertung

Tech-Stack
java
Bereich
desktop, testing
Issue-Typ
Bug
Schwierigkeit
4/5
Geschätzter Aufwand
3-5 Tage
Aktivitätsstatus
Veraltet
Klarheit
Größtenteils klar
Anfängerfreundlichkeit
35/100

Neue Issues direkt in Ihr Postfach

Eine kurze Übersicht über anfängerfreundliche GitHub-Issues.