我正在尝试使用Process()机器人框架库来启动和跟踪进程。 https://robot-framework.readthedocs.io/en/v3.0.3/_modules/robot/libraries/Process.html
启动进程后,我无法使用get_process_id()方法。我使用下面的notepad.exe写了一个简单的例子
path = "C:\\WINDOWS\\system32"
Process().start_process('notepad.exe',shell=False, cwd=path)
var = Process().get_process_id()
BuiltIn().log_to_console(var)
这给了我"没有活动过程的错误。"
或者,使用文档中说明的句柄
path = "C:\\WINDOWS\\system32"
handle = Process().start_process('notepad.exe',shell=False,cwd=path)
var = Process().get_process_id(handle)
BuiltIn().log_to_console(var)
我收到错误"不存在的索引或别名' 1'。"
答案 0 :(得分:0)
执行Process().get_process_id()
时,您正在创建库的 new 实例。此实例不知道上一个库实例启动的任何进程。
您需要获取该库的单个实例,并始终如一地使用它。
processLib = Process()
processLib.start_process(...)
var = processLib.get_process_id()
最好的办法是尝试使用BuiltIn().get_library_instance
获取对现有流程库的引用,如果不存在则只创建一个新流程库。