Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Test examples/gcalctool.py fails, both locally and on Travis CI #35

Closed
2 tasks done
richelbilderbeek opened this issue Feb 19, 2017 · 7 comments
Closed
2 tasks done

Comments

@richelbilderbeek
Copy link
Contributor

richelbilderbeek commented Feb 19, 2017

When I run python gcalctool.py the tests fail:

richel@lubuntu:~/GitHubs/ldtp2/examples$ python gcalctool.py 
/usr/local/lib/python2.7/dist-packages/ldtpd/core.py:29: PyGIWarning: Wnck was imported without specifying a version first. Use gi.require_version('Wnck', '3.0') before import to ensure that the right version gets loaded.
  from gi.repository import Wnck as wnck
/usr/lib/python2.7/dist-packages/pyatspi/Accessibility.py:41: Warning: g_object_unref: assertion 'G_IS_OBJECT (object)' failed
  len=self.get_child_count()
EE
======================================================================
ERROR: testInteraction (__main__.WidgetTestCase)
----------------------------------------------------------------------
Traceback (most recent call last):
  File "gcalctool.py", line 30, in setUp
    self.tearDown()
  File "gcalctool.py", line 34, in tearDown
    ldtp.selectmenuitem('frmCalculator*', 'mnuQuit')
  File "/usr/local/lib/python2.7/dist-packages/ldtp/client.py", line 75, in __call__
    return self.__send(self.__name, args)
  File "/usr/lib/python2.7/xmlrpclib.py", line 1602, in __request
    verbose=self.__verbose
  File "/usr/local/lib/python2.7/dist-packages/ldtp/client.py", line 198, in request
    raise LdtpExecutionError(e.faultString.encode('utf-8'))
LdtpExecutionError: Unable to find window "frmCalculator*"

======================================================================
ERROR: testViews (__main__.WidgetTestCase)
----------------------------------------------------------------------
Traceback (most recent call last):
  File "gcalctool.py", line 30, in setUp
    self.tearDown()
  File "gcalctool.py", line 34, in tearDown
    ldtp.selectmenuitem('frmCalculator*', 'mnuQuit')
  File "/usr/local/lib/python2.7/dist-packages/ldtp/client.py", line 75, in __call__
    return self.__send(self.__name, args)
  File "/usr/lib/python2.7/xmlrpclib.py", line 1602, in __request
    verbose=self.__verbose
  File "/usr/local/lib/python2.7/dist-packages/ldtp/client.py", line 198, in request
    raise LdtpExecutionError(e.faultString.encode('utf-8'))
LdtpExecutionError: Unable to find window "frmCalculator*"

----------------------------------------------------------------------
Ran 2 tests in 63.664s

When I did sudo apt-get install gcalctool, I got the hint to install gnome-calculator.

May it be that all that needs to be changed is that instead of gcalctool, gnome-calculator is called in the gcalctool.py script?

I will

  • Check as such
  • Reproduce on Travis
@richelbilderbeek
Copy link
Contributor Author

richelbilderbeek commented Feb 19, 2017

Test fails on my local computer (I use Lubuntu 16.10):

  • Copied examples/gcalctool.py to examples/gnome-calculator.py
  • In examples/gnome-calculator.py, replaced gcalctool by gnome-calculator
  • Ran using python gnome-calculator.py

This is what I then saw:

2017-02-19-105344_1600x1200_scrot

This is the output I had:

richel@lubuntu:~/GitHubs/ldtp2/examples$ python gnome-calculator.py 
/usr/local/lib/python2.7/dist-packages/ldtpd/core.py:29: PyGIWarning: Wnck was imported without specifying a version first. Use gi.require_version('Wnck', '3.0') before import to ensure that the right version gets loaded.
  from gi.repository import Wnck as wnck
/usr/lib/python2.7/dist-packages/pyatspi/Accessibility.py:41: Warning: g_object_unref: assertion 'G_IS_OBJECT (object)' failed
  len=self.get_child_count()

(gnome-calculator:4852): Gtk-WARNING **: Theme parsing error: gtk-lubuntu.css:66:13: The :insensitive pseudo-class is deprecated. Use :disabled instead.

(gnome-calculator:4852): Gtk-WARNING **: Theme parsing error: gtk-lubuntu.css:97:29: The :insensitive pseudo-class is deprecated. Use :disabled instead.

(gnome-calculator:4852): Gtk-WARNING **: Theme parsing error: gtk-lubuntu.css:98:29: The :insensitive pseudo-class is deprecated. Use :disabled instead.

