Как передать объекты по ключевым словам в рамках робота?

У меня есть класс питонаMyClass записано в файлMyClass.py:

class MyClass(object):
    def __init__(self):
        self.myvar = list()

    def setvar(self, val):
        self.myvar = val

    def mymethod(self):
        return self.myvar

Я импортировал в Robot Framework, как показано ниже:

Library         MyClass    WITH NAME    my_component

У меня также есть ключевое слово, которое вызывает метод объектов, которые передаются ему:

testing component
    [Arguments]       ${cmp}
    log to console    ************* ${cmp}
    ${result} =       ${cmp}.mymethod

У меня есть несколько объектов, созданных из классаMyClass и каждый объект имеет разные свойства. Я хочу получить их атрибуты, используяtesting component Ключевое слово независимо от самого объекта.

Когда я звонюtesting component прохождениеmy_component:

Test Method Call
    testing component    my_component

Я получил:

No keyword with name '${cmp}.mymethod' found.

Если я называю это так в ключевом словеtesting component:

${result} =    call method     ${cmp}   mymethod

Я получил:

Object 'my_component' does not have method 'mymethod'.

Я тоже пробовалcall method my_component mymethod для теста и я снова получилObject 'my_component' does not have method 'mymethod'..

Но когда я использую${result} = my_component.mymethodвсе работает нормально.

Ответы на вопрос(1)

Ваш ответ на вопрос