robotframework-appiumwindows 0.1.5__tar.gz → 0.1.6__tar.gz
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- {robotframework_appiumwindows-0.1.5 → robotframework_appiumwindows-0.1.6}/AppiumLibrary/keywords/_element.py +40 -2
- {robotframework_appiumwindows-0.1.5/robotframework_appiumwindows.egg-info → robotframework_appiumwindows-0.1.6}/PKG-INFO +1 -1
- {robotframework_appiumwindows-0.1.5 → robotframework_appiumwindows-0.1.6}/pyproject.toml +1 -1
- {robotframework_appiumwindows-0.1.5 → robotframework_appiumwindows-0.1.6/robotframework_appiumwindows.egg-info}/PKG-INFO +1 -1
- {robotframework_appiumwindows-0.1.5 → robotframework_appiumwindows-0.1.6}/AppiumLibrary/__init__.py +0 -0
- {robotframework_appiumwindows-0.1.5 → robotframework_appiumwindows-0.1.6}/AppiumLibrary/appium_path.py +0 -0
- {robotframework_appiumwindows-0.1.5 → robotframework_appiumwindows-0.1.6}/AppiumLibrary/keywords/__init__.py +0 -0
- {robotframework_appiumwindows-0.1.5 → robotframework_appiumwindows-0.1.6}/AppiumLibrary/keywords/_applicationmanagement.py +0 -0
- {robotframework_appiumwindows-0.1.5 → robotframework_appiumwindows-0.1.6}/AppiumLibrary/keywords/_logging.py +0 -0
- {robotframework_appiumwindows-0.1.5 → robotframework_appiumwindows-0.1.6}/AppiumLibrary/keywords/_powershell.py +0 -0
- {robotframework_appiumwindows-0.1.5 → robotframework_appiumwindows-0.1.6}/AppiumLibrary/keywords/_runonfailure.py +0 -0
- {robotframework_appiumwindows-0.1.5 → robotframework_appiumwindows-0.1.6}/AppiumLibrary/keywords/_screenrecord.py +0 -0
- {robotframework_appiumwindows-0.1.5 → robotframework_appiumwindows-0.1.6}/AppiumLibrary/keywords/_screenshot.py +0 -0
- {robotframework_appiumwindows-0.1.5 → robotframework_appiumwindows-0.1.6}/AppiumLibrary/keywords/_waiting.py +0 -0
- {robotframework_appiumwindows-0.1.5 → robotframework_appiumwindows-0.1.6}/AppiumLibrary/keywords/_windows.py +0 -0
- {robotframework_appiumwindows-0.1.5 → robotframework_appiumwindows-0.1.6}/AppiumLibrary/keywords/keywordgroup.py +0 -0
- {robotframework_appiumwindows-0.1.5 → robotframework_appiumwindows-0.1.6}/AppiumLibrary/locators/__init__.py +0 -0
- {robotframework_appiumwindows-0.1.5 → robotframework_appiumwindows-0.1.6}/AppiumLibrary/locators/elementfinder.py +0 -0
- {robotframework_appiumwindows-0.1.5 → robotframework_appiumwindows-0.1.6}/AppiumLibrary/utils/__init__.py +0 -0
- {robotframework_appiumwindows-0.1.5 → robotframework_appiumwindows-0.1.6}/AppiumLibrary/utils/applicationcache.py +0 -0
- {robotframework_appiumwindows-0.1.5 → robotframework_appiumwindows-0.1.6}/AppiumLibrary/version.py +0 -0
- {robotframework_appiumwindows-0.1.5 → robotframework_appiumwindows-0.1.6}/LICENSE +0 -0
- {robotframework_appiumwindows-0.1.5 → robotframework_appiumwindows-0.1.6}/README.md +0 -0
- {robotframework_appiumwindows-0.1.5 → robotframework_appiumwindows-0.1.6}/robotframework_appiumwindows.egg-info/SOURCES.txt +0 -0
- {robotframework_appiumwindows-0.1.5 → robotframework_appiumwindows-0.1.6}/robotframework_appiumwindows.egg-info/dependency_links.txt +0 -0
- {robotframework_appiumwindows-0.1.5 → robotframework_appiumwindows-0.1.6}/robotframework_appiumwindows.egg-info/requires.txt +0 -0
- {robotframework_appiumwindows-0.1.5 → robotframework_appiumwindows-0.1.6}/robotframework_appiumwindows.egg-info/top_level.txt +0 -0
- {robotframework_appiumwindows-0.1.5 → robotframework_appiumwindows-0.1.6}/setup.cfg +0 -0
|
@@ -510,9 +510,46 @@ class _ElementKeywords(KeywordGroup):
|
|
|
510
510
|
|
|
511
511
|
# TODO temporary add, will remove in the future
|
|
512
512
|
def appium_click_until(self, locators: list, timeout=None, handle_error=True):
|
|
513
|
-
|
|
513
|
+
"""
|
|
514
|
+
Click any element in the list of locators until all elements are not found.
|
|
515
|
+
|
|
516
|
+
Args:
|
|
517
|
+
locators: List of locators to try in order.
|
|
518
|
+
timeout: Maximum time to wait for an element to appear (default: None).
|
|
519
|
+
handle_error: Whether to handle errors (default: True).
|
|
520
|
+
"""
|
|
521
|
+
self._info(f"Appium Click Until: locators='{locators}', timeout='{timeout}', handle_error='{handle_error}'")
|
|
522
|
+
|
|
523
|
+
def func():
|
|
524
|
+
found = False
|
|
525
|
+
for locator in locators:
|
|
526
|
+
element = self._element_find(locator, True, False)
|
|
527
|
+
if element:
|
|
528
|
+
element.click()
|
|
529
|
+
found = True
|
|
530
|
+
|
|
531
|
+
if not found:
|
|
532
|
+
return False
|
|
533
|
+
raise Exception(f"Still found element in {locators}, retrying...")
|
|
534
|
+
|
|
535
|
+
return self._retry(
|
|
536
|
+
timeout,
|
|
537
|
+
func,
|
|
538
|
+
action=f"Click until '{locators}'",
|
|
539
|
+
required=not handle_error,
|
|
540
|
+
return_value=False,
|
|
541
|
+
poll_interval=None
|
|
542
|
+
)
|
|
514
543
|
|
|
515
544
|
def appium_click_first_match(self, locators: list, timeout=None, handle_error=True):
|
|
545
|
+
"""
|
|
546
|
+
Click the first element in the list of locators that appears.
|
|
547
|
+
|
|
548
|
+
Args:
|
|
549
|
+
locators: List of locators to try in order.
|
|
550
|
+
timeout: Maximum time to wait for an element to appear (default: None).
|
|
551
|
+
handle_error: Whether to handle errors (default: True).
|
|
552
|
+
"""
|
|
516
553
|
self._info(f"Appium Click First Match: locators='{locators}', timeout='{timeout}', handle_error='{handle_error}'")
|
|
517
554
|
|
|
518
555
|
def func():
|
|
@@ -533,6 +570,7 @@ class _ElementKeywords(KeywordGroup):
|
|
|
533
570
|
func,
|
|
534
571
|
action=f"Click until '{locators}'",
|
|
535
572
|
required=not handle_error,
|
|
573
|
+
return_value=False,
|
|
536
574
|
poll_interval=None
|
|
537
575
|
)
|
|
538
576
|
|
|
@@ -1183,7 +1221,7 @@ class _ElementKeywords(KeywordGroup):
|
|
|
1183
1221
|
|
|
1184
1222
|
time.sleep(poll)
|
|
1185
1223
|
|
|
1186
|
-
if self._log_level
|
|
1224
|
+
if self._log_level == 'DEBUG':
|
|
1187
1225
|
duration = time.time() - start
|
|
1188
1226
|
self._debug(f"_retry duration for action '{action}': {duration:.2f}s")
|
|
1189
1227
|
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
Metadata-Version: 2.4
|
|
2
2
|
Name: robotframework-appiumwindows
|
|
3
|
-
Version: 0.1.
|
|
3
|
+
Version: 0.1.6
|
|
4
4
|
Summary: Robot Framework AppiumLibrary extension for Windows desktop automation using NovaWindows2 Driver instead of WinAppDriver.
|
|
5
5
|
Author-email: Huy Nguyen <nguyenvanhuy0612@gmail.com>
|
|
6
6
|
License: MIT
|
|
@@ -4,7 +4,7 @@ build-backend = "setuptools.build_meta"
|
|
|
4
4
|
|
|
5
5
|
[project]
|
|
6
6
|
name = "robotframework-appiumwindows"
|
|
7
|
-
version = "0.1.
|
|
7
|
+
version = "0.1.6"
|
|
8
8
|
description = "Robot Framework AppiumLibrary extension for Windows desktop automation using NovaWindows2 Driver instead of WinAppDriver."
|
|
9
9
|
authors = [
|
|
10
10
|
{ name = "Huy Nguyen", email = "nguyenvanhuy0612@gmail.com" }
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
Metadata-Version: 2.4
|
|
2
2
|
Name: robotframework-appiumwindows
|
|
3
|
-
Version: 0.1.
|
|
3
|
+
Version: 0.1.6
|
|
4
4
|
Summary: Robot Framework AppiumLibrary extension for Windows desktop automation using NovaWindows2 Driver instead of WinAppDriver.
|
|
5
5
|
Author-email: Huy Nguyen <nguyenvanhuy0612@gmail.com>
|
|
6
6
|
License: MIT
|
{robotframework_appiumwindows-0.1.5 → robotframework_appiumwindows-0.1.6}/AppiumLibrary/__init__.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{robotframework_appiumwindows-0.1.5 → robotframework_appiumwindows-0.1.6}/AppiumLibrary/version.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|