assertj / assertj/assertj-swing

delay setings dont speedup enterText

未关闭
#55 1 条评论 0 个 reaction 已指派 0 人 在 GitHub 查看
import from fest-swing Improvement Major
主要语言
Java
星标
121
派生
52
PR 合并指标
30 天内没有已合并 PR

描述

_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

贡献指南

打开贡献指南

调研方向

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.

由索引模型根据 Issue 内容生成。

评估

技术栈
java
领域
desktop, testing
Issue 类型
缺陷
难度
4/5
预计耗时
3-5 天
活跃度
停滞
描述清晰度
基本清楚
新手友好度
35/100

把新 issue 发到你的邮箱

精选适合新手参与的 GitHub issue 摘要。