web自动化——解决不同操作系统模拟上传文件

在使用selenium进行web自动化测试时,遇到上传文件的挑战。由于文件上传窗口超出了selenium的控制范围,本文介绍了如何利用pyautogui库在Windows和Mac操作系统中模拟用户选择文件。通过获取操作系统类型、处理输入法问题以及处理文件路径,实现了在不同系统下的文件上传功能。核心代码展示了在不同系统下如何执行文件路径的输入和粘贴操作。
摘要由CSDN通过智能技术生成

场景:在使用selenium进行web自动化的时候,遇到了上传文件的用例,点击上传按钮选择需要上传的文件,上传成功后将文件处于服务器的地址返填到前面的输入框

问题:无法通过selenium直接模拟上传文件的操作

分析:因为上传文件的弹窗已经脱离了selenium的管控范围,需要引入三方插件或者三方库来模拟用户选择文件的操作

解决思路:使用AutoIt该工具可以实现windows下的桌面自动化,但是我需要在mac下也能完成文件上传的操作,所以AutoIt不行。最后考虑采用pyautogui这个三方库,模拟键盘操作,整个实现逻辑为:

  • 在选择文件窗口输入文件全路径
  • 点击回车按钮完成文件选择操作

实现:

在实际操作过程中的问题: 

1.不同操作系统按下的快捷键是不同的,比如windows的粘贴是ctrl+v,mac的是command+v

        解决:首先获取到操作系统,通过if语句控制不同的操作系统走不同的分支 

2.直接调用pyautogui.typewrite()方法键入文件全路径,如果是在中文输入法下有问题

        解决:采用复制粘贴的形式实现文件路径的输入。此处又引入了另一个三方库pyperclip,通过调用pyperclip.copy()方法实现将字符串复制到剪贴板然后键入粘贴快捷键

3.上传的文件在不同系统存放的问题

        解决&

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值