日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

Selenium+java - 借助autolt完成上传文件操作

發(fā)布時間:2025/10/17 编程问答 12 豆豆
生活随笔 收集整理的這篇文章主要介紹了 Selenium+java - 借助autolt完成上传文件操作 小編覺得挺不錯的,現(xiàn)在分享給大家,幫大家做個參考.

寫在前面:

上傳文件是每個自動化測試同學會遇到,而且可以說是面試必考的問題,標準控件我們一般用sendkeys()就能完成上傳,但是我們的測試網(wǎng)站的上傳控件一般為自己封裝的,用傳統(tǒng)的上傳已經(jīng)不好用了,也就是說用selenium的APi已經(jīng)無法完成上傳操作了,這時我們就要借用第三方工具Autolt來完成上傳文件的操作。

準備工作

1、下載autolt

官網(wǎng):https://www.autoitscript.com/site/autoit/downloads/,請自行下載

也可以百度下載綠色版,免安裝,筆者就是綠色版,下面案例都以綠色版進行講解

附百度網(wǎng)盤:鏈接: https://pan.baidu.com/s/1szmGK7wudsXKkH5xkEOnOQ 提取碼: dysb?

2、下載后解壓到指定目錄

3、被測網(wǎng)頁HTML代碼如下

<html> <head> <meta http-equiv="content-type" content="text/html;charset=utf-8" /> <title>上傳文件演示案例</title> </head> <body><div class="row-fluid"><div class="span6 well"><h3>upload File</h3><input id="upload" type="file" name="file" /></div></div> </body> </html>

編寫上傳腳本

  • 找到解壓目錄,雙擊AU3TOOL.exe,打開界面是寫腳本用的

  • 雙擊Au3Info.exe,打開定位工具界面

  • 在文件中輸入以下代碼:注意括號內(nèi)的參數(shù) ,下一步中會講如何獲取參數(shù)

ControlFocus("title1","","Edit1");? WinWait("[CLASS:#32770]","",10); ControlSetText("title1","","Edit1","文件地址"); Sleep(2000); ControlClick("title2","","Button1");

獲取上一步中(前3行代碼)中的參數(shù)

  • 接下來是,最后一行代碼中的title和button1

生成可執(zhí)行程序

?選擇工具-->編譯腳本

生成可執(zhí)行文件如下:

自動化測試腳本調(diào)用upload.exe完成上傳

具體代碼如下:

import org.openqa.selenium.By; import org.openqa.selenium.WebDriver; import org.openqa.selenium.chrome.ChromeDriver; import org.testng.annotations.AfterClass; import org.testng.annotations.BeforeClass; import org.testng.annotations.Test;import java.io.IOException;/*** @author rongrong* 上傳文件演示案例*/ public class TestUpload {WebDriver driver;@BeforeClasspublic void beforeClass() {System.setProperty("webdriver.chrome.driver", "driver/chromedriver.exe");driver = new ChromeDriver();}@Testpublic void testUpload() {driver.get("file:///C:/Users/Administrator/Desktop/index.html");driver.manage().window().maximize();//選擇文件driver.findElement(By.id("upload")).click();try {Runtime.getRuntime().exec("upload.exe");} catch (IOException e) {e.printStackTrace();}}@AfterClasspublic void afterClass() {driver.quit();}}

效果如下:

?

到此使用自動化調(diào)用autolt上傳文件的案例演示結(jié)束,可能很多同學會糾結(jié)autolt語法不會寫啥的,大可不必糾結(jié),基本寫完是一勞永逸的,不會在維護了,更多autolt的用法,有興趣的同學可以自行去官網(wǎng)查看了解。

?

轉(zhuǎn)載于:https://www.cnblogs.com/longronglang/p/11312140.html

總結(jié)

以上是生活随笔為你收集整理的Selenium+java - 借助autolt完成上传文件操作的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網(wǎng)站內(nèi)容還不錯,歡迎將生活随笔推薦給好友。