summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorColomban Wendling <[email protected]>2025-05-14 23:58:39 +0200
committerColomban Wendling <[email protected]>2025-05-14 23:58:39 +0200
commitb6a19c50b04b7800f54a3bfef7271fedb1a9d50c (patch)
tree439bb1af539c865849f790c36510342cc6a20839
parent239ebd2f3ce65f394bb94089a57aae8e40f953aa (diff)
downloadatril-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-xtest/test1.py12
-rwxr-xr-xtest/test2.py14
-rwxr-xr-xtest/test6.py10
-rwxr-xr-xtest/test7.py12
-rw-r--r--test/testCommon.py10
-rwxr-xr-xtest/testEditMenu.py4
-rwxr-xr-xtest/testEncryptedFile.py10
-rwxr-xr-xtest/testFileMenu.py10
-rwxr-xr-xtest/testHelpMenu.py4
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')