使用Python脚本连接Splunk服务器,并在Robot Framework测试中应用

0 投票
1 回答
2901 浏览
提问于 2025-04-18 03:06

我刚接触Python,遇到了一些问题。这里有一段代码,是用来连接Splunk服务器并打印已安装的应用程序的。

import splunklib.client as client

HOST = "server.splunk"
PORT = 8089
USERNAME = "UserABC"
PASSWORD = "Passw000rd"

# Create a Service instance and log in 
service = client.connect(
    host=HOST,
    port=PORT,
    username=USERNAME,
    password=PASSWORD)

# Print installed apps to the console to verify login
for app in service.apps:
    print app.name

我在我的系统的命令行中试过这段代码,运行得很好。不过,我打算在Robot Framework测试中使用这个功能,所以需要先定义这个功能,这样才能有一个我可以用的关键词。我猜可能需要像下面这样:

import splunklib.client as client

def setServer(HOST, PORT, USERNAME, PASSWORD):
    HOST = "server.splunk"
    PORT = 8089
    USERNAME = "UserABC"
    PASSWORD = "Passw000rd"
    service = client.connect(host=HOST,port=PORT,username=USERNAME,password=PASSWORD)
    for app in service.apps:
       print app.name
    print ("\n")

我的问题是,当我运行这个时,命令行里什么都没有打印出来。有没有什么建议?

谢谢!

1 个回答

1

在Python库中使用的print命令不会在Robot Framework的控制台上显示,这是正常的情况。如果你想确认你的代码是否运行过,以及print是否执行了,可以查看Robot生成的log.html文件。这个文件里应该会包含你的打印内容。如果你真的想在Robot控制台上显示一些东西,就需要在你的Robot测试中使用Log To Console这个关键字。不过,由于你的print是在Python库中,你需要在你的Python代码中导入内置库。只要这样做,你就没问题了。

撰写回答