2016-06-09 3 views
1

Я начинаю работать с роботом. Я хотел использовать свою собственную библиотеку, импортировать и записывать тестовый файл. К сожалению, я столкнулся с ошибкой «Импорт библиотеки не содержит ключевых слов». Я прошел через некоторые из сообщений, которые были реализованы в стеке над потоком, но все же я ' m не в состоянии выяснить проблему в рамках робота. Я мог бы делать что-то глупое. Вот мой код в PythonБиблиотека импорта не содержит ключевых слов

class ExampleLibrary(object): 

    def __init__(self):   
     print "Hello" 
    def hello(self): 
     print "The given name" 

здесь ошибка [WARN] Импортные библиотека RobotFramework \ TestSuite \ Testclass.py»не содержит ключевых слов.

Я разместил файл .py в том же каталоге, что и тестовый сценарий.

Robotframework сценарий

*** Settings *** 

Library   Testclass.py 

*** Test Cases *** 

LibraryTest 

    hello 

Пожалуйста, помогите

Заранее спасибо

ответ

3

имя класса вашей библиотеки должны быть такими же, как имя файла. Пожалуйста, посмотрите на это: http://robotframework.org/robotframework/latest/RobotFrameworkUserGuide.html#creating-test-library-class-or-module

class Testclass(object): 

    def __init__(self): 
     print "Hello" 

    def hello(self): 
     print "The given name" 
+0

Спасибо. Он решил. После указания имени файла и имени модуля, как указано в документе. –

1

Вы должны следовать ответ Пекка или изменить свой импорт, как показано ниже:

*** Settings *** 
Library ExampleLibrary.TestClass 

От Documentation:

классы Python всегда внутри модуля. Если имя класса, реализующего библиотеку, совпадает с именем модуля, Robot Framework позволяет удалить имя класса при импорте библиотеки. Например, класс MyLib в файле MyLib.py может использоваться как библиотека с именем MyLib. Это также работает с подмодулями, так что если, например, модуль parent.MyLib имеет класс MyLib, импортируя его с помощью только родительского. РаботаетMyLib. Если имя модуля и имя класса различны, библиотеки должны быть приняты во внимание с использованием имени модуля и класса, например mymodule.MyLibrary или parent.submodule.MyLib.

Смежные вопросы