Kea2-python 0.3.5__tar.gz → 0.3.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.

Potentially problematic release.


This version of Kea2-python might be problematic. Click here for more details.

Files changed (44) hide show
  1. {kea2_python-0.3.5 → kea2_python-0.3.6}/Kea2_python.egg-info/PKG-INFO +2 -1
  2. {kea2_python-0.3.5 → kea2_python-0.3.6}/PKG-INFO +2 -1
  3. {kea2_python-0.3.5 → kea2_python-0.3.6}/README.md +1 -0
  4. {kea2_python-0.3.5 → kea2_python-0.3.6}/kea2/bug_report_generator.py +1 -1
  5. {kea2_python-0.3.5 → kea2_python-0.3.6}/kea2/fastbotManager.py +7 -3
  6. {kea2_python-0.3.5 → kea2_python-0.3.6}/kea2/keaUtils.py +2 -0
  7. {kea2_python-0.3.5 → kea2_python-0.3.6}/kea2/kea_launcher.py +16 -9
  8. {kea2_python-0.3.5 → kea2_python-0.3.6}/pyproject.toml +1 -1
  9. {kea2_python-0.3.5 → kea2_python-0.3.6}/Kea2_python.egg-info/SOURCES.txt +0 -0
  10. {kea2_python-0.3.5 → kea2_python-0.3.6}/Kea2_python.egg-info/dependency_links.txt +0 -0
  11. {kea2_python-0.3.5 → kea2_python-0.3.6}/Kea2_python.egg-info/entry_points.txt +0 -0
  12. {kea2_python-0.3.5 → kea2_python-0.3.6}/Kea2_python.egg-info/requires.txt +0 -0
  13. {kea2_python-0.3.5 → kea2_python-0.3.6}/Kea2_python.egg-info/top_level.txt +0 -0
  14. {kea2_python-0.3.5 → kea2_python-0.3.6}/LICENSE +0 -0
  15. {kea2_python-0.3.5 → kea2_python-0.3.6}/kea2/__init__.py +0 -0
  16. {kea2_python-0.3.5 → kea2_python-0.3.6}/kea2/absDriver.py +0 -0
  17. {kea2_python-0.3.5 → kea2_python-0.3.6}/kea2/adbUtils.py +0 -0
  18. {kea2_python-0.3.5 → kea2_python-0.3.6}/kea2/assets/fastbot-thirdpart.jar +0 -0
  19. {kea2_python-0.3.5 → kea2_python-0.3.6}/kea2/assets/fastbot_configs/abl.strings +0 -0
  20. {kea2_python-0.3.5 → kea2_python-0.3.6}/kea2/assets/fastbot_configs/awl.strings +0 -0
  21. {kea2_python-0.3.5 → kea2_python-0.3.6}/kea2/assets/fastbot_configs/max.config +0 -0
  22. {kea2_python-0.3.5 → kea2_python-0.3.6}/kea2/assets/fastbot_configs/max.fuzzing.strings +0 -0
  23. {kea2_python-0.3.5 → kea2_python-0.3.6}/kea2/assets/fastbot_configs/max.schema.strings +0 -0
  24. {kea2_python-0.3.5 → kea2_python-0.3.6}/kea2/assets/fastbot_configs/max.strings +0 -0
  25. {kea2_python-0.3.5 → kea2_python-0.3.6}/kea2/assets/fastbot_configs/max.tree.pruning +0 -0
  26. {kea2_python-0.3.5 → kea2_python-0.3.6}/kea2/assets/fastbot_configs/widget.block.py +0 -0
  27. {kea2_python-0.3.5 → kea2_python-0.3.6}/kea2/assets/fastbot_libs/arm64-v8a/libfastbot_native.so +0 -0
  28. {kea2_python-0.3.5 → kea2_python-0.3.6}/kea2/assets/fastbot_libs/armeabi-v7a/libfastbot_native.so +0 -0
  29. {kea2_python-0.3.5 → kea2_python-0.3.6}/kea2/assets/fastbot_libs/x86/libfastbot_native.so +0 -0
  30. {kea2_python-0.3.5 → kea2_python-0.3.6}/kea2/assets/fastbot_libs/x86_64/libfastbot_native.so +0 -0
  31. {kea2_python-0.3.5 → kea2_python-0.3.6}/kea2/assets/framework.jar +0 -0
  32. {kea2_python-0.3.5 → kea2_python-0.3.6}/kea2/assets/kea2-thirdpart.jar +0 -0
  33. {kea2_python-0.3.5 → kea2_python-0.3.6}/kea2/assets/monkeyq.jar +0 -0
  34. {kea2_python-0.3.5 → kea2_python-0.3.6}/kea2/assets/quicktest.py +0 -0
  35. {kea2_python-0.3.5 → kea2_python-0.3.6}/kea2/cli.py +0 -0
  36. {kea2_python-0.3.5 → kea2_python-0.3.6}/kea2/logWatcher.py +0 -0
  37. {kea2_python-0.3.5 → kea2_python-0.3.6}/kea2/report_merger.py +0 -0
  38. {kea2_python-0.3.5 → kea2_python-0.3.6}/kea2/resultSyncer.py +0 -0
  39. {kea2_python-0.3.5 → kea2_python-0.3.6}/kea2/templates/bug_report_template.html +0 -0
  40. {kea2_python-0.3.5 → kea2_python-0.3.6}/kea2/templates/merged_bug_report_template.html +0 -0
  41. {kea2_python-0.3.5 → kea2_python-0.3.6}/kea2/u2Driver.py +0 -0
  42. {kea2_python-0.3.5 → kea2_python-0.3.6}/kea2/utils.py +0 -0
  43. {kea2_python-0.3.5 → kea2_python-0.3.6}/setup.cfg +0 -0
  44. {kea2_python-0.3.5 → kea2_python-0.3.6}/tests/test_u2Selector.py +0 -0
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: Kea2-python
3
- Version: 0.3.5
3
+ Version: 0.3.6
4
4
  Summary: A python library for supporting and customizing automated UI testing for mobile apps
