JAVA+selenium3上传文件:三种方式

        以下方法均以QQ邮箱首页为例:QQ邮箱登陆、验证信息直接设定等待时间,手动点击进入到“写信”界面即可

方法1:直接input上传  input->sendkeys

public class test13 {

    public static void main(String[] args) throws InterruptedException {

        System.setProperty("webdriver.chrome.driver","E:\\ceshiruanjian\\chromedriver_win32\\chromedriver.exe");
        WebDriver driver = new ChromeDriver();

        driver.get("https://mail.qq.com/");

        Thread.sleep(20000);
        driver.findElement(By.name("UploadFile")).sendKeys("E:\\测试\\test.docx");
}
}

        

方法2:第三方工具——autolt V3

         在使用selenium做自动化测试web应用时,就会遇到一个问题就是,当使用selenium自动化点击了网页中上传文件的按钮后,弹出一个选择文件的弹框,由于这个弹框是属于操作系统的而非浏览器,selenium程序就无法进行后续的操作了,这时侯就我们就可以使用AutoIt编写自动化脚本,来执行后续的自动选择文件的操作

        写清楚autolt代码,直接运行即可

相关链接:全网最全AutoIt3基础教程及实战案例_autoit v3_River_何的博客-CSDN博客

方法3:java代码去执行exe文件

1)编写好脚本,打包成exe

2)selenium写好脚本打开上传附件窗口

3)通过java代码去执行exe文件

public class test16 {
    public static void main(String[] args) throws InterruptedException, IOException {     
        System.setProperty("webdriver.chrome.driver",
"E:\\ceshiruanjian\\chromedriver_win32\\chromedriver.exe");
        WebDriver driver = new ChromeDriver();
        driver.get("https://mail.qq.com/");
        Thread.sleep(8000);
        //进入frame框架
        driver.switchTo().frame("mainFrame");
        driver.findElement(By.id("AttachFrame")).click();
        Thread.sleep(2000);
        //执行exe文件
        Runtime run = Runtime.getRuntime();
        run.exec("E:\\ceshiruanjian\\autoit-v3-setup\\java.exe");

    }
}

  • 0
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值