博客
关于我
Python web自动化测试 —— 文件上传
阅读量:804 次
发布时间:2023-03-06

本文共 1197 字,大约阅读时间需要 3 分钟。

文件上传是软件测试工作中常见的操作之一,以下是三种常见的文件上传方式及其实现方法:

文件上传方式一:通过元素定位实现

如果元素标签为 input,可以直接使用 send_keys 方法,和普通文本输入类似,实现文件路径的输入。具体步骤如下:

  • 定位需要上传文件的元素
  • 输入文件路径
    ele = driver.find_element_by_id("id")driver.send_keys(r"c:\xxx.txt")time.sleep(3)
  • 注意事项:如果元素不是 input 标签,且涉及到文件夹中的文件,直接使用 send_keys 或 drag_and_drop 方法可能无法实现文件上传。建议使用其他方式。


    文件上传方式二:使用 pywinauto(仅适用于 Windows 系统)

  • 安装 pywinauto 包
    pip install pywinauto
  • 导入必要的模块
    from pywinauto.keyboard import send_keys
  • 实现文件选择的代码示例:
    import pywinauto# 打开文件选择窗口app = pywinauto.Desktop()dlg = app["打开"]# 定位文件路径输入框并输入路径send_keys("D:\data")send_keys("{VK_RETURN}")# 输入文件名file_input = dlg["文件名(&N):Edit"]file_input.type_keys("接口测试文件.pdf")# 点击打开按钮dlg["打开(&O)"].click()time.sleep(4)

  • 文件上传方式三:使用 pyautogui(跨平台)

  • 安装必要的库
    pip install pillow==6.2.2pip install pyautogui
  • 实现文件上传代码示例:
    import pyautoguiimport time# 输入文件路径(注意:路径中不能包含中文)pyautogui.write("d:xxx.txt")pyautogui.press("enter", 2)  # 输入两次 Enter 键# 如果路径包含中文,可以使用剪切板的方式import pyperclippyperclip.copy(r"d:\用户\文件.txt")pyautogui.hotkey("ctrl", "v")pyautogui.press("enter", 2)

  • 注意事项

  • 路径处理:在不同操作系统中,路径分隔符可能不同(Windows 使用反斜杠,macOS 和 Linux 使用正斜杠)。
  • 中文路径处理:直接输入中文路径可能导致错误,建议使用剪切板粘贴的方式。
  • 跨平台支持:如果需要支持多种操作系统,pyautogui 是更好的选择。
  • 以上方法均可在不同的场景中灵活应用,选择适合的工具可以提高测试效率。

    转载地址:http://zgafk.baihongyu.com/

    你可能感兴趣的文章
    python2和python3的pip版本升级
    查看>>
    python2和python3的区别
    查看>>
    python2备份交换机配置脚本
    查看>>
    Python3 - 在字符串格式化程序参数中使用变量
    查看>>
    Python3 A*寻路算法实现
    查看>>
    python3 grpc安装
    查看>>
    python3 mysql 封装多表_python3 mysql-多表查询
    查看>>
    python3 mysql8_Python MySQL8.0 错误:authentication plugin 'calling_sha2_password' is not supported....
    查看>>
    Python关键代码总览!从Zero到Hero必看的考点
    查看>>
    python3 robotframework+pycharm框架搭建
    查看>>
    Python3 shutil模块
    查看>>
    Python关于strftime函数详细解析 附实战代码
    查看>>
    Python3 tutorial day3
    查看>>
    python3 week4
    查看>>
    Python3 创建数组
    查看>>
    python3 套接字异常(a byte-like object is required not str)
    查看>>
    python3 实现用户三次输入错误记录黑名单并对该用户登录锁定-day1
    查看>>
    python3 文本变图片
    查看>>
    Python3 查看 com 组件的属性
    查看>>
    python3 案例分享--发邮件
    查看>>