首先参考以下文章:
Katalon框架测试web(二十)自定义关键字以及上传弹窗操作_katalon如何处理alert弹窗_春天的菠菜的博客-CSDN博客
实际使用过程中,发现不报错,没效果,查找资料,如下:
File Upload using Selenium WebDriver and Java Robot Class - Stack Overflow
TA的代码部分如下:
//click on button to open upload dialog
driver.findElement(By.xpath("sample/xpath")).click();
// Create a new Robot instance
Robot robot = new Robot();
Thread.sleep(2000);
//File Need to be imported
File file = new File("/Users/username/Documents/sampleFile.pdf");
StringSelection stringSelection = new StringSelection(file.getAbsolutePath());
//Copy to clipboard
Toolkit.getDefaultToolkit().getSystemClipboard().setContents(stringSelection, null);
// Cmd + Tab is needed since it launches a Java app and the browser looses focus
robot.keyPress(KeyEvent.VK_META);
robot.keyPress(KeyEvent.VK_TAB);
robot.keyRelease(KeyEvent.VK_META);
robot.keyRelease(KeyEvent.VK_TAB);
robot.delay(500);
//Open Goto window CMD+SHIFT+G
robot.keyPress(KeyEvent.VK_META);
robot.keyPress(KeyEvent.VK_SHIFT);
robot.keyPress(KeyEvent.VK_G);
robot.keyRelease(KeyEvent.VK_META);
robot.keyRelease(KeyEvent.VK_SHIFT);
robot.keyRelease(KeyEvent.VK_G);
robot.delay(500);
//Paste the clipboard value CMD+V
robot.keyPress(KeyEvent.VK_META);
robot.keyPress(KeyEvent.VK_V);
robot.keyRelease(KeyEvent.VK_META);
robot.keyRelease(KeyEvent.VK_V);
robot.delay(500);
//Press Enter key to close the Goto window and Upload window
robot.keyPress(KeyEvent.VK_ENTER);
robot.keyRelease(KeyEvent.VK_ENTER);
robot.delay(500);
robot.keyPress(KeyEvent.VK_ENTER);
robot.keyRelease(KeyEvent.VK_ENTER);
robot.delay(500);
robot.keyPress(KeyEvent.VK_ENTER);
robot.keyRelease(KeyEvent.VK_ENTER);
robot.delay(500);