从 Python 库运行机器人框架脚本,加载 cdll 抛出错误
Runing Robot Framework Script From Python Library which Load cdll throwing error
from ctypes import cdll
from time import sleep
class SDKLibrary(object):
def __init__(self):
self.lib = cdll.LoadLibrary("sharedlibrary.so")
self.sdk = self.lib.SDK_new()
def Function(self):
self.lib.Function1(self.sdk, 1, 2)
x = SDKLibrary()
x.Function() //This call from Python working fine
但是当我试图从机器人调用函数时,它抛出一个没有参数的错误失败:OSError:sharedlibrary.so:无法打开共享对象文件:没有这样的文件或目录
不确定您的文件结构是什么样的,但是当我将我的机器人测试脚本放在与 python 库不同的文件夹中时,我遇到了同样的问题。我通过预先设置 C 库的绝对文件路径来解决它。
def __init__(self):
self.lib = cdll.LoadLibrary(absolute/file/path/ + "sharedlibrary.so")
self.sdk = self.lib.SDK_new()
from ctypes import cdll
from time import sleep
class SDKLibrary(object):
def __init__(self):
self.lib = cdll.LoadLibrary("sharedlibrary.so")
self.sdk = self.lib.SDK_new()
def Function(self):
self.lib.Function1(self.sdk, 1, 2)
x = SDKLibrary()
x.Function() //This call from Python working fine
但是当我试图从机器人调用函数时,它抛出一个没有参数的错误失败:OSError:sharedlibrary.so:无法打开共享对象文件:没有这样的文件或目录
不确定您的文件结构是什么样的,但是当我将我的机器人测试脚本放在与 python 库不同的文件夹中时,我遇到了同样的问题。我通过预先设置 C 库的绝对文件路径来解决它。
def __init__(self):
self.lib = cdll.LoadLibrary(absolute/file/path/ + "sharedlibrary.so")
self.sdk = self.lib.SDK_new()