(gnome-calculator:4852): Gtk-WARNING **: Theme parsing error: gtk-lubuntu.css:104:39: The :insensitive pseudo-class is deprecated. Use :disabled instead.

(gnome-calculator:4852): Gtk-WARNING **: Theme parsing error: gtk-lubuntu.css:107:39: The :insensitive pseudo-class is deprecated. Use :disabled instead.

(gnome-calculator:4852): Gtk-WARNING **: Theme parsing error: gtk-lubuntu.css:158:33: The :focused pseudo-class is deprecated. Use :focus instead.

(gnome-calculator:4852): Gtk-WARNING **: Theme parsing error: gtk-lubuntu.css:174:38: The :insensitive pseudo-class is deprecated. Use :disabled instead.

(gnome-calculator:4852): Gtk-WARNING **: Theme parsing error: gtk-lubuntu.css:175:40: The :insensitive pseudo-class is deprecated. Use :disabled instead.

(gnome-calculator:4852): Gtk-WARNING **: Theme parsing error: gtk-lubuntu.css:176:53: The :insensitive pseudo-class is deprecated. Use :disabled instead.

(gnome-calculator:4852): Gtk-WARNING **: Theme parsing error: gtk-lubuntu.css:177:55: The :insensitive pseudo-class is deprecated. Use :disabled instead.

(gnome-calculator:4852): Gtk-WARNING **: Theme parsing error: gtk-lubuntu.css:178:53: The :insensitive pseudo-class is deprecated. Use :disabled instead.

(gnome-calculator:4852): Gtk-WARNING **: Theme parsing error: gtk-lubuntu.css:179:55: The :insensitive pseudo-class is deprecated. Use :disabled instead.

(gnome-calculator:4852): Gtk-WARNING **: Theme parsing error: gtk-lubuntu.css:180:48: The :insensitive pseudo-class is deprecated. Use :disabled instead.

(gnome-calculator:4852): Gtk-WARNING **: Theme parsing error: gtk-lubuntu.css:181:50: The :insensitive pseudo-class is deprecated. Use :disabled instead.

(gnome-calculator:4852): Gtk-WARNING **: Theme parsing error: gtk-lubuntu.css:182:44: The :insensitive pseudo-class is deprecated. Use :disabled instead.

(gnome-calculator:4852): Gtk-WARNING **: Theme parsing error: gtk-lubuntu.css:183:46: The :insensitive pseudo-class is deprecated. Use :disabled instead.

(gnome-calculator:4852): Gtk-WARNING **: Theme parsing error: gtk-lubuntu.css:184:52: The :insensitive pseudo-class is deprecated. Use :disabled instead.

(gnome-calculator:4852): Gtk-WARNING **: Theme parsing error: gtk-lubuntu.css:185:54: The :insensitive pseudo-class is deprecated. Use :disabled instead.

(gnome-calculator:4852): Gtk-WARNING **: Theme parsing error: gtk-lubuntu.css:186:52: The :insensitive pseudo-class is deprecated. Use :disabled instead.

(gnome-calculator:4852): Gtk-WARNING **: Theme parsing error: gtk-lubuntu.css:187:54: The :insensitive pseudo-class is deprecated. Use :disabled instead.

(gnome-calculator:4852): Gtk-WARNING **: Theme parsing error: gtk-lubuntu.css:188:47: The :insensitive pseudo-class is deprecated. Use :disabled instead.

(gnome-calculator:4852): Gtk-WARNING **: Theme parsing error: gtk-lubuntu.css:189:49: The :insensitive pseudo-class is deprecated. Use :disabled instead.

(gnome-calculator:4852): Gtk-WARNING **: Theme parsing error: gtk-lubuntu.css:190:21: The :insensitive pseudo-class is deprecated. Use :disabled instead.

(gnome-calculator:4852): Gtk-WARNING **: Theme parsing error: gtk-lubuntu.css:191:23: The :insensitive pseudo-class is deprecated. Use :disabled instead.

(gnome-calculator:4852): Gtk-WARNING **: Theme parsing error: gtk-lubuntu.css:196:34: The :insensitive pseudo-class is deprecated. Use :disabled instead.

(gnome-calculator:4852): Gtk-WARNING **: Theme parsing error: gtk-lubuntu.css:286:15: The 'icon-shadow' property has been renamed to '-gtk-icon-shadow'

