asp.net多图片上传案例_ALLEN老师自动化测试小课堂 | 图片上传也可以自动化实现...

7cc2b847ecd2ff4c46b77ca4b0dddac2.png

一、图片上传简介

实现按钮上传文件,其实挺简单的:在实现UI自动化测试过程中,有一类需求是实现图片上传,这种需求根据开发的实现方式,UI的实现方式也会不同,比较简单的一种就是当开发直接使用file类型的input实现图片文件的上传时,实例:<input type="file" name=''filename">,我们可以直接利用Selenium提供的send_keys()方法实现文件上传,今天的内容就来解决这种类型的图片上传问题(但是因为依赖开发的实现,而且目前实现基本都会利用框架,所以这种实现方式有很大的局限性)

二、win10下安装PyUserInput模块

在自动化测试工具selenium(webdriver)中是包含鼠标和模块操作的,但是要先获取到页面元素才能使用键盘和鼠标,在有些场景这种方式是不够的(有些鼠标或键盘操作不依赖于页面元素)。这时候就用到了PyUserInput这个模块,其中就包含了对鼠标和键盘操作的模块。

但在python环境下,使用pip install pyuserinput进行安装的时候出现了问题:

b9adc2f551a25f3cc664f8360a6378f0.png

从提示信息上看是由于缺少了依赖模块pyHook,使用pip也没法安装pyHook模块,因此只能从http://www.lfd.uci.edu/~gohlke/pythonlibs/网站搜索pyHook下载到本地(win-64bit),然后使用pip命令进行安装:

pip3 install C:UsersLiGangDownloadspyHook-1.5.1-cp35-cp35m-win_amd64.whl

安装完成pyHook之后,再次执行pip install pyuserinput时候,又出现了不能自动安装pywin32模块,按照上面的网站搜索下载pywin32模块到本地(win-64),然后使用pip命令安装:

pip3 install C:UsersLiGangDownloads pywin32-227-cp37-cp37m-win_amd64.whl

再次执行pip install pyuserinput安装,成功了。

在python编辑器中输入如下代码,运行通过,则表明键盘和鼠标操作功能已可以使用。

三、案例

我们使用的案例是:http://xx.xxx.47.131/verydows/ 系统个人资料修改模块的头像修改:

9f4a40b239d605bc881b84c354a5c841.png

4891fe49712d182c92b220a96754b732.png

实现这个按钮上传文件,其实挺简单的:

5c562708b5bef9396e9b750cd1c86ea4.png

但是在其后面弹出的图片保存按钮,就遇到了麻烦,各种方式都试过了,元素可以识别到,但是各种定位方法都不行。

f0e960dcb4e03c8a8face03d1c2d6f94.png

在各种方式尝试过后,终于找到一个方法解决了这个问题,那就是PyMouse模块,我们通过这个模块定位到“保存头像”按钮所在的坐标位置,然后进行点击操作,最终实现了图片的上传及保存。

4957f83c7d898cd34756a509192066aa.png

欢迎关注作者,如果觉得写的还不错,就给点个赞同、喜欢、收藏(后续持续更新)。

【全文手打 如需转载 请标注此出处】

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值