从文件中读取变量名称并用作定位变量

时间:2016-09-09 12:27:20

标签: robotframework

我有一个带有定位器的文件,我在我的测试套件中导入。该文件包含以下行:

LOCATOR_ABC='id=abc'
LOCATOR_XYX='id=xyz'

我有另一个文件,其中包含定位器变量名称和期望值,如下所示:

LOCATOR_ABC¤hello world
LOCATOR_XYZ¤goodbye world

现在我想遍历后一个文件并为每一行执行类似的操作:

${locator}=    Fetch From Left     ${line}    ¤
${value}=    Fetch From Right    ${line}    ¤
${ui_value}=    Get Text    ${${locator}}
... compare value and ui_value and expect them to match ....

问题是我收到错误:

Variable '${?LOCATOR_ABC}' not found. Did you mean:
${LOCATOR_ABC}

我知道带有$ {$ {locator}}的部分可能不太好/正确,但更改我的设置以使locator¤value文件包含这样的行:

${LOCATOR_ABC}¤hello world
${LOCATOR_XYZ}¤goodbye world

然后在我的测试中使用它:

${ui_value}=    Get Text    ${locator}

错误消息是:

ValueError: Element locator '?${LOCATOR_ABC}' did not match any elements.

所以我想我的问题是,是否有人可以透露一下?部分错误消息?我究竟做错了什么?或者还有其他/更好的方法吗?

1 个答案:

答案 0 :(得分:0)

文件编码问题。更改为ascii编码解决了这个问题。