selenium autoit java_Java+Selenium——AutoIt工具处理文件上传
關(guān)于文件上傳,這邊介紹一個第三方工具,叫AutoIt,簡單來說,這個是一個能支持桌面GUI自動化的工具,它支持腳本語言編寫。這里,我們用AutoIt來做文件上傳的演示。在Selenium腳本中如果需要AutoIt來協(xié)助這個文件上傳功能,大概步驟是這樣的:
1. Selenium點(diǎn)擊web產(chǎn)品上的文件上傳按鈕,彈窗上傳框。
2.執(zhí)行AutoIt實(shí)現(xiàn)準(zhǔn)備好的腳本文件,這個腳本文件寫了關(guān)于上傳什么文件的一個.exe文件。
所以,我們先來介紹如何下載和安裝AutoIt。
1)打開AutoIt的官網(wǎng)下載地址
2)點(diǎn)擊下載zip
兩種下載方法都可以,這里我想下載的是zip,解壓出來如下圖.
3)點(diǎn)擊SciTe文件夾,我們打開腳本編輯器。
4)打開百度圖片上傳窗口,同時打開AutoIt 腳本編輯器和元素定位器。
拖動元素定位器上那個靶點(diǎn)形狀按鈕到文件上傳彈窗,能夠捕獲到一些元素信息。
5)在AutoIt腳本編輯器里輸入如下腳本,不要下面我寫的備注哈。
ControlFocus("文件上傳","","Edit1")
ControlSetText("文件上傳","","Edit1","C:\Users\del\Desktop\123.gif")
ControlClick("文件上傳","","Button1")
6)編譯成一個.exe文件
先保存到本地,例如默認(rèn)路徑保存,名稱為UploadFile.au3,
然后在AutoIt腳本編輯器中點(diǎn)擊Tools菜單,選擇compile,會在同路徑下生成一個UploadFile.exe的文件,
我們把這個文件拷貝到桌面,待會在Selenium腳本要使用。
7)Selenium腳本執(zhí)行123.exe文件,觀察文件是否上傳。
packagerjcs;importjava.io.File;importjava.awt.Rectangle;importjava.awt.Robot;importjava.awt.Toolkit;importjava.awt.image.BufferedImage;importjava.awt.image.BufferedImage;importorg.apache.commons.io.FileUtils;importorg.openqa.selenium.By;importorg.openqa.selenium.OutputType;importorg.openqa.selenium.TakesScreenshot;importorg.openqa.selenium.firefox.FirefoxDriver;importjava.text.DateFormat;importjava.text.SimpleDateFormat;importjava.util.Date;importjavax.imageio.ImageIO;public classzmjsj
{public static voidmain(String[] args)
{
System.setProperty("webdriver.firefox.bin","C:\\Program Files (x86)\\Mozilla Firefox\\firefox.exe"); //設(shè)置火狐的安裝路徑,防止系統(tǒng)找不到
FirefoxDriver driver= new FirefoxDriver(); //初始化FireFox瀏覽器實(shí)例,并打開瀏覽器
try{
driver.manage().window().maximize();//最大化窗口
Thread.sleep(3000);
driver.manage().window().maximize();//最大化窗口
Thread.sleep(3000);
driver.get("https://www.baidu.com/");
Thread.sleep(3000);
driver.findElement(By.xpath("//*/span[@class='soutu-btn']")).click(); //點(diǎn)擊照相機(jī)這個按鈕
Thread.sleep(8000);
driver.findElement(By.xpath("//*/input[@class='upload-pic']")).click(); //點(diǎn)擊本地上傳圖片
Thread.sleep(8000);
Runtime.getRuntime().exec("C:\\Users\\del\\Desktop\\123.exe");//執(zhí)行桌面的AutoIt封裝的腳本
Thread.sleep(10000);
}catch(Exception e)
{
e.printStackTrace();
}finally{
driver.quit();
}
}
}
總結(jié)
以上是生活随笔為你收集整理的selenium autoit java_Java+Selenium——AutoIt工具处理文件上传的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 2999元供不应求!摩托罗拉edge X
- 下一篇: 能够降低85%的能耗 IBM和三星的新芯