我将测试的组织分为三个步骤:
测试场景所在的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,上创建了一个包含变量${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.为什么会发生这种情况?
发布于 2021-07-10 18:53:02
我猜您得到这个错误是因为您试图为一个定位变量${PROFESSIONAL_STATUS_CARD}使用动态变量值,这个变量是在变量表中定义的,但是变量${FAKE_PROFESSIONAL_NAME}在这个上下文中并不存在,因为它在关键字中定义,而不是在变量表部分中。
https://stackoverflow.com/questions/68322703
复制相似问题