web自动化测试图片上传非input输入框

本文介绍使用AutoIt和SuperPatrick工具实现非input输入框的文件上传自动化。通过详细步骤讲解如何安装AutoIt,编写并编译脚本,以及在Java项目中调用编译后的.exe文件。同时提供SuperPatrick作为另一种解决方案。

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

input输入框一般可以采用selenium 的sendkeys方法实现

非input输入框如何实现文件上传呢

非常简单的方法是利用桌面自动化工具AutoIt 实现

首先下载安装:https://www.autoitscript.com/site/autoit/downloads/

安装完成在开始菜单找到AutoIt v3,如图

很简单,看英文就知道他们是干啥的,从上到下依次是

帮助文档

窗口信息(就是捕捉窗口信息的工具)

检查升级(废话)

compile Script to .exe编译为 .exe可执行文件的工具(也是废话)

Run Script 执行AutoIt脚本

SciTE Script Editor 用于编写AutoIt 脚本

1.打开AutoIt Window Info

拖动鼠标到输入框和打开按钮,注意观察class title Instance 这几个值

2.打开SciTE Script Editor

粘贴如下代码

 

;ControlFocus("title","text",controlID) Edit1=Edit instance 1
ControlFocus("文件上传", "","Edit1")
; Wait 10 seconds for the Upload window to appear
  WinWait("[CLASS:#32770]","",10)
; Set the File name text on the Edit field
  ControlSetText("文件上传","", "Edit1",$CmdLine[1])
  Sleep(2000)
; Click on the Open button
  ControlClick("文件上传","","Button1");

分号开头的是注释,红色的是参数,很简单

ControlSetText("打开","", "Edit1",$CmdLine[1])

这行代码的意思就是定位到title为 "打开" class 为Edit, Instance为1 的控件上 ,输入第一个传入的参数

这里我使用了参数化的方法,将要上传的图片进行了参数化,直接传入图片地址也是可以的如

 

ControlSetText("打开","","Edit1","C:\Users\Administrator\Desktop\1.png")

然后保存文件

3.打开compile Script to .exe,传入刚才的.au3 脚本文件,执行编译

4.编译完成就出现了一个.exe 文件

5.有了EXE文件就简单了,首先把.exe文件加到你的项目中,这里我是Java项目

然后用Java调用.exe 文件就行了,记得传入参数

//先使用selenium 的click 点击元素来弹出Windows上传文件的输入框
                    Thread.sleep(1000);
                    this.license_img.click();//这license_img 是WebElement
                    log.info("上传图片");
                    String[] cmd = {"uploadss.exe", "\img\1.png"};//这里图片传入路径,我用的相对路径,绝对路径也可以
                    Runtime.getRuntime().exec(cmd);//Java中执行exe的方法
                    Thread.sleep(5000);

OK,大功告成,把这些加入你的自动化项目试试吧,还有别的方法吗

那当然了,其实差不多了,有另外一款桌面自动化工具可供使用,是国内测试大牛开发的Windows桌面自动化工具SuperPatrick,使用方法和AutoIt差不多。

附上地址,里面有各种语言的使用教程,非常详细 ,希望大家多多评论,点赞,打赏

http://www.autotestops.com/
        

 

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值