我正在开发一个机器人框架项目。测试的目标是评估 xml 文件名是否遵循特定模式。
第一次尝试:
*** Variables ***
${FILENAME} 222222_XT211-D(SM211)_Scenario_SetFrameCounter_result_6157_ok_02112024-172720.xml
${PATTERN} ^\d{6}_XT\d{3}-D\(SM\d{3}\)_Scenario_SetFrameCounter_result_\d{4}_ok_\d{8}-\d{6}\.xml$
*** Test Cases ***
Validate Xml Filename Structure
Should Match ${FILENAME} ${PATTERN}
第二次尝试:
*** Variables ***
${FILENAME} 222222_XT211-D(SM211)_Scenario_SetFrameCounter_result_6157_ok_02112024-172720.xml
${PATTERN} ^\d{6}_XT\d{3}-D\(SM\d{3}\)_Scenario_SetFrameCounter_result_\d{4}_ok_\d{8}-\d{6}\.xml$
*** Test Cases ***
Validate Xml Filename Structure
Should Match Rexep ${FILENAME} ${PATTERN}
但结果总是失败,我不知道到底失败在哪里: 这就是我得到的结果。 “222222_XT211-D(SM211)_Scenario_SetFrameCounter_result_6157_ok_02112024-172720.xml”与“^d{6}_XTd{3}-D(SMd{3})_Scenario_SetFrameCounter_result_d{4}_ok_d{8}-d{6}.xml$”不匹配'
您应该使用双反斜杠,因为 Robot Framework 本身使用反斜杠来转义测试数据。
所以在你的情况下
${PATTERN}
将是:
*** Variables ***
${PATTERN} ^\\d{6}_XT\\d{3}-D\\(SM\\d{3}\\)_Scenario_SetFrameCounter_result_\\d{4}_ok_\\d{8}-\\d{6}\\.xml$