diff options
author | Colomban Wendling <[email protected]> | 2025-05-14 23:58:39 +0200 |
---|---|---|
committer | Colomban Wendling <[email protected]> | 2025-05-14 23:58:39 +0200 |
commit | b6a19c50b04b7800f54a3bfef7271fedb1a9d50c (patch) | |
tree | 439bb1af539c865849f790c36510342cc6a20839 | |
parent | 239ebd2f3ce65f394bb94089a57aae8e40f953aa (diff) | |
download | atril-failing-tests.tar.bz2 atril-failing-tests.tar.xz |
Fix tests with AT-SPI2 >= 2.53failing-tests
Role name for push buttons changed from "push button" to "button" for
uniformizing APIs, but that means the names Dogtail use have to match,
as it's not using the role IDs but names.
Fix this by trying to ask AT-SPI2 for the name, and falling back on the
historical name in the odd case it'd fail.
-rwxr-xr-x | test/test1.py | 12 | ||||
-rwxr-xr-x | test/test2.py | 14 | ||||
-rwxr-xr-x | test/test6.py | 10 | ||||
-rwxr-xr-x | test/test7.py | 12 | ||||
-rw-r--r-- | test/testCommon.py | 10 | ||||
-rwxr-xr-x | test/testEditMenu.py | 4 | ||||
-rwxr-xr-x | test/testEncryptedFile.py | 10 | ||||
-rwxr-xr-x | test/testFileMenu.py | 10 | ||||
-rwxr-xr-x | test/testHelpMenu.py | 4 |
9 files changed, 42 insertions, 44 deletions
diff --git a/test/test1.py b/test/test1.py index 97db085c..f485b3dd 100755 --- a/test/test1.py +++ b/test/test1.py @@ -2,27 +2,23 @@ # This test opens the interface and just clicks around a bit. -import os -import dogtail.config -dogtail.config.config.logDebugToStdOut = True -dogtail.config.config.logDebugToFile = False +from testCommon import pushButton from dogtail.procedural import * -os.environ['LANG']='C' run('atril') # Test file->open focus.application('atril') click('File', roleName='menu') click('Open…', roleName='menu item') -click('Cancel', roleName='push button') +click('Cancel', roleName=pushButton) # Toolbar editor focus.application('atril') click('Edit', roleName='menu') click('Toolbar', roleName='menu item') -click('Close', roleName='push button') +click('Close', roleName=pushButton) # About dialog focus.application('atril') @@ -30,7 +26,7 @@ click('Help', roleName='menu') click('About', roleName='menu item') click('Credits', roleName='toggle button') click('Credits', roleName='toggle button') -click('Close', roleName='push button') +click('Close', roleName=pushButton) # Close atril focus.application('atril') diff --git a/test/test2.py b/test/test2.py index d690edbb..b4f3a5c8 100755 --- a/test/test2.py +++ b/test/test2.py @@ -3,26 +3,26 @@ # This test opens a password encrypted file and tries to unlock it. import os -os.environ['LANG']='C' -srcdir = os.environ['srcdir'] - +from testCommon import pushButton from dogtail.procedural import * +srcdir = os.environ['srcdir'] + run('atril', arguments=' '+srcdir+'/test-encrypt.pdf') # Try an incorrect password first focus.application('atril') type('wrong password') -click('Unlock Document', roleName='push button') +click('Unlock Document', roleName=pushButton) focus.dialog('Enter password') -click('Cancel', roleName='push button') +click('Cancel', roleName=pushButton) # Try again with the correct password focus.frame('test-encrypt.pdf — Password Required') -click('Unlock Document', roleName='push button') +click('Unlock Document', roleName=pushButton) focus.dialog('Enter password') type('Foo') -click('Unlock Document', roleName='push button') +click('Unlock Document', roleName=pushButton) # Close atril focus.application('atril') diff --git a/test/test6.py b/test/test6.py index a2687d08..30367fe2 100755 --- a/test/test6.py +++ b/test/test6.py @@ -3,15 +3,11 @@ # Test printing import os -import dogtail.config -dogtail.config.config.logDebugToStdOut = True -dogtail.config.config.logDebugToFile = False +from testCommon import pushButton +from dogtail.procedural import * -os.environ['LANG']='C' srcdir = os.environ['srcdir'] -from dogtail.procedural import * - recent_used = os.path.expanduser('~/.local/share/recently-used.xbel') recent_used_orig = recent_used + '.orig' @@ -31,7 +27,7 @@ click('Print…', roleName='menu item') click('Print to File', roleName='table cell', raw=True) click('Postscript', roleName='radio button', raw=True) -click('Print', roleName='push button') +click('Print', roleName=pushButton) statinfo = os.stat (ps_file) if statinfo.st_size > 100000: diff --git a/test/test7.py b/test/test7.py index 03792c6c..f0b71582 100755 --- a/test/test7.py +++ b/test/test7.py @@ -3,16 +3,12 @@ # Test printing import os -import dogtail.config -import time -dogtail.config.config.logDebugToStdOut = True -dogtail.config.config.logDebugToFile = False - -os.environ['LANG']='C' -srcdir = os.environ['srcdir'] +from testCommon import pushButton from dogtail.procedural import * +srcdir = os.environ['srcdir'] + run('atril', arguments=' '+srcdir+'/test-page-labels.pdf') focus.application('atril') @@ -27,7 +23,7 @@ focus.dialog('Print') click('Page Setup', roleName='page tab', raw=True) click('All sheets') click('Odd sheets', roleName='menu item') -click('Preview', roleName='push button') +click('Preview', roleName=pushButton) keyCombo('<Alt><F4>') # Close atril diff --git a/test/testCommon.py b/test/testCommon.py index dd6ec51a..c4aa3a0e 100644 --- a/test/testCommon.py +++ b/test/testCommon.py @@ -6,6 +6,16 @@ import signal os.environ['LANG'] = 'C' +# try and figure out the role name for push buttons, which changed in ATSPI 2.53 +try: + import gi + gi.require_version('Atspi', '2.0') + from gi.repository import Atspi + + pushButton = Atspi.role_get_name(Atspi.Role.PUSH_BUTTON) +except ImportError: + pushButton = 'push button' + from dogtail.config import config config.logDebugToStdOut = True config.logDebugToFile = False diff --git a/test/testEditMenu.py b/test/testEditMenu.py index 1b81fd07..2a8e89b5 100755 --- a/test/testEditMenu.py +++ b/test/testEditMenu.py @@ -2,7 +2,7 @@ # This test opens the Edit menu and runs through the menu items. -from testCommon import run_app, bail +from testCommon import run_app, bail, pushButton from dogtail.procedural import * @@ -20,7 +20,7 @@ try: focus.frame('test-links.pdf') type('link') - click('Find Previous', roleName='push button') + click('Find Previous', roleName=pushButton) click('Edit', roleName='menu') click('Find Next', roleName='menu item') diff --git a/test/testEncryptedFile.py b/test/testEncryptedFile.py index 83c48a60..808efac4 100755 --- a/test/testEncryptedFile.py +++ b/test/testEncryptedFile.py @@ -2,7 +2,7 @@ # Test opening a password encrypted file and unlocking it. -from testCommon import run_app, bail +from testCommon import run_app, bail, pushButton from dogtail.procedural import * @@ -13,16 +13,16 @@ try: # Try an incorrect password first focus.dialog('Enter password') type('wrong password') - click('Unlock Document', roleName='push button') + click('Unlock Document', roleName=pushButton) focus.dialog('Enter password') - click('Cancel', roleName='push button') + click('Cancel', roleName=pushButton) # Try again with the correct password focus.frame('test-encrypt.pdf — Password Required') - click('Unlock Document', roleName='push button') + click('Unlock Document', roleName=pushButton) type('Foo') focus.dialog('Enter password') - click('Unlock Document', roleName='push button') + click('Unlock Document', roleName=pushButton) # Close Atril focus.frame('test-encrypt.pdf — Dokument1') diff --git a/test/testFileMenu.py b/test/testFileMenu.py index 5c1c5a9a..81723c8d 100755 --- a/test/testFileMenu.py +++ b/test/testFileMenu.py @@ -2,7 +2,7 @@ # Test that the File menu and menu items work correctly. -from testCommon import run_app, bail +from testCommon import run_app, bail, pushButton from dogtail.procedural import * @@ -12,20 +12,20 @@ try: # Open a file click('File', roleName='menu') click('Open…', roleName='menu item') - click('Cancel', roleName='push button') + click('Cancel', roleName=pushButton) # Save As focus.frame('test-links.pdf') click('File', roleName='menu') click('Save As…', roleName='menu item') - click('Cancel', roleName='push button') + click('Cancel', roleName=pushButton) # Print focus.frame('test-links.pdf') click('File', roleName='menu') click('Print…', roleName='menu item') focus.dialog('Print') - click('Cancel', roleName='push button') + click('Cancel', roleName=pushButton) # Properties focus.frame('test-links.pdf') @@ -34,7 +34,7 @@ try: click('Fonts', roleName='page tab') click('General', roleName='page tab') focus.dialog('Properties') - click('Close', roleName='push button') + click('Close', roleName=pushButton) # Close focus.frame('test-links.pdf') diff --git a/test/testHelpMenu.py b/test/testHelpMenu.py index 9acfac7a..fcbdaeb5 100755 --- a/test/testHelpMenu.py +++ b/test/testHelpMenu.py @@ -2,7 +2,7 @@ # This test opens the Help menu and runs through the menu items. -from testCommon import run_app, bail +from testCommon import run_app, bail, pushButton from dogtail.procedural import * @@ -13,7 +13,7 @@ try: click('About', roleName='menu item') focus.dialog('About Atril Document Viewer') click('License', roleName='toggle button') - click('Close', roleName='push button') + click('Close', roleName=pushButton) focus.frame('') click('Help', roleName='menu') |