(gnome-calculator:4852): Gtk-WARNING **: Theme parsing error: gtk-lubuntu.css:309:15: The 'icon-shadow' property has been renamed to '-gtk-icon-shadow'

(gnome-calculator:4852): Gtk-WARNING **: Theme directory  imported-Humanity/192 of theme Lubuntu has no size field

EE

Note the EE here, that I assume are key presses.

(gnome-calculator:4871): Gtk-WARNING **: Theme parsing error: gtk-lubuntu.css:66:13: The :insensitive pseudo-class is deprecated. Use :disabled instead.

(gnome-calculator:4871): Gtk-WARNING **: Theme parsing error: gtk-lubuntu.css:97:29: The :insensitive pseudo-class is deprecated. Use :disabled instead.

(gnome-calculator:4871): Gtk-WARNING **: Theme parsing error: gtk-lubuntu.css:98:29: The :insensitive pseudo-class is deprecated. Use :disabled instead.

(gnome-calculator:4871): Gtk-WARNING **: Theme parsing error: gtk-lubuntu.css:104:39: The :insensitive pseudo-class is deprecated. Use :disabled instead.

(gnome-calculator:4871): Gtk-WARNING **: Theme parsing error: gtk-lubuntu.css:107:39: The :insensitive pseudo-class is deprecated. Use :disabled instead.

(gnome-calculator:4871): Gtk-WARNING **: Theme parsing error: gtk-lubuntu.css:158:33: The :focused pseudo-class is deprecated. Use :focus instead.

(gnome-calculator:4871): Gtk-WARNING **: Theme parsing error: gtk-lubuntu.css:174:38: The :insensitive pseudo-class is deprecated. Use :disabled instead.

(gnome-calculator:4871): Gtk-WARNING **: Theme parsing error: gtk-lubuntu.css:175:40: The :insensitive pseudo-class is deprecated. Use :disabled instead.

(gnome-calculator:4871): Gtk-WARNING **: Theme parsing error: gtk-lubuntu.css:176:53: The :insensitive pseudo-class is deprecated. Use :disabled instead.

(gnome-calculator:4871): Gtk-WARNING **: Theme parsing error: gtk-lubuntu.css:177:55: The :insensitive pseudo-class is deprecated. Use :disabled instead.

(gnome-calculator:4871): Gtk-WARNING **: Theme parsing error: gtk-lubuntu.css:178:53: The :insensitive pseudo-class is deprecated. Use :disabled instead.

(gnome-calculator:4871): Gtk-WARNING **: Theme parsing error: gtk-lubuntu.css:179:55: The :insensitive pseudo-class is deprecated. Use :disabled instead.

(gnome-calculator:4871): Gtk-WARNING **: Theme parsing error: gtk-lubuntu.css:180:48: The :insensitive pseudo-class is deprecated. Use :disabled instead.

(gnome-calculator:4871): Gtk-WARNING **: Theme parsing error: gtk-lubuntu.css:181:50: The :insensitive pseudo-class is deprecated. Use :disabled instead.

(gnome-calculator:4871): Gtk-WARNING **: Theme parsing error: gtk-lubuntu.css:182:44: The :insensitive pseudo-class is deprecated. Use :disabled instead.

(gnome-calculator:4871): Gtk-WARNING **: Theme parsing error: gtk-lubuntu.css:183:46: The :insensitive pseudo-class is deprecated. Use :disabled instead.

(gnome-calculator:4871): Gtk-WARNING **: Theme parsing error: gtk-lubuntu.css:184:52: The :insensitive pseudo-class is deprecated. Use :disabled instead.

(gnome-calculator:4871): Gtk-WARNING **: Theme parsing error: gtk-lubuntu.css:185:54: The :insensitive pseudo-class is deprecated. Use :disabled instead.

(gnome-calculator:4871): Gtk-WARNING **: Theme parsing error: gtk-lubuntu.css:186:52: The :insensitive pseudo-class is deprecated. Use :disabled instead.

(gnome-calculator:4871): Gtk-WARNING **: Theme parsing error: gtk-lubuntu.css:187:54: The :insensitive pseudo-class is deprecated. Use :disabled instead.

(gnome-calculator:4871): Gtk-WARNING **: Theme parsing error: gtk-lubuntu.css:188:47: The :insensitive pseudo-class is deprecated. Use :disabled instead.

(gnome-calculator:4871): Gtk-WARNING **: Theme parsing error: gtk-lubuntu.css:189:49: The :insensitive pseudo-class is deprecated. Use :disabled instead.

