我正在用python编写用于机器人框架的自定义库。由于某些原因,我不想使用内置库。
我的python代码:
import os
import re
output = "IP address is 1.1.1.1"
def find_ip():
cmd = 'ipconfig'
output = os.popen(cmd).read()
match1 = re.findall('.* (1.1.1.1).*',output)
mat1 = ['1.1.1.1']
if match1 == mat1:
print "PASS"
在上面的程序中,我已将python函数编写为:
现在,我想输入类似条件,如果“ match1”和“ mat1”相等,则我的测试应该通过。否则它应该在Robot框架中失败。
任何人都可以就如何为此目的编写python函数给出想法吗?
请注意,我不想在Robot Framework中使用“应该匹配Regexp”关键字。因为我知道无论我要什么,它都会做同样的事情。
要传递关键字,除了正常返回给调用方之外,您无需执行任何其他操作。要失败,您需要引发一个异常:
def find_ip():
...
if match1 != mat1:
raise Exception('expected the matches to be similar; they are not")
机器人用户指南的“返回关键字状态”部分对此进行了说明:
只需使用异常即可完成报告关键字状态的操作。如果执行的方法引发异常,则关键字状态为FAIL,如果正常返回,则状态为PASS。
日志,报告和控制台中显示的错误消息是根据异常类型及其消息创建的。对于通用异常(例如,AssertionError,Exception和RuntimeError),仅使用异常消息,对于其他异常,则以ExceptionType:Actual message格式创建消息。
本文收集自互联网,转载请注明来源。
如有侵权,请联系 [email protected] 删除。
我来说两句