博客
关于我
Python web自动化测试 —— 文件上传
阅读量:800 次
发布时间: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 tkinter 中的多处理
    查看>>
    Python tweepy写入到sqlite3 db
    查看>>
    Python TypeError:格式字符串的参数不足
    查看>>
    Python UI自动化测试Page Objects企业级实战
    查看>>
    python谷歌翻译,2021年9月10日亲测可用,一次可以翻译十万,强烈star
    查看>>
    Python UI自动化测试数据驱动实战
    查看>>
    Python UI自动化测试集成UnitTest
    查看>>
    Python UI自动化测试集成UnitTest
    查看>>
    python unicode-escape
    查看>>
    Python unittest mock:是否可以在测试时模拟方法默认参数的值?
    查看>>
    Python unittest单元测试框架 TestSuite测试套件
    查看>>
    PYTHON调离线语音合成并实时播放
    查看>>
    python unittest高级特性!
    查看>>
    Python unittest:如何将标准输出消息临时重定向到缓冲区并测试其内容?
    查看>>
    Python urllib/Requests下载文件失败,但浏览器下载失败
    查看>>
    Python urllib2 文件上传问题
    查看>>
    Python urllib2.open 连接由对等错误重置
    查看>>
    python urllib2详解及实例
    查看>>
    Python url请求提示certificate verify failed unable to get local issuer certificate
    查看>>
    Python UTC 日期时间对象的 ISO 格式不包括 Z(祖鲁语或零偏移)
    查看>>