我是使用sikuli库的机器人框架的新手。我想使用Windows键+ uparrow最大化应用程序窗口。你能告诉我一个关键词可以用来按Windows键+ uparrow。查看sikuli图书馆文档http://rainmanwy.github.io/robotframework-SikuliLibrary/doc/SikuliLibrary.html#Press%20Special%20Key我知道有按下特殊键关键字来按键盘上的单个键。但问题是如何处理两个键。谢谢。
答案 0 :(得分:0)
您可以尝试这种方法:
Screen screen = new Screen();
screen.type(Key.WIN, Key.UP);
答案 1 :(得分:0)
我不认为使用当前的robotframework-sikulilibrary发行版,您可以将多个参数传递给“Press Special Key”关键字。您可以做的是修改该关键字以按一个键或按键修改键和另一个键,例如:WIN + UP。
以下是您需要的库(robotframework-SikuliLibrary / src / java / com / github / rainmanwy / robotframework / sikulilib / keywords / ScreenKeywords.java)中的修改:
@RobotKeyword( "Presses a special keyboard key."
+ "\n\n For a list of possible Keys view docs for org.sikuli.script.Key ."
+ "\n\n Example Usage:"
+ "\n | Double Click | textFieldWithDefaultText.png | "
+ "\n | Press Special Key | DELETE | ")
@ArgumentNames({"*keyConstant"})
public void pressSpecialKey(String... specialCharName) throws ScreenOperationException{
try{
if (specialCharName.length == 1){
Object key = Key.class.getField(specialCharName[0]).get(null);
screen.type(key.toString());
} else if ( specialCharName.length == 2){
Object keyModifier = Key.class.getField(specialCharName[0]).get(null);
Object key = Key.class.getField(specialCharName[1]).get(null);
screen.type(key.toString(),keyModifier.toString());
}
}
catch(ReflectiveOperationException e){
throw new ScreenOperationException("No " +specialCharName.toString() + " in class org.sikuli.script.Key ");
}
}
你可以在这里做更多的事情。但这将符合您的目的,因为我使用WIN + UP和SHIFT + DELETE来测试代码。
如何使用maven构建自己的SikuliLibrary jar,请检查here。 (我不认为我可以通过'按特殊键'关键字的修改来分发我的图书馆版本)
答案 2 :(得分:0)
是这样的
type(Key.UP, KeyModifier.WIN)