前小米测试总监教你web自动化的文件上传操作

前小米测试总监教你web自动化的文件上传操作

在做web自动化时会碰到文件上传的实现功能,这个时候我们应当如何使用selenium进行文件的上传呢?
标签类型为input,直接selenium直接上传

我们在做selenium自动化时,必须要面临的就是页面元素的定位,如果该上传文件功能的标签类型为input,

例如:

以上类型的上传文件功能,我们可以直接使用selenium中的元素定位+send_keys()方法,括号内传入文件路径,

例如:

driver.find_element_by_xpath("").send_keys(r"c:/test.png")

以上是针对于元素类型为input可直接使用selenium上传。

二、标签类型非input,借助工具AutoIT上传

Autoit介绍

Autoit是一个类似脚本语言的软件,可对鼠标,键盘,窗口等进行定位及操作,将其编写成一个文件,然后转化为电脑可执行的exe文件。

下载地址:https://www.autoitscript.com/site/autoit/

安装autoit后可在电脑所有程序中找到:

在这里插入图片描述
AutoIt Window Info :然后打开页面元素上传控件,使用autoit window info进行定位

在这里插入图片描述
可看到定位此控件相关信息为:Title=“打开”,Class为Button,Instance=1,class的坐标为#32770。我们就是利用控件的这些信息,定位控件,编写脚本。

SciTE Script Editor
在这里插入图片描述
在所有程序中搜索SciTE Script Editor,打开软件,在里面编辑相关控件内容:

  • ControlFocus:设定聚焦到某个窗口的某个控件上

  • WinWait:设定超时时间,直到某个元素坐标出现

  • ControlSetText:修改指定控件的文本信息,添加上传文件的路径

  • ControlClick :向鼠标发起指令进行操作控件

  • sleep:设置等待时间

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

;识别windows窗口

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

;窗口等待十秒

ControlSetText(“打开”, “”, “Edit1”, “C:\User\sergou\Desktop\picture\1.png”)

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

Sleep(2000)

ControlClick(“打开”, “”,“Button1”);

;点击[打开】按钮

脚本编写完成后,可以通过菜单栏“Tools”–>“Go” 运行一下脚本进行调试查看效果。注意,运行的时候,上传窗口需处于打开状态。

Complie Script to .exe

在电脑所有程序中找到Complie Script to .exe软件,对以上编辑保存的文本进行转译成电脑可执行的exe文件
在这里插入图片描述
在这里插入图片描述
点击browse选择保存的文本,点击convert转译生成一个exe可执行文件,以上即是使用autoit进行文件上传的流程。

python+selenium+autoit

接下来我们需要结合web自动化,如何使用python+selenium+autoit进行文件的上传。
在这里插入图片描述
以上代码可得知,我们需要先定位上传空间元素并点击,然后使用python中的os.system()方法执行我们提前准备好的exe文件,这样既可实现文件上传的功能!


三,通过接口请求,轻松实现文件上传功能自动化

自动化测试过程中,有些特定的业务场景,如果通过UI自动化非常难实现,可以通过接口结合UI自动化,满足自动化测试场景需求

比如上传文件,虽然通过selenium或Autoit能实现,但是建议文件上传类型的自动化通过调用文件上传接口,轻松实现自动化

如图所示:postman调用文件上传接口
在这里插入图片描述
那么,通过python+request同样可以轻松实现文件上传功能接口自动化
在这里插入图片描述


如果对软件测试、接口测试、自动化测试、持续集成、面试经验。感兴趣可以进到893694563,群内会有不定期的分享测试资料。还会有技术大牛,业内同行一起交流技术

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

码上开始

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值