【问题标题】:Multiple Keywords with same name found but there is only unique keyword找到多个具有相同名称的关键字,但只有唯一的关键字
【发布时间】:2020-01-12 09:39:26
【问题描述】:

*当我运行我的机器人测试时,它会显示名为“设置”的多个关键字 '找到的变量值。给出您要使用的关键字的全名: step_definitions.Set 变量值 variable_handler.Set 变量值 它对 variable_handler.py 中提到的所有关键字执行此操作

有什么我想念的吗?我们需要提供名字吗 具有该关键字的python文件?* 网上找的不多。已在设置中添加库。

    Variable_handler.py


    ```@keyword(name='Set Variable Value for')

        def Set_Variable_Value_for(tag, value):
        my_token_file = 'Resources/written_variables.yml'
        data = None
        with open(my_token_file, 'r') as testData:
            data = yaml.load(testData)
        data[tag] = value
        with open(my_token_file, 'w') as writeTestData:
            print(ruamel.yaml.dump(data, writeTestData, 
        Dumper=ruamel.yaml.RoundTripDumper))```


    step_definitions.py



    '''@keyword(name='Set Start Time for Test')

        def Test_Start_Time():
        tz = timezone('UTC')
        Time_Now = datetime.now(tz)
        naive_date = Time_Now.replace(tzinfo=None)
        Set_Variable_Value_for('START_TIME', naive_date)```

     Test.robot



    '''Create a New Member
        [Documentation] Add a New Member
        [Tags]  CreateMember  MemberAndProjectCreationFlow  SanityTest  
       All
        Login to Platform Analytics
        Verify Member List Page Elements
        Click on Add Member
        Add Member Breadcrumb is displayed
        Add New Member Details
        Verify New Member Creation
        Search for the Member  ${NEW_MEMBER_NAME_GLOBAL}
        Search the Results and Go To  ${NEW_MEMBER_NAME_GLOBAL}  
      ${Member_Row_Locator}  ${Member_Column}
        ${MEMBER_HOMEPAGE} =  Replace String  ${MEMBER_HOME}  
     MEMBERHOME  ${NEW_MEMBER_SCHEMA_GLOBAL}
        Set Global Variable  ${MEMBER_HOMEPAGE_GLOBAL}  
      ${MEMBER_HOMEPAGE}
        ????Set Variable Value for  MEMBER_HOMEPAGE  ${MEMBER_HOMEPAGE}

        Log To Console  Member Creation Successful.```

它应该可以在不指定包含的 python 文件的情况下工作 关键词。我已经导入了所有需要的东西,比如 variable_handler 和 step 定义

【问题讨论】:

  • 您问题的格式很难阅读。请尝试仅对代码使用代码格式。

标签: python-3.x automated-tests robotframework


【解决方案1】:

问题的根源是您在测试中导入了两个或多个同名关键字。当您尝试运行关键字Set Variable Value for 时,机器人不知道要运行哪个关键字。它无法知道这两个名称是代表两个不同的函数还是两个不同库中的同一个函数。

您有三种可能的解决方案:

  1. 如错误提示,可以指定关键字的完整路径,如step_definitions.Set Variable Value
  2. 您使用内置关键字 Set Library Search Order 告诉机器人优先于另一个库。
  3. 您可以修改您的库,以免关键字名称重复

有关详细信息,请参阅 robot framework user guide 中的 Handling keywords with same names

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2016-01-17
    • 2019-01-29
    • 2015-08-19
    • 2021-10-31
    • 1970-01-01
    相关资源
    最近更新 更多