如何在Robot Framework单测试用例中检查.crt与.pem文件类型?
问题:调整Robot Framework自动化测试用例,支持检查.crt或.pem文件存在
现有基于Robot Framework的自动化测试用例,用于检查特定文件类型是否存在。此前仅检查.crt文件,现需调整为可检查.crt或.pem文件(支持两者任一或同时存在)。当前代码如下:
${certs}= SSHLibrary.List Files In Directory ${cert_file_path} *.crt
请问在单个测试用例中实现该需求的最简方法是什么?
最简实现方法
直接分两次获取两种类型的文件列表,合并后判断列表是否非空即可,逻辑清晰且兼容性强(避免依赖SSH服务器的复杂通配符支持):
# 获取目录下所有.crt文件 ${crt_files}= SSHLibrary.List Files In Directory ${cert_file_path} *.crt # 获取目录下所有.pem文件 ${pem_files}= SSHLibrary.List Files In Directory ${cert_file_path} *.pem # 合并两个文件列表 ${all_certs}= Collections.Merge Lists ${crt_files} ${pem_files} # 验证合并后的列表不为空,即存在至少一种目标文件 Should Not Be Empty ${all_certs} 未检测到.crt或.pem类型的证书文件
如果你的SSH服务器支持bash风格的扩展通配符(比如*.{crt,pem}),也可以用单次调用的方式,但这种方式兼容性较差,仅推荐在确定服务器环境支持时使用:
${all_certs}= SSHLibrary.List Files In Directory ${cert_file_path} *.{crt,pem} Should Not Be Empty ${all_certs} 未检测到.crt或.pem类型的证书文件
内容的提问来源于stack exchange,提问作者Tufty
相关产品推荐
相关产品推荐

