博客
关于我
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/

    你可能感兴趣的文章
    pytest学习和使用 - Pytest用例执行结果有哪几种状态?
    查看>>
    pytest实战技巧之参数化应用!
    查看>>
    Pytest实践:Python测试技术基础知识!
    查看>>
    Pytest数据驱动怎么玩?实战教程来了!
    查看>>
    Pytest框架 之【用例执行顺序】
    查看>>
    Pytest框架中的测试用例执行方式!
    查看>>
    pytest框架快速入门-pytest运行时参数说明,pytest详解,pytest.ini详解
    查看>>
    Pytest框架环境切换实战教程!赶快收藏
    查看>>
    Pytest测试实战|Conftest.py详解
    查看>>
    Pytest测试框架快速搭建
    查看>>
    pytest测试框架:最强大的自动化测试工具,让测试变得轻松有趣
    查看>>
    pytest简介及jenkins集成
    查看>>
    Pytest自动化框架运行全局配置文件pytest.ini
    查看>>
    pytest自动化测试-Git中的测试用例运行
    查看>>
    Pytest自动化测试-简易入门教程(01)
    查看>>
    Pytest自动化测试-简易入门教程(02)
    查看>>
    Pytest自动化测试-简易入门教程(03)
    查看>>
    Pytest自动化测试指定执行测试用例
    查看>>
    Pytest自动化测试框架 fixture 传参实战
    查看>>
    pytest自动化测试框架pytest.ini配置文件详细
    查看>>