Tosca中如何Buffer缓存指定目录下首个文件的文件名
Tosca中缓存指定目录下首个文件名的操作方法
全程使用Tosca内置标准模块即可实现,无需编写自定义脚本,操作步骤如下:
- 第一步:拉取目标目录文件列表
从标准模块库找到TBox List Files模块(路径:Standard Modules -> TBox Automation Tools -> File Operations),拖拽到测试用例中生成TestStep,按如下配置参数:Directory:填写目标目录的绝对路径,例如D:\TestData\UploadFilesFilter:填写文件匹配规则,匹配所有文件填*.*,仅匹配PDF填*.pdfIncludeSubdirectories:设为False,不扫描子目录内容ListDirectories:设为False,结果仅保留文件,排除文件夹SortBy:选择Name按文件名排序,SortOrder选择Ascending升序,保证排序逻辑符合预期
模块执行后,所有符合条件的文件全路径会按换行分隔,存储在输出参数FileList中
- 第二步:提取首个文件路径/文件名
拖拽TBox String Operation模块新建TestStep,配置参数拆分文件列表:SourceString:绑定上一步TBox List Files输出的FileList值Operation:选择Split拆分操作Delimiter:填写换行特殊字符{CRLF}
拆分完成后会生成索引从0开始的字符串列表,索引为0的元素就是排序后第一个文件的完整路径。如果需要缓存不带路径的纯文件名,可追加一步TBox Path Operation操作,选择GetFileName操作类型,输入为上述索引0的全路径值,即可输出纯文件名。
- 第三步:将结果写入Buffer缓存
拖拽TBox Set Buffer模块新建TestStep,配置两个核心参数:BufferName:自定义Buffer名称,例如FirstTargetFileValue:绑定上一步提取到的首个文件全路径/纯文件名
执行该步骤后,文件名就完成了Buffer缓存,后续任意测试步骤中都可以通过{B[FirstTargetFile]}直接调用该缓存值。
操作提示:如果不需要自定义排序逻辑,可以省略
SortBy和SortOrder的配置,模块默认会按文件系统返回的自然顺序取第一个元素,和资源管理器打开目录时看到的首个文件顺序一致。
内容的提问来源于stack exchange,提问作者Reimon Pangan
相关产品推荐
相关产品推荐

