机器人框架语法错误:输入不匹配':'期待EOF

时间:2018-01-15 16:26:57

标签: selenium robotframework

我正在使用Hi-Fi的SeleniumLibrary编写带有Selenium for Java的RF测试套件。

我使用Variables.robot文件中保存的变量实现一些高级关键字,如下所示:

*** Keywords ***

Main Links Are Working
  Wait Until Element Is Visible       ${SIGN UP IMG}
  ${link}                             Get Element Attribute  ${SIGN UP IMG}@href
  Should Be True                      ${link}==${EXPECTED URL}/signup/new

此文件正在我的Resource.robot中导入,用于关键字,如下所示:

Evaluating expression 'https://www.test.com/signup/new==https://www.test.com/signup/new' failed: SyntaxError: mismatched input ':' expecting EOF (<string>, line 1)

这是我在执行时得到的:

[accesskey]::after {
    content: " [" attr(accesskey) "]";
}

(我必须在我的示例中替换实际的公司网址以获取虚拟网址,但我尝试保留类似的网址结构)

我不确定发生了什么。据我所知,它比较了两个完全匹配的网址,但不知怎的,它没有认识到&#39;:&#39;字符。我尝试使用反斜杠(:)来避免它,但同样的错误显示出来。

1 个答案:

答案 0 :(得分:2)

在替换所有变量之后,表达式必须是有效的python表达式。您需要添加引号,或使用特殊的$variable语法(请参阅BuiltIn库文档中的Evaluating Expressions):

Should Be True  '${link}'=='${EXPECTED URL}/signup/new'

-OR -

Should Be True  $link == $expected_url