Python的Robot Framework关键字:字符串或IP不匹配的错误。如何解决这个问题?
我正试图为Robot Framework编写一个关键字,正如@Brayan Oakley在讨论中所建议的那样: 我的Python文件:Python的Robot Framework关键字:字符串或IP不匹配的错误。如何解决这个问题?,python,python-2.7,robotframework,Python,Python 2.7,Robotframework,我正试图为Robot Framework编写一个关键字,正如@Brayan Oakley在讨论中所建议的那样: 我的Python文件: import os,re def check_IP(): cmd = ' netstat -ano ' output = os.popen(cmd).read() match1 = re.findall('.* (1.1.1.1).*',output) mat1 = ['1.1.1.1'] if match1 == m
import os,re
def check_IP():
cmd = ' netstat -ano '
output = os.popen(cmd).read()
match1 = re.findall('.* (1.1.1.1).*',output)
mat1 = ['1.1.1.1']
if match1 == mat1:
print "IP addr found"
if match1 != mat1:
raise Exception('No matching IP...')
check_IP()
我正在尝试匹配“netstat-ano”命令中的IP地址。如果匹配,我将收到预期的“IP地址已找到”消息
但若并没有找到IP地址,我将得到预期的异常,但有以下错误消息
C:\Users\test\Desktop>python check.py
Traceback (most recent call last):
File "check.py", line 13, in <module>
check_IP()
File "check.py", line 11, in check_IP
raise Exception('No matching IP...')
Exception: No matching IP...
C:\Users\test\Desktop>
C:\Users\test\Desktop>python check.py
回溯(最近一次呼叫最后一次):
文件“check.py”,第13行,在
检查IP()
文件“check.py”,第11行,在check\u IP中
引发异常('没有匹配的IP…')
例外:没有匹配的IP。。。
C:\Users\test\Desktop>
有什么线索可以解决这个问题吗?代码正按照您的要求执行。您正在robot上下文之外运行代码,这就是python处理异常的方式 如果不想看到堆栈跟踪,请捕获异常并打印所需的任何消息
try:
check_IP()
except Exception as e
print str(e)
当然,如果您使用
check\u IP
作为关键字,则需要删除所有这些代码 使用以下Robot文件:
*** Settings ***
Documentation Test Stability Tests
Library Network.py
*** Test Cases ***
Test: Test Robot File
Check Network Status
使用以下Python文件
import os, re
def check_network_status():
cmd = ' netstat -ano '
output = os.popen(cmd).read()
match1 = re.findall('.* (1.1.1.1).*',output)
mat1 = ['1.1.1.1']
if match1 == mat1:
print("IP Address found")
elif match1 != mat1:
raise AssertionError("IP Address not Found")
注意:不要在Python文件中调用该函数。
只要在python文件中创建类和函数(如果将来需要的话)。
它们将在运行时自动取消