(gnome-calculator:4871): Gtk-WARNING **: Theme parsing error: gtk-lubuntu.css:190:21: The :insensitive pseudo-class is deprecated. Use :disabled instead.

(gnome-calculator:4871): Gtk-WARNING **: Theme parsing error: gtk-lubuntu.css:191:23: The :insensitive pseudo-class is deprecated. Use :disabled instead.

(gnome-calculator:4871): Gtk-WARNING **: Theme parsing error: gtk-lubuntu.css:196:34: The :insensitive pseudo-class is deprecated. Use :disabled instead.

(gnome-calculator:4871): Gtk-WARNING **: Theme parsing error: gtk-lubuntu.css:286:15: The 'icon-shadow' property has been renamed to '-gtk-icon-shadow'

(gnome-calculator:4871): Gtk-WARNING **: Theme parsing error: gtk-lubuntu.css:309:15: The 'icon-shadow' property has been renamed to '-gtk-icon-shadow'

(gnome-calculator:4871): Gtk-WARNING **: Theme directory  imported-Humanity/192 of theme Lubuntu has no size field

EE

Note the EE here again, that I assume are key presses.

======================================================================
ERROR: testInteraction (__main__.WidgetTestCase)
----------------------------------------------------------------------
Traceback (most recent call last):
  File "gnome-calculator.py", line 47, in testInteraction
    ldtp.click('frmCalculator*', 'btnNumeric1')
  File "/usr/local/lib/python2.7/dist-packages/ldtp/client.py", line 75, in __call__
    return self.__send(self.__name, args)
  File "/usr/lib/python2.7/xmlrpclib.py", line 1602, in __request
    verbose=self.__verbose
  File "/usr/local/lib/python2.7/dist-packages/ldtp/client.py", line 198, in request
    raise LdtpExecutionError(e.faultString.encode('utf-8'))
LdtpExecutionError: Unable to find window "frmCalculator*"

======================================================================
ERROR: testInteraction (__main__.WidgetTestCase)
----------------------------------------------------------------------
Traceback (most recent call last):
  File "gnome-calculator.py", line 34, in tearDown
    ldtp.selectmenuitem('frmCalculator*', 'mnuQuit')
  File "/usr/local/lib/python2.7/dist-packages/ldtp/client.py", line 75, in __call__
    return self.__send(self.__name, args)
  File "/usr/lib/python2.7/xmlrpclib.py", line 1602, in __request
    verbose=self.__verbose
  File "/usr/local/lib/python2.7/dist-packages/ldtp/client.py", line 198, in request
    raise LdtpExecutionError(e.faultString.encode('utf-8'))
LdtpExecutionError: Unable to find window "frmCalculator*"

======================================================================
ERROR: testViews (__main__.WidgetTestCase)
----------------------------------------------------------------------
Traceback (most recent call last):
  File "gnome-calculator.py", line 43, in testViews
    ldtp.selectmenuitem('frmCalculator*', menu_item)
  File "/usr/local/lib/python2.7/dist-packages/ldtp/client.py", line 75, in __call__
    return self.__send(self.__name, args)
  File "/usr/lib/python2.7/xmlrpclib.py", line 1602, in __request
    verbose=self.__verbose
  File "/usr/local/lib/python2.7/dist-packages/ldtp/client.py", line 198, in request
    raise LdtpExecutionError(e.faultString.encode('utf-8'))
LdtpExecutionError: Unable to find window "frmCalculator*"

======================================================================
ERROR: testViews (__main__.WidgetTestCase)
----------------------------------------------------------------------
Traceback (most recent call last):
  File "gnome-calculator.py", line 34, in tearDown
    ldtp.selectmenuitem('frmCalculator*', 'mnuQuit')
  File "/usr/local/lib/python2.7/dist-packages/ldtp/client.py", line 75, in __call__
    return self.__send(self.__name, args)
  File "/usr/lib/python2.7/xmlrpclib.py", line 1602, in __request
    verbose=self.__verbose
  File "/usr/local/lib/python2.7/dist-packages/ldtp/client.py", line 198, in request
    raise LdtpExecutionError(e.faultString.encode('utf-8'))
LdtpExecutionError: Unable to find window "frmCalculator*"

----------------------------------------------------------------------
Ran 2 tests in 138.097s

FAILED (errors=4)

Just for completness, this is examples/gnome-calculator.py script in full glory (copyright not yet adapted):

