验证 xml 文件名称的模式

问题描述 投票:0回答:1

我正在开发一个机器人框架项目。测试的目标是评估 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$”不匹配'

python robotframework
1个回答
0
投票

您应该使用双反斜杠,因为 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$
© www.soinside.com 2019 - 2024. All rights reserved.