Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/357.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python的Robot Framework关键字:字符串或IP不匹配的错误。如何解决这个问题?_Python_Python 2.7_Robotframework - Fatal编程技术网

Python的Robot Framework关键字:字符串或IP不匹配的错误。如何解决这个问题?

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

我正试图为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 == 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文件中创建类和函数(如果将来需要的话)。 它们将在运行时自动取消