假设c头文件包含以下结构:
struct myTempSubStruct
{
u32 v1;
u16 v2;
u8 v3;
};
struct myTempStruct
{
u8 v4;
u8 v5;
myTempSubstruct v6;
};
并编写一个使用c结构的新python类:
from robot.libraries.BuiltIn import BuiltIn
class generated_messages(object):
ROBOT_LIBRARY_SCOPE = 'GLOBAL'
def __init__(self):
self.syscom = BuiltIn().get_library_instance('syscom_rammbock')
def myStruct(self, name):
self.syscom.new_struct('myStruct', name)
self.myTempStruct('myTempStruct')
self.syscom.end_struct()
def myTempReq(self):
return myStruct
然后在Robot框架中编写一个testscript,我的目的是在这里用c结构创建一个变量:
*** Settings ***
Library generated_messages.py
*** Test Cases ***
MyCase
Set global variable ${msgMyTemp} myTempReq
Set global variable ${msgMySub} ${msgMyTemp.v6}
${msgMySub.v1} Evaluate 1
但是我上面的代码似乎有问题,总会出现如下错误:
“解析变量'$ '失败:AttributeError:'unicode'对象没有属性”
有谁可以帮我弄清楚如何改进我的代码?