如何在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中将值存储在变量中是否正确?
答案 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()