【问题标题】:Test is not finding variable used within the same test测试未找到在同一测试中使用的变量
【发布时间】:2021-07-11 02:53:02
【问题描述】:

我将测试的组织分为三个步骤:

CreateProfessionalTest.robot:测试场景所在的位置

CreateProfessionalPage.robot:页面变量和元素在哪里

CreateProfessionalSteps.robot:测试执行关键字在哪里

CreateProfessionalSteps.robot 中,在测试的某些部分,我使用 FakerLibrary 创建名称并放置选项设置全局变量,因为我将需要在另一部分使用相同的假名称相同的测试。

${FAKE_PROFESSIONAL_NAME}           FakerLibrary.name male
Set Global Variable                 ${FAKE_PROFESSIONAL_NAME}
Log                                 ${FAKE_PROFESSIONAL_NAME}
Input Text                          ${PROFESSIONAL_NAME_FIELD}           ${FAKE_PROFESSIONAL_NAME}

然后,已经在 CreateProfessionalPage.robot 上创建一个带有 Xpath 的变量,其中包含变量 ${FAKE_PROFESSIONAL_NAME},因为我想查找这个假名称的特定元素。

${PROFESSIONAL_STATUS_CARD}     xpath=//p[text()='${FAKE_PROFESSIONAL_NAME}']/following::div/following::div/following::div[@class='mp-card--actions']

最后,在CreateProfessionalSteps.robot里面,我想把这个元素里面的文字拿来比较一下,看看是否正确。

${PROFESSIONAL_STATUS}    Get Text       ${PROFESSIONAL_STATUS_CARD}

但是当我运行测试时,它返回以下错误消息:

[ ERROR ] Error in file 'C:\Professionals\CreateProfessionalPage.robot' on line 132: Setting variable '${PROFESSIONAL_STATUS_CARD}' failed: Variable '${FAKE_PROFESSIONAL_NAME}' not found.

为什么会这样?

【问题讨论】:

标签: robotframework


【解决方案1】:

我猜您收到此错误是因为您尝试将动态变量值用于定位器变量 ${PROFESSIONAL_STATUS_CARD},该变量在变量表中定义,但变量 ${FAKE_PROFESSIONAL_NAME} 在此上下文中不存在,如其定义一个关键字,而不是在变量表部分。

【讨论】:

    猜你喜欢
    • 2021-09-24
    • 2019-07-09
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2015-01-08
    • 1970-01-01
    • 2022-01-18
    • 1970-01-01
    相关资源
    最近更新 更多