selenium autoit java_selenium+java利用AutoIT实现文件上传

本文介绍了如何利用Java Selenium与AutoIT配合,实现文件上传功能。首先,介绍了AutoIT的基本概念和作用,然后讲解了通过AutoIT编写脚本、编译成可执行文件,并在自动化测试中调用该文件进行文件上传的操作步骤。文中还提供了具体的AutoIT脚本编写和编译方法。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

1、AutoIT介绍

AutoIT是一个类似脚本语言的软件,利用此软件我们可以方便的实现模拟键盘、鼠标、窗口等操作,实现自动化。

2、实现原理

利用AutoIT编写合适的脚本,然后将脚本编译成可执行文件,在自动化实现时,直接调用此脚本实现文件上传。

备注:编写脚本和编译,需要借助AutoIT提供的工具,但是脚本编译成可执行文件后,可以直接使用,不再需要安装AutoIT。

3、自动化调用

AutoIT脚本编译成可执行文件后,放到本地的某一个目录下

自动化实现过程中,需要上传图片时,首先定位到【上传】字样文本,点击此按钮

执行编辑后的可执行文件,实现文件上传

实例:

假如,要上传图片的页面及html显示如下:

aee220a56fff33757047b39acb4c58f7.png

利用AutoIT编写的脚本编译后的可执行文件的存放目录:E:\upfile.exe

自动化实现代码:

4、AutoIT安装

下载并安装AutoIT,下载链接:https://www.autoitscript.com/site/autoit/

AutoIT安装成功后,可以在开始菜单下看到AutoIT的所有工具,如下图所示:

2d0028cb4592973045a796069d0e4ae9.png 其中分为几类,AutoIT Window Info用来识别Windows控件,根据识别的控件信息编写脚本;Complie Script to .exe,用来将利用AutoIt编写的脚本,编译成可执行文件;Run Script 用来执行AutoIT的脚本信息;SciTE Script Editor用来编写AutoIt脚本。

接下来就是利用以上四种工具,来编写AutoIT脚本,然后编译成可执行文件

5、利用AutoIT编写脚本

(1)  AutoIt Window Info

打开此工具,利用此工具来识别Windows控件信息,如输入框、按钮等。

此工具打开的界面显示:

ecab957c3008e00ab4de2ac8da83386e.png

用鼠标拖住工具上的Finder Tool的图标(即图中蓝色圈圈部分)到要识别的控件上,控件的唯一标识信息会显示在工具的左侧部分(图中红框标出的部分)。

从显示的结果得知,此控件的Title=“打开”,Class为Button,Instance=1。我们就是利用控件的这些信息,定位控件,编写脚本。

(2) SciTE Script Editor

根据以上所识别的空间信息,利用此编辑器,利用此软件根据AutoIT的语法编写脚本。

附实现文件上传需要的几个方法:

ControlFocus ( "窗口标题", "窗口文本", 控件ID)   设置输入焦点到指定窗口的某个控件上(即:控件ID“文件名”输入框的id)

WinWait ( "窗口标题" [, "窗口文本" [, 超时时间]] )  暂停脚本的执行直至指定窗口存在(出现)为止

ControlSetText ( "窗口标题", "窗口文本", 控件ID, "新文本" )   修改指定控件的文本(即:控件ID“文件名”输入框的id)

Sleep ( 延迟 )   使脚本暂停指定时间段

ControlClick ( "窗口标题", "窗口文本", 控件ID [, 按钮] [, 点击次数]] )  向指定控件发送鼠标点击命令(即:控件ID“打开”按钮的id)

其中,title即AutoIt Window Info识别出的Title字段,controlID即AutoIt Window Info识别出的Class和Instance的拼接,如上图拼接后的结果应为:Button1

实例:

1832fbad7a89f0252eabc272449d4769.png

ControlFocus("打开","","Edit1")

;识别windows窗口

WinWait("[CLASS:#32770]","",10)

;窗口等待十秒

ControlSetText("打开", "", "Edit1", "C:\Users\vivo\Desktop\award_code_template5.xls")

;想输入框中输入需要上传的地址

Sleep(2000)

ControlClick("打开", "","Button1");

;点击[打开】按钮

AutoIT脚本编写完成后,保存后才可以通过菜单栏“Tools”-->“Go” 运行一下脚本。注意,运行的时候,上传窗口需处于打开状态。

6、AutoIT脚本编译成可执行文件

脚本编辑运行无误后,将其保存。然后打开Complie Script to .exe工具,将保存的脚本编译成exe可执行文件。

b738f8ba86b8266d1fdbd20279084cac.png

点击“Browse”选择保存的脚本文件,点击“Convert”将其生成exe文件。

driver.findElement(By.name("uploadFile")).click();//点击选择文件按钮

Thread.sleep(3000);//设置等待3秒

Runtime exe =Runtime.getRuntime();//Java 的Runtime 模块的getruntime.exec()方法可以调用exe 程序并执行。

try{

String str= "E://upload.exe";

exe.exec(str);//运行指定位置的.exe文件

} catch(IOException e) {

System.out.println("Error to run the exe");

e.printStackTrace();

}

至此,利用AutoIT实现图片上传的流程结束。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值