博客
关于我
Python web自动化测试 —— 文件上传
阅读量:799 次
发布时间: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_keysdrag_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/

    你可能感兴趣的文章
    Python ftplib - 指定端口
    查看>>
    Python furl库:一键搞定复杂URL操作
    查看>>
    Python GC 也会关闭文件吗?
    查看>>
    python gen_key.py 报错 提示找不到OpenSSL lib
    查看>>
    python getattrribute_Python学习——面向对象高级之反射
    查看>>
    Python进阶语法:字典推导式
    查看>>
    python gil_Python中GIL的使用详解
    查看>>
    python glob.glob使用
    查看>>
    python glob的安装和使用
    查看>>
    Python google drive API 下载,文件在哪里?
    查看>>
    Python GPS 模块:读取最新的 GPS 数据
    查看>>
    python grpc入门
    查看>>
    python gRPC测试helloworld
    查看>>
    python gRPC简单示例
    查看>>
    Python GUI 开发:全面指南
    查看>>
    Python GUI编程
    查看>>
    Python hashlib模块
    查看>>
    python hashlib模块
    查看>>
    python if,循环的练习
    查看>>
    Python in open course (week3)
    查看>>