gpt4 book ai didi

python - 多线程代码通过 Robot 文件执行两次

转载 作者:行者123 更新时间:2023-12-02 02:24:54 26 4
gpt4 key购买 nike

我正在运行一个Python多线程代码,如果我通过Python文件运行它,它只运行一次,但如果我通过Robot文件运行它,它运行两次:

python文件代码:

def connect():
print("Step 12: Reload devices")
config_threads_list = []
ipAddress = '172.22.12.14'
username = 'abcd'
password = 'abcd'
devices = ['5023','5024','5025','5026']
for ports in devices:
consoleServer, username, password, port = ipAddress, username, password, ports
print ('Creating thread for: ', ports)
config_threads_list.append(threading.Thread(target=obj.router_reload, args=(consoleServer, username, password, port)))

print ('\n---- Begin get config threading ----\n')
for config_thread in config_threads_list:
config_thread.start()

for config_thread in config_threads_list:
config_thread.join()

connect()

当我仅通过 python 运行此代码时,它工作正常。但是,当我通过机器人框架运行它时,它运行了两次

机器人文件:

Documentation        Test case
Library <path to above py file >

*** Test Cases ***
TEST CASE LEL-TC-1
connect

最佳答案

只是为了分享为什么在运行机器人文件时会执行两次。

您在 Python 文件末尾调用 connect()。这是执行 Python 脚本时的单次调用。

现在,当您将 Python 文件作为库导入时,它实际上会被执行。因此 connect() 将在最后被调用。这是一个。

然后您在测试用例中将其显式调用为关键字。那是两个。

要避免这种情况,只需从 Python 文件末尾删除 connect() 调用即可。

关于python - 多线程代码通过 Robot 文件执行两次,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/65834386/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com