1. 编写一个VB脚本,并使用Autoit工具将其编译为.exe文件。
脚本内容为:
Dim $filePath = "C:\2.jpg"
Dim $dialogTitle = "打开"
WinActivate($dialogTitle)
WinWaitActive($dialogTitle)
Sleep(1*1000)
ControlSetText($dialogTitle,"","Edit1",$filePath)
ControlClick($dialogTitle,"","Button1")
Sleep(1*1000)
2. 编写一个java文件测试一下吧。
public class Upload {
WebDriver driver = null;
@BeforeTest
public void beforeTest() {
//Chrome浏览器
System.setProperty("webdriver.chrome.driver", "./plugin/driver/chromedriver.exe");
driver = new ChromeDriver();
//IE浏览器
/*System.setProperty("webdriver.ie.driver", "./plugin/driver/IEDriverServer.exe");
DesiredCapabilities ieCapabilities = DesiredCapabilities.internetExplorer();
ieCapabilities.setCapability(InternetExplorerDriver.INTRODUCE_FLAKINESS_BY_IGNORING_SECURITY_DOMAINS, true);
driver = new InternetExplorerDriver(ieCapabilities);*/
}
@Test
public void autoIT_Upload() throws InterruptedException {
driver.get("file:///D:/demo.html");
//定位“选择文件”按钮
WebElement loadBtn = driver.findElement(By.id("load"));
//点击该按钮,打开选择文件的Windows弹窗
loadBtn.click();
//指定脚本文件的位置
String path = "D:/upload.exe";
execShell(path);
Thread.sleep(6000);
}
@AfterTest
public void afterTest() {
if(driver != null)
driver.close();
}
//定义一个工具类,执行Autoit的脚本文件
public static void execShell(String path){
Runtime r = Runtime.getRuntime();
try {
r.exec(path);
} catch (IOException e) {
e.printStackTrace();
}
}
}
如果只是想试试VB脚本是不是正确,就不用写java文件了。直接打开Windows的画板,点“文件>打开”,然后去执行那个exe文件,如果图片在画板里打开了,就说明脚本没有问题。
Give it a try! Good Luck!!