Mah*_*lik 1 automated-tests python-3.x robotframework
*当我运行我的机器人测试时,它说找到多个名称为“设置变量值”的关键字。给出要使用的关键字的全名:step_definitions.Set Variable Value for variable_handler.Set Variable Value for 它对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.```
Run Code Online (Sandbox Code Playgroud)
它应该可以在不指定包含关键字的 python 文件的情况下工作。我已经导入了所有需要的东西,比如variable_handler和步骤定义
问题的根源在于您将两个或多个同名关键字导入到测试中。当您尝试运行关键字时Set Variable Value for,机器人不知道要运行哪个关键字。它无法知道这两个名称是否代表两个不同的函数或两个不同库中的相同函数。
您有三种可能的解决方案:
step_definitions.Set Variable Value| 归档时间: |
|
| 查看次数: |
7929 次 |
| 最近记录: |