demo using swing library is failing with ImportError: No module named swinglibrary

556 views
Skip to first unread message

Sudev P

unread,
Jul 1, 2013, 8:41:06 AM7/1/13
to robotframe...@googlegroups.com
Hi,
 
I am new to Robot frame work and python. Please help me to resolve this error when I run run_demo.py. ( Windows 7 ).Swing Library is at C:\AutoDemo\demo\lib and given this path into CLASSPATH and PYTHONPATH
-------------------------------------------------------------------------------------------------------
C:\AutoDemo\demo>python run_demo.py example.txt
[ ERROR ] Error in file 'C:\AutoDemo\demo\example.txt': Importing test library '
swinglibrary' failed: ImportError: No module named swinglibrary
Traceback (most recent call last):
  None
PYTHONPATH:
  C:\jython2.5.3\Lib\site-packages\robot\libraries
  C:\jython2.5.3\Lib\site-packages
  C:\jython2.5.3\Lib
  __classpath__
  __pyclasspath__/
  .
  C:\AutoDemo\demo\lib\swinglibrary-1.1.2-SNAPSHOT-jar-with-dependencies.jar
CLASSPATH:
  C:\jython2.5.3\jython.jar
  lib\swinglibrary-1.1.2-SNAPSHOT-jar-with-dependencies.jar
-------------------------------------------------------------------------------------------------------
C:\AutoDemo\demo>type example.txt
*** Settings ***
Library  swinglibrary
Suite Setup  Start Test Application
*** Test Cases ***
Test Add Todo Item
    Insert Todo Item buy milk
    Select From List  todolist  0
    ${item}=  Get Selected Value From List  todolist
    Should Be Equal  ${item}  buy milk
    Push Button  delete
Test Delete Todo Item
    Insert Todo Item to be deleted
    Select From List  todolist  0
    Push Button  delete
    ${items}=  Get List Item Count  todolist
    Should Be Equal As Numbers  ${items}  0
*** Keywords ***
Start Test Application
    Start Application  org.robotframework.swing.testapp.examplesut.TodoListAppli
cation
    Select Window  Todo List
Insert Todo Item ${arg}
    Insert Into Text Field  description  ${arg}
    Push Button  add
-------------------------------------------------------------------------------------------------------
C:\AutoDemo\demo>type run_demo.py
#!/usr/bin/env python
import os
import sys
from subprocess import call
from glob import glob
TESTAPP = 'org.robotframework.swing.testapp.examplesut.TodoListApplication'
def _get_jars():
    dir = os.path.dirname(__file__)
    return glob(os.path.join(dir, 'lib',
                'swinglibrary-*.jar'))
def _set_classpath():
    os.environ['CLASSPATH'] = os.pathsep.join(_get_jars())
def _parse_command():
    if sys.argv[1] == 'startapp':
        return ['java', TESTAPP]
    return ['jybot', '--outputdir',  'results'] + sys.argv[1:]
if __name__ == '__main__':
    if len(sys.argv) == 1:
        print 'Usage: run_demo.py [startapp|path_to_tests]'
        sys.exit(1)
    _set_classpath()
    call(_parse_command(), shell=os.name=='nt')
------------------------------------------------------------------------------------------------------
 

Teppo Testaaja

unread,
Jul 2, 2013, 8:22:36 AM7/2/13
to robotframe...@googlegroups.com
Hi Sudev,

This is just a guess, but in your example.txt you have SwingLibrary written as swinglibrary, without capital letters. Maybe the library import is case sensitive ?

I would suggest upgrading to the latest version of SwingLibrary which is 1.6.0. You can download it from:
http://code.google.com/p/robotframework-swinglibrary/downloads/list

BR,
Teppo
Reply all
Reply to author
Forward
0 new messages