2016-02-02 4 views
2

У меня есть .robot-файл, который импортирует файл .py (у моего файла python есть некоторые модули в качестве операторов импорта) Когда я пытаюсь запустить файл робота, я становлюсь ниже ошибка. Как я могу убедиться, что модули, импортированные в файл класса python, также импортированы?RobotFramework не может импортировать модули, упомянутые в файле python

[ ERROR ] Error in file 'C:\Users\Admin\Documents\PythonDemo\src\framework\tests\login_box.robot': Importing test library 'CreateCampaign.py' failed: ImportError: No module named framework.page_object_model.home_page 
Traceback (most recent call last): 
    File "C:\Users\Admin\Documents\PythonDemo\src\framework\tests\CreateCampaign.py", line 1, in <module> 
from framework.page_object_model.home_page import HomePage 
PYTHONPATH: 
    C:\Users\Admin\Documents\PythonDemo\src\framework 
    C:\Windows\system32\python27.zip 
    C:\Python27\DLLs 
    C:\Python27\lib 
    C:\Python27\lib\plat-win 
    C:\Python27\lib\lib-tk 
    C:\Python27 
    C:\Python27\lib\site-packages 
============================================================================== 
Login Box :: Tests Login to BOX.com 
============================================================================== 
Log into Box using valid credentials         | FAIL | 
No keyword with name 'When I log into Box as my ${user} with ${userpass}' found. 

.robot файл

*** Settings *** 
Library test_create_campaign.py 

Documentation Tests Login to BOX.com 

*** Variables *** 
${user}   [email protected] 
${userpass}  testing 

*** Test Cases *** 
Log into Box using valid credentials 
    When I log into Box as my ${user} with ${userpass} 

.py файл

from framework.page_object_model.home_page import HomePage 
from robot.api.deco import keyword 

class CreateCampaign(LayarTestCase): 
@keyword(name='I log into Box as my ${user} with ${userpass}') 
    def test_create_campaign(self, user, userpass): 
     print user 
     print userpass 
+1

Вы пытались добавить параметр -P <путь к модулю фрейма> в сценарий pybot или добавить этот путь к PYTHONPATH? – soyacz

ответ

1

Я изменил файл питона, чтобы заставить его работать.

.py файл

from framework.page_object_model.home_page import HomePage 
from robot.api.deco import keyword 

class test_create_campaign: 
    @keyword(name='I log into Box as my ${user} with ${userpass}') 
    def test_create_campaign(self, user, userpass): 
     print user 
     print userpass 
  1. исправлен синтаксис определения класса.
  2. Переименовано имя класса так же, как имя файла. Это важно, потому что платформа Robot не примет ключевое слово иначе. Есть ли причина, по которой вы используете класс? Вы можете определить метод (ключевое слово) без класса, и это тоже будет работать.
Смежные вопросы