'''
LDTP v2 gnome-calculator example

@author: Eitan Isaacson <eitan@ascender.com>
@copyright: Copyright (c) 2009 Eitan Isaacson
@license: LGPL

http://ldtp.freedesktop.org

This file may be distributed and/or modified under the terms of the GNU Lesser General
Public License version 2 as published by the Free Software Foundation. This file
is distributed without any warranty; without even the implied warranty of 
merchantability or fitness for a particular purpose.

See "COPYING" in the source distribution for more information.

Headers in this file shall remain intact.
'''

import ldtp
from time import sleep
import unittest

class WidgetTestCase(unittest.TestCase):
    def setUp(self):
        try:
            ldtp.launchapp('gnome-calculator')
            ldtp.waittillguiexist('frmCalculator*', guiTimeOut=5)
        except:
            self.tearDown()
            raise

    def tearDown(self):
        ldtp.selectmenuitem('frmCalculator*', 'mnuQuit')
        ldtp.waittillguinotexist('frmCalculator*')

    def testViews(self):
        for menu_item in ('mnuAdvanced',
                          'mnuFinancial',
                          'mnuScientific',
                          'mnuProgramming',
                          'mnuBasic'):
            ldtp.selectmenuitem('frmCalculator*', menu_item)
            sleep(1)

    def testInteraction(self):
        ldtp.click('frmCalculator*', 'btnNumeric1')
        sleep(0.5)
        ldtp.click('frmCalculator*', 'btnNumeric2')
        sleep(0.5)
        ldtp.click('frmCalculator*', 'btnNumeric3')
        sleep(0.5)
        ldtp.click('frmCalculator*', 'btnNumeric4')
        sleep(0.5)
        ldtp.click('frmCalculator*', 'btnMultiply')
        sleep(0.5)
        ldtp.click('frmCalculator*', 'btnNumeric2')
        sleep(0.5)
        ldtp.click('frmCalculator*', 'btnCalculateresult')

if __name__ == '__main__':
    unittest.main()

gnome version is 3.20.2 (note that I use Lubuntu, with an L of Lightweight, instead of Ubuntu):

richel@lubuntu:~/GitHubs/ldtp2/examples$ cat /usr/share/gnome/gnome-version.xml
<?xml version="1.0" encoding="UTF-8"?>
<gnome-version>
 <platform>3</platform>
 <minor>20</minor>
 <micro>2</micro>
 <distributor>Ubuntu</distributor>
 
</gnome-version>

@richelbilderbeek
Copy link
Contributor Author

richelbilderbeek commented Feb 19, 2017

When I do the same on Travis I read in the build log:

$ python gcalctool.py
Traceback (most recent call last):
  File "gcalctool.py", line 20, in <module>
    import ldtp
ImportError: No module named ldtp

Where I copy and simplify from .travis.yml:

sudo: required

install:
  # LDTP
  - sudo apt-get install python-twisted-web
  - sudo apt-get install python-wnck
  # gnome-calculator, for examples/gcalctool.py
  - sudo apt-get install gnome-calculator

script:
  # Build LDTP
  - python setup.py build
  - sudo python setup.py install
  - cd examples
  - python gcalctool.py

Did I miss a step in installing ldtp2?

@richelbilderbeek
Copy link
Contributor Author

So, test examples/gcalctool.py fails both locally (two posts up) and on Travis CI (one post up).

Ideas anyone?

@richelbilderbeek richelbilderbeek changed the title Test examples/gcalctool.py fails Test examples/gcalctool.py fails, both locally and on Travis CI Feb 24, 2017
@richelbilderbeek
Copy link
Contributor Author

@nagappan: can you run examples/gcalctools.py locally with success?

@brownie313
Copy link

@richelbilderbeek , are you having any success with ldtp?

@nagappan
Copy link
Member

These examples might not work, it was developed long back

Generally I try this, in python prompt:

from ldtp import *
getapplist()
getwindowlist()
getobjectlist('window name')

richelbilderbeek pushed a commit to richelbilderbeek/ldtp2 that referenced this issue Apr 28, 2017
@richelbilderbeek
Copy link
Contributor Author

The error messages have changed to something new:

$ python gcalctool.py
Traceback (most recent call last):
  File "gcalctool.py", line 20, in <module>
    import ldtp
ImportError: No module named ldtp

That looks doable :-)

I will close this Issue, perhaps open a new one.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

3 participants