从Robot Framework访问python类的变量

时间:2019-01-07 10:52:13

标签: python oop robotframework

我有一个Python文件,例如Animals.py,在其中定义了3个类似的类:

#Animals.py
class Animal:
    listAnimal=["dog","cat"] #<------------
    def __init__(self):
        #Animal constructor
        pass

class Dog(Animal):
    def __ini__(self):
        #dog constructor
        pass
class Cat(Animal):
    def __ini__(self):
        #cat constructor
        pass

我想访问类变量 listAnimal

我不是RF专家,我试图使用它:

Import Library   Animal
${ListAnimal}   Animal.listAnimal

请问您对此有何建议?

2 个答案:

答案 0 :(得分:7)

您可以使用BuiltIn库中的 numpy.arange 关键字来获取指定测试库的当前活动实例。然后,您可以使用 Get Library Instance 访问列表及其元素。

示例:

${lib}=     Get Library Instance    Animal
Log     ${lib.listAnimal[0]}    # should log 'dog'
Log     ${lib.listAnimal[1]}    # should log 'cat'
${ListAnimal}=    Set Variable   ${lib.listAnimal}

答案 1 :(得分:4)

I added a new function to the file Animals.py

def getListAnimals():
    return Animal.listAnimal

And I am now only using this function in the robot framework:

Import Library   Animals.py
${ListAnimal}   Get List Animals