robotframework-appiumwindows 0.1.2__tar.gz → 0.1.4__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.2 → robotframework_appiumwindows-0.1.4}/AppiumLibrary/keywords/_element.py +28 -0
- {robotframework_appiumwindows-0.1.2 → robotframework_appiumwindows-0.1.4}/AppiumLibrary/keywords/_powershell.py +28 -1
- {robotframework_appiumwindows-0.1.2 → robotframework_appiumwindows-0.1.4}/AppiumLibrary/keywords/_windows.py +4 -0
- {robotframework_appiumwindows-0.1.2/robotframework_appiumwindows.egg-info → robotframework_appiumwindows-0.1.4}/PKG-INFO +6 -4
- {robotframework_appiumwindows-0.1.2 → robotframework_appiumwindows-0.1.4}/README.md +1 -1
- {robotframework_appiumwindows-0.1.2 → robotframework_appiumwindows-0.1.4}/pyproject.toml +5 -3
- {robotframework_appiumwindows-0.1.2 → robotframework_appiumwindows-0.1.4/robotframework_appiumwindows.egg-info}/PKG-INFO +6 -4
- robotframework_appiumwindows-0.1.4/robotframework_appiumwindows.egg-info/requires.txt +2 -0
- robotframework_appiumwindows-0.1.2/robotframework_appiumwindows.egg-info/requires.txt +0 -2
- {robotframework_appiumwindows-0.1.2 → robotframework_appiumwindows-0.1.4}/AppiumLibrary/__init__.py +0 -0
- {robotframework_appiumwindows-0.1.2 → robotframework_appiumwindows-0.1.4}/AppiumLibrary/appium_path.py +0 -0
- {robotframework_appiumwindows-0.1.2 → robotframework_appiumwindows-0.1.4}/AppiumLibrary/keywords/__init__.py +0 -0
- {robotframework_appiumwindows-0.1.2 → robotframework_appiumwindows-0.1.4}/AppiumLibrary/keywords/_applicationmanagement.py +0 -0
- {robotframework_appiumwindows-0.1.2 → robotframework_appiumwindows-0.1.4}/AppiumLibrary/keywords/_logging.py +0 -0
- {robotframework_appiumwindows-0.1.2 → robotframework_appiumwindows-0.1.4}/AppiumLibrary/keywords/_runonfailure.py +0 -0
- {robotframework_appiumwindows-0.1.2 → robotframework_appiumwindows-0.1.4}/AppiumLibrary/keywords/_screenrecord.py +0 -0
- {robotframework_appiumwindows-0.1.2 → robotframework_appiumwindows-0.1.4}/AppiumLibrary/keywords/_screenshot.py +0 -0
- {robotframework_appiumwindows-0.1.2 → robotframework_appiumwindows-0.1.4}/AppiumLibrary/keywords/_waiting.py +0 -0
- {robotframework_appiumwindows-0.1.2 → robotframework_appiumwindows-0.1.4}/AppiumLibrary/keywords/keywordgroup.py +0 -0
- {robotframework_appiumwindows-0.1.2 → robotframework_appiumwindows-0.1.4}/AppiumLibrary/locators/__init__.py +0 -0
- {robotframework_appiumwindows-0.1.2 → robotframework_appiumwindows-0.1.4}/AppiumLibrary/locators/elementfinder.py +0 -0
- {robotframework_appiumwindows-0.1.2 → robotframework_appiumwindows-0.1.4}/AppiumLibrary/utils/__init__.py +0 -0
- {robotframework_appiumwindows-0.1.2 → robotframework_appiumwindows-0.1.4}/AppiumLibrary/utils/applicationcache.py +0 -0
- {robotframework_appiumwindows-0.1.2 → robotframework_appiumwindows-0.1.4}/AppiumLibrary/version.py +0 -0
- {robotframework_appiumwindows-0.1.2 → robotframework_appiumwindows-0.1.4}/LICENSE +0 -0
- {robotframework_appiumwindows-0.1.2 → robotframework_appiumwindows-0.1.4}/robotframework_appiumwindows.egg-info/SOURCES.txt +0 -0
- {robotframework_appiumwindows-0.1.2 → robotframework_appiumwindows-0.1.4}/robotframework_appiumwindows.egg-info/dependency_links.txt +0 -0
- {robotframework_appiumwindows-0.1.2 → robotframework_appiumwindows-0.1.4}/robotframework_appiumwindows.egg-info/top_level.txt +0 -0
- {robotframework_appiumwindows-0.1.2 → robotframework_appiumwindows-0.1.4}/setup.cfg +0 -0
|
@@ -507,6 +507,34 @@ class _ElementKeywords(KeywordGroup):
|
|
|
507
507
|
for i in range(repeat):
|
|
508
508
|
self._info(f"Click attempt {i + 1}/{repeat}")
|
|
509
509
|
self.appium_click(locator, timeout=timeout, required=True)
|
|
510
|
+
|
|
511
|
+
# TODO temporary add, will remove in the future
|
|
512
|
+
def appium_click_until(self, locators: list, timeout=None, handle_error=True):
|
|
513
|
+
return self.appium_click_first_match(locators=locators, timeout=timeout, handle_error=handle_error)
|
|
514
|
+
|
|
515
|
+
def appium_click_first_match(self, locators: list, timeout=None, handle_error=True):
|
|
516
|
+
self._info(f"Appium Click First Match: locators='{locators}', timeout='{timeout}', handle_error='{handle_error}'")
|
|
517
|
+
|
|
518
|
+
def func():
|
|
519
|
+
found = False
|
|
520
|
+
for locator in locators:
|
|
521
|
+
element = self._element_find(locator, True, False)
|
|
522
|
+
if element:
|
|
523
|
+
element.click()
|
|
524
|
+
found = True
|
|
525
|
+
break
|
|
526
|
+
|
|
527
|
+
if not found:
|
|
528
|
+
raise Exception("Elements not found, retrying...")
|
|
529
|
+
return found
|
|
530
|
+
|
|
531
|
+
return self._retry(
|
|
532
|
+
timeout,
|
|
533
|
+
func,
|
|
534
|
+
action=f"Click until '{locators}'",
|
|
535
|
+
required=not handle_error,
|
|
536
|
+
poll_interval=None
|
|
537
|
+
)
|
|
510
538
|
|
|
511
539
|
def appium_click_if_exist(self, locator, timeout=2):
|
|
512
540
|
self._info(f"Appium Click If Exist '{locator}', timeout '{timeout}'")
|
|
@@ -70,6 +70,10 @@ class _PowershellKeywords(KeywordGroup):
|
|
|
70
70
|
|
|
71
71
|
self.appium_execute_powershell_command(ps_command)
|
|
72
72
|
|
|
73
|
+
# TODO temporary add, will remove in the future
|
|
74
|
+
def appium_sendkeys_via_powershell(self, text: str):
|
|
75
|
+
self.appium_ps_sendkeys(text)
|
|
76
|
+
|
|
73
77
|
def appium_ps_sendkeys(self, text: str):
|
|
74
78
|
"""
|
|
75
79
|
SendKeys can found at: https://learn.microsoft.com/en-us/dotnet/api/system.windows.forms.sendkeys?view=windowsdesktop-10.0
|
|
@@ -98,6 +102,27 @@ class _PowershellKeywords(KeywordGroup):
|
|
|
98
102
|
self._info(f'command: {ps_command}')
|
|
99
103
|
|
|
100
104
|
self.appium_execute_powershell_command(ps_command)
|
|
105
|
+
|
|
106
|
+
# TODO temporary add, will remove in the future
|
|
107
|
+
def appium_drag_and_drop_via_powershell(
|
|
108
|
+
self,
|
|
109
|
+
start_locator=None,
|
|
110
|
+
end_locator=None,
|
|
111
|
+
x_start=0,
|
|
112
|
+
y_start=0,
|
|
113
|
+
x_end=0,
|
|
114
|
+
y_end=0,
|
|
115
|
+
button='left',
|
|
116
|
+
**kwargs
|
|
117
|
+
):
|
|
118
|
+
return self.appium_ps_drag_and_drop(start_locator=start_locator,
|
|
119
|
+
end_locator=end_locator,
|
|
120
|
+
x_start=x_start,
|
|
121
|
+
y_start=y_start,
|
|
122
|
+
x_end=x_end,
|
|
123
|
+
y_end=y_end,
|
|
124
|
+
button=button,
|
|
125
|
+
**kwargs)
|
|
101
126
|
|
|
102
127
|
def appium_ps_drag_and_drop(
|
|
103
128
|
self,
|
|
@@ -125,7 +150,9 @@ class _PowershellKeywords(KeywordGroup):
|
|
|
125
150
|
- x_end_offset / y_end_offset
|
|
126
151
|
- duration_sec: total drag time in seconds (default 0.5)
|
|
127
152
|
"""
|
|
128
|
-
self._info(
|
|
153
|
+
self._info("Appium Ps Drag And Drop")
|
|
154
|
+
self._info(f"start_locator='{start_locator}', end_locator='{end_locator}', x_start='{x_start}', y_start='{y_start}', x_end='{x_end}', y_end='{y_end}', button='{button}', kwargs='{kwargs}'")
|
|
155
|
+
|
|
129
156
|
# Get actual coordinates from locators (if any)
|
|
130
157
|
if start_locator:
|
|
131
158
|
start_rect = self.get_element_rect(start_locator)
|
|
@@ -49,6 +49,10 @@ class _WindowsKeywords(KeywordGroup):
|
|
|
49
49
|
def appium_sendkeys(self, text=None, **kwargs):
|
|
50
50
|
self._info(f"Appium Sendkeys '{text}'")
|
|
51
51
|
self._appium_keys_api(text=text, **kwargs)
|
|
52
|
+
|
|
53
|
+
# TODO: temporary add, will be removed in the future
|
|
54
|
+
def normalize_windows_path(self, path, sep="\\", case_normalize=False, escape_backtick=True):
|
|
55
|
+
return self.appium_normalize_path(path=path, sep=sep, case_normalize=case_normalize, escape_backtick=escape_backtick)
|
|
52
56
|
|
|
53
57
|
def appium_normalize_path(self, path, sep="\\", case_normalize=False, escape_backtick=True):
|
|
54
58
|
"""Normalizes the given path.
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
Metadata-Version: 2.4
|
|
2
2
|
Name: robotframework-appiumwindows
|
|
3
|
-
Version: 0.1.
|
|
3
|
+
Version: 0.1.4
|
|
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
|
|
@@ -14,6 +14,8 @@ Classifier: Programming Language :: Python :: 3
|
|
|
14
14
|
Classifier: Programming Language :: Python :: 3.10
|
|
15
15
|
Classifier: Programming Language :: Python :: 3.11
|
|
16
16
|
Classifier: Programming Language :: Python :: 3.12
|
|
17
|
+
Classifier: Programming Language :: Python :: 3.13
|
|
18
|
+
Classifier: Programming Language :: Python :: 3.14
|
|
17
19
|
Classifier: Operating System :: Microsoft :: Windows
|
|
18
20
|
Classifier: License :: OSI Approved :: MIT License
|
|
19
21
|
Classifier: Intended Audience :: Developers
|
|
@@ -23,8 +25,8 @@ Classifier: Topic :: Software Development :: Libraries :: Python Modules
|
|
|
23
25
|
Requires-Python: >=3.10
|
|
24
26
|
Description-Content-Type: text/markdown
|
|
25
27
|
License-File: LICENSE
|
|
26
|
-
Requires-Dist: robotframework>=7.
|
|
27
|
-
Requires-Dist: Appium-Python-Client>=5.
|
|
28
|
+
Requires-Dist: robotframework>=7.0.0
|
|
29
|
+
Requires-Dist: Appium-Python-Client>=5.0.0
|
|
28
30
|
Dynamic: license-file
|
|
29
31
|
|
|
30
32
|
# Robot Framework AppiumLibrary for Windows
|
|
@@ -164,7 +166,7 @@ Open Windows App
|
|
|
164
166
|
... platformName=Windows
|
|
165
167
|
... appium:automationName=NovaWindows2
|
|
166
168
|
... appium:app=${app_id}
|
|
167
|
-
... appium:newCommandTimeout=
|
|
169
|
+
... appium:newCommandTimeout=20
|
|
168
170
|
Open Application ${REMOTE_URL} &{capabilities}
|
|
169
171
|
```
|
|
170
172
|
|
|
@@ -135,7 +135,7 @@ Open Windows App
|
|
|
135
135
|
... platformName=Windows
|
|
136
136
|
... appium:automationName=NovaWindows2
|
|
137
137
|
... appium:app=${app_id}
|
|
138
|
-
... appium:newCommandTimeout=
|
|
138
|
+
... appium:newCommandTimeout=20
|
|
139
139
|
Open Application ${REMOTE_URL} &{capabilities}
|
|
140
140
|
```
|
|
141
141
|
|
|
@@ -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.4"
|
|
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" }
|
|
@@ -13,8 +13,8 @@ readme = "README.md"
|
|
|
13
13
|
license = { text = "MIT" }
|
|
14
14
|
requires-python = ">=3.10"
|
|
15
15
|
dependencies = [
|
|
16
|
-
"robotframework>=7.
|
|
17
|
-
"Appium-Python-Client>=5.
|
|
16
|
+
"robotframework>=7.0.0",
|
|
17
|
+
"Appium-Python-Client>=5.0.0"
|
|
18
18
|
]
|
|
19
19
|
classifiers = [
|
|
20
20
|
"Development Status :: 3 - Alpha",
|
|
@@ -24,6 +24,8 @@ classifiers = [
|
|
|
24
24
|
"Programming Language :: Python :: 3.10",
|
|
25
25
|
"Programming Language :: Python :: 3.11",
|
|
26
26
|
"Programming Language :: Python :: 3.12",
|
|
27
|
+
"Programming Language :: Python :: 3.13",
|
|
28
|
+
"Programming Language :: Python :: 3.14",
|
|
27
29
|
"Operating System :: Microsoft :: Windows",
|
|
28
30
|
"License :: OSI Approved :: MIT License",
|
|
29
31
|
"Intended Audience :: Developers",
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
Metadata-Version: 2.4
|
|
2
2
|
Name: robotframework-appiumwindows
|
|
3
|
-
Version: 0.1.
|
|
3
|
+
Version: 0.1.4
|
|
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
|
|
@@ -14,6 +14,8 @@ Classifier: Programming Language :: Python :: 3
|
|
|
14
14
|
Classifier: Programming Language :: Python :: 3.10
|
|
15
15
|
Classifier: Programming Language :: Python :: 3.11
|
|
16
16
|
Classifier: Programming Language :: Python :: 3.12
|
|
17
|
+
Classifier: Programming Language :: Python :: 3.13
|
|
18
|
+
Classifier: Programming Language :: Python :: 3.14
|
|
17
19
|
Classifier: Operating System :: Microsoft :: Windows
|
|
18
20
|
Classifier: License :: OSI Approved :: MIT License
|
|
19
21
|
Classifier: Intended Audience :: Developers
|
|
@@ -23,8 +25,8 @@ Classifier: Topic :: Software Development :: Libraries :: Python Modules
|
|
|
23
25
|
Requires-Python: >=3.10
|
|
24
26
|
Description-Content-Type: text/markdown
|
|
25
27
|
License-File: LICENSE
|
|
26
|
-
Requires-Dist: robotframework>=7.
|
|
27
|
-
Requires-Dist: Appium-Python-Client>=5.
|
|
28
|
+
Requires-Dist: robotframework>=7.0.0
|
|
29
|
+
Requires-Dist: Appium-Python-Client>=5.0.0
|
|
28
30
|
Dynamic: license-file
|
|
29
31
|
|
|
30
32
|
# Robot Framework AppiumLibrary for Windows
|
|
@@ -164,7 +166,7 @@ Open Windows App
|
|
|
164
166
|
... platformName=Windows
|
|
165
167
|
... appium:automationName=NovaWindows2
|
|
166
168
|
... appium:app=${app_id}
|
|
167
|
-
... appium:newCommandTimeout=
|
|
169
|
+
... appium:newCommandTimeout=20
|
|
168
170
|
Open Application ${REMOTE_URL} &{capabilities}
|
|
169
171
|
```
|
|
170
172
|
|
{robotframework_appiumwindows-0.1.2 → robotframework_appiumwindows-0.1.4}/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
|
{robotframework_appiumwindows-0.1.2 → robotframework_appiumwindows-0.1.4}/AppiumLibrary/version.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|