我有两个检查文件上传的测试用例,它们使用的代码如下所示。对于1个测试用例,它粘贴文件上传的正确路径,而对于其他测试用例,其唯一粘贴字符“ v” 并且还有人知道为什么如果我们在jenkins的远程机器上运行测试用例,为什么机器人类无法工作。
//文件上传测试用例的代码行
Robot rob = new Robot();
StringSelection ss = null;
ss = new StringSelection("C:\\repository\\A\\B\\C\\resources\\no_fog.png");
rob.setAutoDelay(2000);
Toolkit.getDefaultToolkit().getSystemClipboard().setContents(ss, null);
rob.setAutoDelay(1000);
rob.keyPress(KeyEvent.VK_CONTROL);
rob.keyPress(KeyEvent.VK_V);
rob.keyRelease(KeyEvent.VK_CONTROL);
rob.keyRelease(KeyEvent.VK_V);
rob.setAutoDelay(1000);
rob.keyPress(KeyEvent.VK_ENTER);
rob.keyRelease(KeyEvent.VK_ENTER);
rob.setAutoDelay(1000);
有人可以为此提供任何帮助
答案 0 :(得分:2)
我已经使用Robot类进行文件上传,并且对我来说工作正常,请尝试以下操作:
Robot robot = new Robot();
StringSelection sel = new StringSelection("Path of image");
Toolkit.getDefaultToolkit().getSystemClipboard().setContents(sel, null);
robot.delay(300);
// Press Enter
robot.keyPress(KeyEvent.VK_ENTER);
robot.keyRelease(KeyEvent.VK_ENTER);
// Press CTRL+V
robot.keyPress(KeyEvent.VK_CONTROL);
robot.keyPress(KeyEvent.VK_V);
// Release CTRL+V
robot.keyRelease(KeyEvent.VK_CONTROL);
robot.keyRelease(KeyEvent.VK_V);
robot.delay(300);
// Press Enter
robot.keyPress(KeyEvent.VK_ENTER);
robot.keyRelease(KeyEvent.VK_ENTER);