*当我运行机器人测试时,它会说多个关键字,名称为“ Set” 找到了“变量值”。输入您要使用的关键字的全名: step_definitions。设置变量值 variable_handler。设置变量值 它会对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和步骤定义
答案 0 :(得分:3)
问题的根源是您有两个或更多个具有相同名称的关键字导入到测试中。当您尝试运行关键字Set Variable Value for
时,机器人不知道要运行哪个关键字。无法知道这两个名称是表示两个不同的函数还是两个不同的库中的相同函数。
您有三种可能的解决方案:
step_definitions.Set Variable Value
有关更多信息,请参见Handling keywords with same names中的robot framework user guide。