如何用robotframework提取中文文件名并去掉后缀成?

摘要:问题背景 项目上有个模型文件一直在变动,但是自动化脚本里面导入该模型是把模型名称写死了的,因此更新了模型文件之后,自动化测试代码里面为了导入该文件也一直要修改,所以想通过模糊匹配文件名称来获取该文件名称并导入。 解决方案 使用List Fi
问题背景 项目上有个模型文件一直在变动,但是自动化脚本里面导入该模型是把模型名称写死了的,因此更新了模型文件之后,自动化测试代码里面为了导入该文件也一直要修改,所以想通过模糊匹配文件名称来获取该文件名称并导入。 解决方案 使用List Files In Directory关键字列出目录下面符合模糊匹配的文件名称,该关键字返回一个列表,获取列表中的第一个文件名称(项目中该文件名称前缀固定,后面携带的日期在变化) ${list}= List Files In Directory ${filepath}/mdaf/common/中文/应急中心/EMC_Package/ pattern=DC资源池级应急* Log ${list} ${dc_model}= Set Variable ${list[0]} Log ${dc_model} ${file_name} Remove String ${dc_model} .zip Set Suite Variable ${dc_file_name} ${file_name} 踩的坑 最开始直接AI提供的方案是使用 {dc_model}= Evaluate str('{dc_model}') {filename_without_ext}= Evaluate '{dc_model}'.replace('.zip', '') 结果却报错了UnicodeDecodeError: 'utf8' codec can't decode byte 0xe8 in position 0: unexpected end of data 类似的这种报错都是字符编码格式的。 出现这个问题的原因是使用了python的模块去处理字符串,默认转成了unicode字符串。
阅读全文