You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何在Selenium IDE Web Driver中通过指定XPath实现PDF上传自动化测试?

Selenium IDE 实现PDF文件上传自动化测试方案

核心原理

Selenium体系中无需模拟点击唤起系统文件选择弹窗,直接对type="file"的原生输入框传入文件本地绝对路径即可完成上传操作,你已经完成了上传控件的XPath定位,可直接按照下方步骤配置:

Selenium IDE 可视化操作步骤

  • 提前准备测试用PDF文件,复制其对应测试运行设备上的绝对路径(Windows路径格式为C:\测试目录\测试文件.pdf,macOS/Linux路径格式为/home/xxx/测试目录/测试文件.pdf)
  • 打开对应测试用例,新增一条命令,命令项选择type(部分版本显示为send keys)
  • 「目标」输入框填入你已配置的定位规则:xpath=//input[@id='inputGroupFile03']
  • 「值」输入框填入准备好的PDF文件绝对路径
  • 若页面上传后需要手动点击确认提交,可额外新增一条click命令,定位到提交按钮执行即可

注意事项

  1. 不要提前对该上传input元素执行click命令,否则会唤起系统原生文件选择窗口,Selenium IDE无法操作系统原生控件,会导致测试中断
  2. 确保测试运行设备上该PDF路径真实有效、文件未被占用,且后缀为.pdf符合上传规则
  3. 如果页面将原生file input设为隐藏状态(用于自定义上传按钮样式),可先新增一条execute script命令,脚本内容填arguments[0].style.display = 'block';,目标同样填该input的XPath,将元素改为可见状态后再执行上传操作

Selenium WebDriver 代码示例(Python)

如果是基于代码编写WebDriver自动化用例,可参考以下实现:

from selenium import webdriver
from selenium.webdriver.common.by import By

# 初始化驱动
driver = webdriver.Chrome()
driver.get("替换为你的测试页面访问地址")

# 定位上传控件并传入文件路径
upload_input = driver.find_element(By.XPATH, "//input[@id='inputGroupFile03']")
upload_input.send_keys("替换为你的PDF文件绝对路径")

# 按需新增提交操作
# driver.find_element(By.XPATH, "替换为提交按钮的定位规则").click()

内容的提问来源于stack exchange,提问作者mohd sohail

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.09.26 14:06:07