TestCafe:如何从测试代码中获取当前工作目录?
解答
TestCafe本身没有提供专门获取当前工作目录的内置API,但因为它运行在Node.js环境中,你可以直接借助Node.js的原生能力实现需求:
- 使用Node.js的
process.cwd()方法,它会返回当前Node进程的工作目录,结果和bash的pwd命令完全一致。 - 结合Node.js的
path模块安全拼接路径,避免手动拼接字符串时出现路径分隔符适配问题。
示例代码:
const path = require('path'); // 获取当前工作目录 const currentWorkingDir = process.cwd(); // 拼接TestCafe默认的results目录路径 const resultsDir = path.join(currentWorkingDir, 'results'); // 后续可将自定义XML报告写入resultsDir路径下
这种方式无需额外设置环境变量,比你当前用export pwd=$(pwd)的方法更直接可靠,完全能在TestCafe测试代码内部完成路径的获取与拼接。
补充说明:TestCafe自带报告的默认输出目录./results本身就是相对当前工作目录的,所以用process.cwd()拼接出的路径和TestCafe内置报告的路径完全一致,能确保自定义报告和内置报告放在同一目录下。
内容的提问来源于stack exchange,提问作者JESii
相关产品推荐
相关产品推荐

