Невозможно вызвать методы класса с ключевым словом, определенным в каркасе робота - PullRequest
0 голосов
/ 22 мая 2018

Привет. Я пытаюсь создать свои собственные ключевые слова и вызывать их из скриптов роботов:

Ниже приведен пример кода:

util.py

from robot.api.deco import keyword

@keyword('Add Num')
def add(a,b):
    print "Simple method"
    return int(a)+int(b)
class Geo :
    @keyword('Class Add Num')
    def addd(self,a,b):
        print "Inside class method "
        return int(a)+int(b)

Sample.robot

*** Settings ***
Library   util.py

*** Test Cases ***
TC_01
    [Documentation]  sample test
    [Tags]  Sample
    Add Num  10  20
    Class Add Num  10  2

, который я запускаю с помощью команды pybot - pybot sample.robot

Ключевое слово Add Num работает нормально, но ClassПри добавлении Num выдается ошибка:

No keyword with name 'Class Add Num' found.

Я пытался просмотреть документы stackoverflow и официальные документы по фреймворку роботов, но не смог найти какую-либо соответствующую помощь.

Как решить эту ошибку, или мне нужно по-другому ее реализовать ??

1 Ответ

0 голосов
/ 22 мая 2018

Робот не будет автоматически создавать экземпляры классов в ваших библиотеках, за исключением одного особого случая, когда имя класса совпадает с базовой частью имени файла.

Правильный способ написания библиотеки - это либо использовать один класс с тем же именем, что и имя файла, функции или , но не оба.Если вы хотите использовать и то, и другое, вы сами должны создавать экземпляры своего класса и выставлять ключевые слова.

Третий способ - использовать динамическую библиотеку api , в которой вы создаете специальныефункции, чтобы получить список доступных ключевых слов (get_keyword_names) и выполнить ключевое слово (run_keyword).Все это документировано в руководстве пользователя.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...