机器人类对文件上传案例的工作不一致

问题描述 投票:0回答:1

我有两个检查文件上传的测试用例,它使用的代码与下面的代码相同。对于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);

有人可以提供任何帮助

selenium selenium-webdriver awtrobot
1个回答
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);
© www.soinside.com 2019 - 2024. All rights reserved.