katalon Robot实现弹窗操作上传文件,Mac环境

本文讲述了在使用Katalon框架进行Web测试时,如何通过SeleniumWebDriver和JavaRobot类实现点击文件上传按钮、模拟CMD+Tab和CMD+V等操作来处理upload弹窗,包括模拟剪贴板操作和关闭窗口的过程。
摘要由CSDN通过智能技术生成

首先参考以下文章:

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);

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值