首页 > 解决方案 > 机器人测试用例将格式化变量从 python 传递到机器人文件

问题描述

你能帮我有没有办法将格式化字符串从python文件传递到机器人文件假设下面是我的特定语言py文件

English.py 文件分配了以下变量

FILTERED_TEXT_LANG = "{} Selected"

机器人测试用例设置变量如下机器人文件(user.robot)

${element} =     Set Variable    xpath=*//div[contains(@id,'org-selection-counter') and contains(text(),'${FILTERED_TEXT_LANG}.format(some_filtered_count)')]

这是必需的,因为不同的语言以不同的方式显示 some_filtered_count ,如果其他条件,是否可以从格式化的字符串进行更改

标签: pythonseleniumxpathrobotframework

解决方案


好吧,有一种方法,但不是这样:

${element} =     Set Variable    xpath=*//div[contains(@id,'org-selection-counter') and contains(text(),'${FILTERED_TEXT_LANG}.format(some_filtered_count)')]

您不能直接在 RF 中使用 Python 关键字、方法等。但是您可以做的是在 RF 或 Python 中创建您的自定义关键字,您稍后在 RF 中使用它,它会将一种语言填充到字符串中。实际上,您甚至不需要创建任何内容,只需重用String 库中已有的内容即可

我可以想象这样的事情:

${str_with_language}=    Replace String    ${FILTERED_TEXT_LANG}    {}    ENG
${element} =     Set Variable    xpath=*//div[contains(@id,'org-selection-counter') and contains(text(),'${str_with_language}')]

推荐阅读