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

Robot Framework下拉选图片上传失败,视频上传正常求助

Robot Framework中图片上传失败但视频上传正常的问题排查

我在Robot Framework中遇到一个异常问题:从下拉菜单选择「Image」选项后尝试上传图片文件失败,但选择「Video」选项上传视频文件却能成功。以下是图片和视频对应的定位器及操作代码:

图片(上传失败)

# 选择图片
click element         css:body > app-root > div > app-master > div > div.full-height > div > div > div > app-campaign-builder > div > div > div > app-setup-media > div > div > app-modal-popup > div > app-base-modal > div > div > div.flowbuilder-overlay-content > app-setup-node-properties > app-richcard-carousel > form > div > div.block-level-left > section > app-tabs > div.tab-body > app-richcard-carousel-tab-selection > form > div > div > div > div.flex-row.image-containter > ng-conatiner > div.form-fields.align-center > div > div > app-dropdown > div > div > select > option:nth-child(1)

# 上传图片文件
Choose File /html/body/app-root/div/app-master/div/div[3]/div/div/div/app-campaign-builder/div/div/div/app-setup-media/div/div/app-modal-popup/div/app-base-modal/div/div/div[2]/app-setup-node-properties/app-richcard-carousel/form/div/div[1]/section/app-tabs/div[1]/app-richcard-carousel-tab-selection/form/div/div/div/div[1]/ng-conatiner/div[2]/section/app-file-uploader-crop-image/div/div/div/input         ${TestDataDir}/FileUpload.jpeg

视频(上传正常)

# 选择视频
click element        css:body > app-root > div > app-master > div > div.full-height > div > div > div > app-campaign-builder > div > div > div > app-setup-media > div > div > app-modal-popup > div > app-base-modal > div > div > div.flowbuilder-overlay-content > app-setup-node-properties > app-richcard-carousel > form > div > div.block-level-left > section > app-tabs > div.tab-body > app-richcard-carousel-tab-selection > form > div > div > div > div.flex-row.image-containter > ng-conatiner > div.form-fields.align-center > div > div > app-dropdown > div > div > select > option:nth-child(2)

# 上传视频文件
Choose File          /html/body/app-root/div/app-master/div/div[3]/div/div/div/app-campaign-builder/div/div/div/app-setup-media/div/div/app-modal-popup/div/app-base-modal/div/div/div[2]/app-setup-node-properties/app-richcard-carousel/form/div/div[1]/section/app-tabs/div[1]/app-richcard-carousel-tab-selection/form/div/div/div/div[1]/ng-conatiner/div[2]/section/app-file-uploader-video/div/div/input       ${TestDataDir}/Video Upload.mp4

排查方向及解决建议

  1. 修正定位器拼写错误
    所有定位器中的ng-conatiner都是拼写错误,正确应为ng-container。这个错误会直接导致元素定位失败,是图片上传失败的核心原因之一,先修正所有出现该拼写的定位器。

  2. 优化定位器,避免绝对路径
    当前使用的绝对CSS/XPath路径极易受页面结构变化影响,建议改用更稳定的相对定位:

    • 选择图片选项可改为:
      click element    xpath://app-dropdown//select/option[text()="Image"]
      
    • 图片上传input可改为:
      Choose File    css:app-file-uploader-crop-image input[type="file"]    ${TestDataDir}/FileUpload.jpeg
      
  3. 添加元素等待逻辑
    选择Image选项后,页面可能动态渲染上传组件,需等待元素可见后再执行上传:

    Wait Until Element Is Visible    css:app-file-uploader-crop-image input[type="file"]    10s
    Choose File    css:app-file-uploader-crop-image input[type="file"]    ${TestDataDir}/FileUpload.jpeg
    
  4. 验证文件路径与合法性
    确认${TestDataDir}/FileUpload.jpeg路径正确,文件存在且未损坏,可通过日志打印路径验证:

    Log    ${TestDataDir}/FileUpload.jpeg    INFO
    
  5. 检查上传组件的属性限制
    手动查看页面中图片上传input的accept属性,确认是否允许.jpeg格式;同时对比视频上传组件的差异,排查是否存在特殊的JS逻辑需要触发。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.15 08:25:13