5
5
  Author-email: Xixian Liang <xixian@stu.ecnu.edu.cn>
6
6
  Requires-Python: >=3.8
@@ -261,6 +261,7 @@ You can find the [user manual](docs/manual_en.md), which includes:
261
261
  - How to [whitelist or blacklist](docs/blacklisting.md) specific activities, UI widgets and UI regions during fuzzing
262
262
  - [Q&A for Kea2 and PBT (对Kea2和PBT技术的常见问题和回答)](https://sy8pzmhmun.feishu.cn/wiki/SLGwwqgzIiEuC3kwmV8cSZY0nTg?from=from_copylink)
263
263
  - [Kea2 101 (Kea2 从0到1 的入门教程与最佳实践,建议新手阅读)](https://sy8pzmhmun.feishu.cn/wiki/EwaWwPCitiUJoBkIgALcHtglnDK?from=from_copylink)
264
+ - [Kea2 分享交流会 (2025.09, bilibili 录播)](https://www.bilibili.com/video/BV1CZYNz9Ei5/?vd_source=ab7968b8d764666d85d24af49d9b8891)
264
265
 
265
266
  Some blogs on Kea/Kea2 (in Chinese):
266
267
  - [别再苦哈哈写测试脚本了,生成它们吧!(一)](https://mp.weixin.qq.com/s/R2kLCkXpDjpa8wCX4Eidtg)
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: Kea2-python
3
- Version: 0.3.5
3
+ Version: 0.3.6
4
4
  Summary: A python library for supporting and customizing automated UI testing for mobile apps
5
5
  Author-email: Xixian Liang <xixian@stu.ecnu.edu.cn>
6
6
  Requires-Python: >=3.8
@@ -261,6 +261,7 @@ You can find the [user manual](docs/manual_en.md), which includes:
261
261
  - How to [whitelist or blacklist](docs/blacklisting.md) specific activities, UI widgets and UI regions during fuzzing
262
262
  - [Q&A for Kea2 and PBT (对Kea2和PBT技术的常见问题和回答)](https://sy8pzmhmun.feishu.cn/wiki/SLGwwqgzIiEuC3kwmV8cSZY0nTg?from=from_copylink)
263
263
  - [Kea2 101 (Kea2 从0到1 的入门教程与最佳实践,建议新手阅读)](https://sy8pzmhmun.feishu.cn/wiki/EwaWwPCitiUJoBkIgALcHtglnDK?from=from_copylink)
264
+ - [Kea2 分享交流会 (2025.09, bilibili 录播)](https://www.bilibili.com/video/BV1CZYNz9Ei5/?vd_source=ab7968b8d764666d85d24af49d9b8891)
264
265
 
265
266
  Some blogs on Kea/Kea2 (in Chinese):
266
267
  - [别再苦哈哈写测试脚本了,生成它们吧!(一)](https://mp.weixin.qq.com/s/R2kLCkXpDjpa8wCX4Eidtg)
@@ -246,6 +246,7 @@ You can find the [user manual](docs/manual_en.md), which includes:
246
246
  - How to [whitelist or blacklist](docs/blacklisting.md) specific activities, UI widgets and UI regions during fuzzing
247
247
  - [Q&A for Kea2 and PBT (对Kea2和PBT技术的常见问题和回答)](https://sy8pzmhmun.feishu.cn/wiki/SLGwwqgzIiEuC3kwmV8cSZY0nTg?from=from_copylink)
248
248
  - [Kea2 101 (Kea2 从0到1 的入门教程与最佳实践,建议新手阅读)](https://sy8pzmhmun.feishu.cn/wiki/EwaWwPCitiUJoBkIgALcHtglnDK?from=from_copylink)
249
+ - [Kea2 分享交流会 (2025.09, bilibili 录播)](https://www.bilibili.com/video/BV1CZYNz9Ei5/?vd_source=ab7968b8d764666d85d24af49d9b8891)
249
250
 
250
251
  Some blogs on Kea/Kea2 (in Chinese):
251
252
  - [别再苦哈哈写测试脚本了,生成它们吧!(一)](https://mp.weixin.qq.com/s/R2kLCkXpDjpa8wCX4Eidtg)
@@ -538,7 +538,7 @@ class BugReportGenerator:
538
538
  timestamp = datetime.now().strftime("%Y-%m-%d %H:%M:%S")
539
539
 
540
540
  # Ensure coverage_trend has data
541
- if not data["coverage_trend"]:
541
+ if not data.get("coverage_trend"):
542
542
  logger.warning("No coverage trend data")
543
543
  # Use the same field names as in coverage.log file
544
544
  data["coverage_trend"] = [{"stepsCount": 0, "coverage": 0, "testedActivitiesCount": 0}]
@@ -7,7 +7,7 @@ from packaging.version import parse as parse_version
7
7
  from uiautomator2.core import HTTPResponse, _http_request
8
8
  from kea2.adbUtils import ADBDevice, ADBStreamShell_V2
9
9
  from pathlib import Path
10
- from kea2.utils import getLogger
10
+ from kea2.utils import getLogger, getProjectRoot
11
11
 
12
12
 
13
13
  from typing import IO, TYPE_CHECKING, Dict
@@ -70,14 +70,15 @@ class FastbotManager:
70
70
  "/data/local/tmp/x86_64/libfastbot_native.so",
71
71
  )
72
72
 
73
+ cwd = getProjectRoot()
73
74
  whitelist = self.options.act_whitelist_file
74
75
  blacklist = self.options.act_blacklist_file
75
76
  if bool(whitelist) ^ bool(blacklist):
76
77
  if whitelist:
77
- file_to_push = cur_dir.parent / 'configs' / 'awl.strings'
78
+ file_to_push = cwd / 'configs' / 'awl.strings'
78
79
  remote_path = whitelist
79
80
  else:
80
- file_to_push = cur_dir.parent / 'configs' / 'abl.strings'
81
+ file_to_push = cwd / 'configs' / 'abl.strings'
81
82
  remote_path = blacklist
82
83
 
83
84
  self.dev.sync.push(
@@ -197,6 +198,9 @@ class FastbotManager:
197
198
 
198
199
  shell_command += ["-v", "-v", "-v"]
199
200
 
201
+ if self.options.extra_args:
202
+ shell_command += self.options.extra_args
203
+
200
204
  full_cmd = ["adb"] + (["-s", self.options.serial] if self.options.serial else []) + ["shell"] + shell_command
201
205
 
202
206
 
@@ -136,6 +136,8 @@ class Options:
136
136
  act_whitelist_file: str = None
137
137
  # Activity BlackList File
138
138
  act_blacklist_file: str = None
139
+ # Extra args
140
+ extra_args: List[str] = None
139
141
 
140
142
  def __setattr__(self, name, value):
141
143
  if value is None:
@@ -148,8 +148,8 @@ def _set_runner_parser(subparsers: "argparse._SubParsersAction[argparse.Argument
148
148
  def unittest_info_logger(args):
149
149
  if args.agent == "native":
150
150
  print("[Warning] Property not availble in native agent.", flush=True)
151
- if args.extra and args.extra[0] == "unittest":
152
- print("Captured unittest args:", args.extra, flush=True)
151
+ if args.unittest_args:
152
+ print("Captured unittest args:", args.unittest_args, flush=True)
153
153
 
154
154
 
155
155
  def driver_info_logger(args):
@@ -189,7 +189,13 @@ def _sanitize_args(args):
189
189
  args.driver_name = "d"
190
190
  else:
191
191
  raise ValueError("--driver-name should be specified when customizing script in --agent u2")
192
-
192
+ if args.extra:
193
+ args.extra = args.extra[1:] if args.extra[0] == "--" else args.extra
194
+ unittest_index = args.extra.index("unittest") if "unittest" in args.extra else -1
195
+ if unittest_index != -1:
196
+ unittest_args = args.extra[unittest_index+1:]
197
+ setattr(args, "unittest_args", unittest_args)
198
+ args.extra = args.extra[:unittest_index]
193
199
 
194
200
  def run(args=None):
195
201
  if args is None:
@@ -197,6 +203,9 @@ def run(args=None):
197
203
  _sanitize_args(args)
198
204
  driver_info_logger(args)
199
205
  unittest_info_logger(args)
206
+ if args.extra:
207
+ print("[Warning] Captured extra args:", args.extra, flush=True)
208
+ print("The extra args will be passed into fastbot launcher.", flush=True)
200
209
 
201
210
  from kea2 import KeaTestRunner, Options
202
211
  from kea2.u2Driver import U2Driver
@@ -214,15 +223,13 @@ def run(args=None):
214
223
  profile_period=args.profile_period,
215
224
  take_screenshots=args.take_screenshots,
216
225
  device_output_root=args.device_output_root,
217
- act_whitelist_file = args.act_whitelist_file,
218
- act_blacklist_file=args.act_blacklist_file
226
+ act_whitelist_file=args.act_whitelist_file,
227
+ act_blacklist_file=args.act_blacklist_file,
228
+ extra_args=args.extra,
219
229
  )
220
230
 
221
231
  KeaTestRunner.setOptions(options)
222
- unittest_args = []
223
- if args.extra and args.extra[0] == "unittest":
224
- unittest_args = args.extra[1:]
225
- sys.argv = ["python3 -m unittest"] + unittest_args
232
+ sys.argv = ["python3 -m unittest"] + args.unittest_args
226
233
 
227
234
  unittest.main(module=None, testRunner=KeaTestRunner)
228
235
 
@@ -1,6 +1,6 @@
1
1
  [project]
2
2
  name = "Kea2-python"
3
- version = "0.3.5"
3
+ version = "0.3.6"
4
4
  description = "A python library for supporting and customizing automated UI testing for mobile apps"
5
5
  readme = "README.md"
6
6
  requires-python = ">=3.8"
File without changes
File without changes
File without changes
File without changes