Test examples/gcalctool.py fails, both locally and on Travis CI
richelbilderbeek opened this issue · 7 comments
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
Test fails on my local computer (I use Lubuntu 16.10):
- Copied
examples/gcalctool.pytoexamples/gnome-calculator.py - In
examples/gnome-calculator.py, replacedgcalctoolbygnome-calculator - Ran using
python gnome-calculator.py
This is what I then saw:
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>
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?
So, test examples/gcalctool.py fails both locally (two posts up) and on Travis CI (one post up).
Ideas anyone?
@nagappan: can you run examples/gcalctools.py locally with success?
@richelbilderbeek , are you having any success with ldtp?
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')
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.
