如果python类包含方法,robot framework将无法从该类获取关键字(如果方法被注释掉,则测试将运行并通过)。在Python中实现测试类.py)是
class TestClass(object):
def __init__(self, arg1, arg2):
self.arg1 = arg1
self.arg2 = arg2
def get_arg1(self):
return self.arg1
def get_arg2(self):
return self.arg2
def __eq__(self, other):
return self.arg1 == other.arg1 and self.arg2 == other.arg2
<我的文件和机器人(>测试类机器人)是
^{pr2}$我在运行robot v3.0.2时看到以下错误消息。在
[ ERROR ] Error in file 'TestClass.robot': Getting keyword names from library 'TestClass' failed: AttributeError: type object 'object' has no attribute 'arg1'
我想知道这是否是对robot框架的不支持使用,如果是,是否有一个建议的解决方案来重写/修改测试中的类以避免这个错误。在
通过调试器执行robot框架代码,我发现错误源于类\u类库中的方法测试库.py)。作为一个机器人框架的新手,我不知道如何解决这个问题。在
任何建议都会有很大的帮助!!在
您的
__eq__
方法有缺陷。您的实现假设一个实例将只与另一个实例进行比较,但它可以与任何对象进行比较。例如,如果将实例与字符串进行比较,则函数将抛出错误,因为字符串没有arg1
属性。在一个简单的修复方法是检查两个对象是否属于同一类型,此外还要检查它们的属性:
相关问题 更多 >
编程相关推荐