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

使用vscode-extension-tester重命名文件夹/文件时遇到交互问题

使用vscode-extension-tester重命名文件夹/文件时遇到交互问题

我之前也踩过这个坑!你说的情况完全没错——触发重命名后弹出的确实不是标准的InputBox组件,它是嵌入在资源管理器里的行内编辑输入框,得换个思路来定位和操作它。

其实我们可以通过WebDriver的元素定位能力来获取这个输入框,配合显式等待确保元素加载完成,具体的代码实现如下:

// 你已有的触发重命名的代码
await item?.select();
const menu = await item?.openContextMenu();
await menu?.select('Rename...');

// 新增的重命名输入框操作逻辑
import { By, until, Key } from 'selenium-webdriver';

// 显式等待重命名输入框出现,超时时间设置为5秒
const renameInput = await driver.wait(
  until.elementLocated(By.xpath("//input[contains(@aria-label, 'Rename')]")),
  5000
);

// 清空原有名称(可选操作,直接输入新名称也会覆盖原有内容,但清空更稳妥)
await renameInput.clear();
// 输入你想要的新文件夹/文件名
await renameInput.sendKeys("your-new-folder-name");
// 按下回车键确认重命名操作
await renameInput.sendKeys(Key.ENTER);

一些实用小提示:

  • 如果你的测试环境里,重命名输入框的aria-label文本有差异,可以打开测试运行时的VSCode窗口,按F12调出开发者工具,直接查看这个输入框的DOM属性,调整xpath的定位条件(比如改用类名By.className('renamable-input'),具体以实际元素属性为准)
  • 务必使用显式等待(driver.wait),不要依赖隐式等待,这样能避免因元素未加载完成就执行操作导致的报错
  • 确保你的vscode-extension-tester版本和对应的VSCode版本兼容,不同版本的VSCode可能会微调这个输入框的DOM结构

内容来源于stack exchange

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.04.08 13:03:19