博客
关于我
Python web自动化测试 —— 文件上传
阅读量:796 次
发布时间: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 django mysql写入中文乱码_django自动创建的mysql表里面中文乱码问题
    查看>>
    python docx的超链接网址和链接文本
    查看>>
    python elasticsearch 导出数据到json文件导入到另一个es中
    查看>>
    python进阶(1):json的使用
    查看>>
    python ETL工具 pyetl
    查看>>
    Python eval 函数说明
    查看>>
    python eval简介
    查看>>
    python excel 饼图 简书_Python实现绘画多个饼图
    查看>>
    python excel接口自动化测试框架!
    查看>>
    Python exec 函数解析:探索动态代码执行的无限可能!
    查看>>
    Python EXEC和__NAME__
    查看>>
    Python exe文件打包神器-Nuitka!
    查看>>
    python file
    查看>>
    Python FileDialog获取文件夹路径不是文件
    查看>>
    python filter过滤器的使用_python基础知识分享:zip()、filter函数和reduce如何使用?...
    查看>>
    python flask 请求code 400, message Bad request version
    查看>>
    Python Flink Stateful函数入口上的Kafka键访问
    查看>>
    Python float - str - 浮动怪异
    查看>>
    Python Flower库:分布式任务管理与监控
    查看>>
    Python for 循环和迭代器行为
    查看>>