From 271cc2ee906e7ce3f90a1d266b698f19d1377661 Mon Sep 17 00:00:00 2001 From: junkmd Date: Tue, 26 Sep 2023 09:27:13 +0900 Subject: [PATCH] fixes pywinauto/pywinauto#1338 `Application.window` and `findwindows.find_elements` can now accept keys specified in `*ElementInfo.renamed_props` --- pywinauto/findwindows.py | 3 ++- pywinauto/unittests/test_application.py | 24 ++++++++++++++---------- 2 files changed, 16 insertions(+), 11 deletions(-) diff --git a/pywinauto/findwindows.py b/pywinauto/findwindows.py index 991bff9bb..7458890c7 100644 --- a/pywinauto/findwindows.py +++ b/pywinauto/findwindows.py @@ -152,7 +152,8 @@ def find_elements(**kwargs): # tell user about new property name for every renamed one if hasattr(backend_obj.element_info_class, 'renamed_props'): #renamed_erros = [] - for key, value in kwargs.items(): + items = list(kwargs.items()) + for key, value in items: renamed_prop = backend_obj.element_info_class.renamed_props.get(key, None) if renamed_prop is not None: new_key, values_map = renamed_prop diff --git a/pywinauto/unittests/test_application.py b/pywinauto/unittests/test_application.py index 7e7631e66..15fa6636d 100644 --- a/pywinauto/unittests/test_application.py +++ b/pywinauto/unittests/test_application.py @@ -647,21 +647,25 @@ def test_window(self): self.assertRaises(ValueError, app.windows_, **{'backend' : 'uia'}) - title = app.window(name="Untitled - Notepad") - title_re = app.window(name_re="Untitled[ -]+Notepad") + name = app.window(name="Untitled - Notepad") + name_re = app.window(name_re="Untitled[ -]+Notepad") + title = app.window(title="Untitled - Notepad") + title_re = app.window(title_re="Untitled[ -]+Notepad") classname = app.window(class_name="Notepad") classname_re = app.window(class_name_re="Not..ad") - handle = app.window(handle=title.handle) + handle = app.window(handle=name.handle) bestmatch = app.window(best_match="Untiotled Notepad") - self.assertNotEqual(title.handle, None) - self.assertNotEqual(title.handle, 0) + self.assertNotEqual(name.handle, None) + self.assertNotEqual(name.handle, 0) - self.assertEqual(title.handle, title_re.handle) - self.assertEqual(title.handle, classname.handle) - self.assertEqual(title.handle, classname_re.handle) - self.assertEqual(title.handle, handle.handle) - self.assertEqual(title.handle, bestmatch.handle) + self.assertEqual(name.handle, name_re.handle) + self.assertEqual(name.handle, title.handle) + self.assertEqual(name.handle, title_re.handle) + self.assertEqual(name.handle, classname.handle) + self.assertEqual(name.handle, classname_re.handle) + self.assertEqual(name.handle, handle.handle) + self.assertEqual(name.handle, bestmatch.handle) app.UntitledNotepad.menu_select("File->Exit")