如何在Robot Framework中比较两个字符串是否相等

时间:2013-07-24 15:36:46

标签: python webdriver selenium-webdriver robotframework

如何在Robot Framework中比较两个字符串是否相等。例如:

${xyz}=    Get Text    xpath=/html/body/div/div[2]/div[3]/div/div/div/div/h3
${abc}=    Get Text    xpath=/html/body/div/div[2]/div[4]/div/div/div/div/h3

这些xpath值变为不同的字符串。那么如何比较字符串是否相等?

在Robot Framework中将值存储在变量中是否正确?

2 个答案:

答案 0 :(得分:6)

是的,这是存储变量的正确方法。虽然你也可以在没有等号的情况下做到这一点:

${xyz}    Get Text    xpath=/html/body/div/div[2]/div[3]/div/div/div/div/h3
${abc}    Get Text    xpath=/html/body/div/div[2]/div[4]/div/div/div/div/h3

现在您已将两个不同的字符串分配给变量,您只需执行以下操作:

Should Be Equal As Strings    ${xyz}    ${abc}

您可以查看Should Be Equal As Strings here的文档。

答案 1 :(得分:0)

Should Be Equal As Strings的替代方法是使用Should Be True-它将提供的参数评估为python表达式(例如“可以用值替代的东西”),如果出现{{1 }}:

False

当您无法控制值时(例如从外部来源-网页获取),最好使用triple quotes-这种结构允许值中包含引号或换行符,不会引起语法错误。

尽管这种方法对于简单的检查可能有点麻烦,但它非常强大-您可以使用python提供的任何方法。例如,如果检查不区分大小写:

Should Be True     """${variable 1}""" == """${variable 1}"""

或者任何开始/尾随空格都不重要:

Should Be True     """${variable 1}""".lower() == """${variable 1}""".lower()

或者,一个字符串是另一个字符串的一部分吗?

Should Be True     """${variable 1}""".strip() == """${variable 1}""".strip()