如何在Robot Framework关键字中指定带有空格的“Arguments”?

时间:2015-01-12 15:51:11

标签: selenium selenium-webdriver robotframework

我正在尝试自动化" gmail"登录过程。

我写过以下关键字。当我运行它时,前两个关键字正在成功运行。 "点击登录按钮"关键字抛出"无效的定位符或ID:登录"错误。 采取这个"登录"来自Inspect Element in" chrome"浏览器。

*** Keywords ***
Go to gmail page
    Open Browser    ${HOMEPAGE}     ${BROWSER}

Login Page Should Be Open
    Location Should Be      ${LOGINPAGE}    

Click Signin Button
    Click Button        sign in

有人可以告诉我们,如何给这个"登录"定位器(包含空格)。

谢谢,

库马尔

3 个答案:

答案 0 :(得分:5)

就像其他答案所说的那样 - 单个空格不会被转义。从脚本中读取空间。

但是,如果您需要确保,则可以始终使用内置值

${SPACE}

例如:

Sign${SPACE}In

答案 1 :(得分:3)

你的问题的字面答案“如何在Robot Framework关键字中用空格指定”参数“?是你不需要做任何特别的事情。如果参数有空格,它将正常工作。如果参数有多个空格并且您使用的是空格分隔格式,则需要转义空格。但是,这不是您发布的代码的情况。

问题不是空格,问题似乎是页面上没有与定位器“登录”匹配的元素。该元素的ID为"signIn",值为"Sign in",但没有任何内容与"sign in"匹配。案件显然很重要。如果您更改代码以使用正确的案例,则测试应该起作用:

Click Button    Sign in

注意:通常最好在可用时使用ID作为定位器。在你的情况下,它将是:

Click Button    id=signIn

答案 2 :(得分:0)

使用$ {SPACE}关键字可以解决此问题。如果您使用$ {SPACE}关键字,Robot会理解它,因此您只有一个关键字 $ {msg} = HELLO $ {SPACE * 5} WORLD 记录$ {msg}

输出:HELLO WORLD