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.
- {kea2_python-0.3.5 → kea2_python-0.3.6}/Kea2_python.egg-info/PKG-INFO +2 -1
- {kea2_python-0.3.5 → kea2_python-0.3.6}/PKG-INFO +2 -1
- {kea2_python-0.3.5 → kea2_python-0.3.6}/README.md +1 -0
- {kea2_python-0.3.5 → kea2_python-0.3.6}/kea2/bug_report_generator.py +1 -1
- {kea2_python-0.3.5 → kea2_python-0.3.6}/kea2/fastbotManager.py +7 -3
- {kea2_python-0.3.5 → kea2_python-0.3.6}/kea2/keaUtils.py +2 -0
- {kea2_python-0.3.5 → kea2_python-0.3.6}/kea2/kea_launcher.py +16 -9
- {kea2_python-0.3.5 → kea2_python-0.3.6}/pyproject.toml +1 -1
- {kea2_python-0.3.5 → kea2_python-0.3.6}/Kea2_python.egg-info/SOURCES.txt +0 -0
- {kea2_python-0.3.5 → kea2_python-0.3.6}/Kea2_python.egg-info/dependency_links.txt +0 -0
- {kea2_python-0.3.5 → kea2_python-0.3.6}/Kea2_python.egg-info/entry_points.txt +0 -0
- {kea2_python-0.3.5 → kea2_python-0.3.6}/Kea2_python.egg-info/requires.txt +0 -0
- {kea2_python-0.3.5 → kea2_python-0.3.6}/Kea2_python.egg-info/top_level.txt +0 -0
- {kea2_python-0.3.5 → kea2_python-0.3.6}/LICENSE +0 -0
- {kea2_python-0.3.5 → kea2_python-0.3.6}/kea2/__init__.py +0 -0
- {kea2_python-0.3.5 → kea2_python-0.3.6}/kea2/absDriver.py +0 -0
- {kea2_python-0.3.5 → kea2_python-0.3.6}/kea2/adbUtils.py +0 -0
- {kea2_python-0.3.5 → kea2_python-0.3.6}/kea2/assets/fastbot-thirdpart.jar +0 -0
- {kea2_python-0.3.5 → kea2_python-0.3.6}/kea2/assets/fastbot_configs/abl.strings +0 -0
- {kea2_python-0.3.5 → kea2_python-0.3.6}/kea2/assets/fastbot_configs/awl.strings +0 -0
- {kea2_python-0.3.5 → kea2_python-0.3.6}/kea2/assets/fastbot_configs/max.config +0 -0
- {kea2_python-0.3.5 → kea2_python-0.3.6}/kea2/assets/fastbot_configs/max.fuzzing.strings +0 -0
- {kea2_python-0.3.5 → kea2_python-0.3.6}/kea2/assets/fastbot_configs/max.schema.strings +0 -0
- {kea2_python-0.3.5 → kea2_python-0.3.6}/kea2/assets/fastbot_configs/max.strings +0 -0
- {kea2_python-0.3.5 → kea2_python-0.3.6}/kea2/assets/fastbot_configs/max.tree.pruning +0 -0
- {kea2_python-0.3.5 → kea2_python-0.3.6}/kea2/assets/fastbot_configs/widget.block.py +0 -0
- {kea2_python-0.3.5 → kea2_python-0.3.6}/kea2/assets/fastbot_libs/arm64-v8a/libfastbot_native.so +0 -0
- {kea2_python-0.3.5 → kea2_python-0.3.6}/kea2/assets/fastbot_libs/armeabi-v7a/libfastbot_native.so +0 -0
- {kea2_python-0.3.5 → kea2_python-0.3.6}/kea2/assets/fastbot_libs/x86/libfastbot_native.so +0 -0
- {kea2_python-0.3.5 → kea2_python-0.3.6}/kea2/assets/fastbot_libs/x86_64/libfastbot_native.so +0 -0
- {kea2_python-0.3.5 → kea2_python-0.3.6}/kea2/assets/framework.jar +0 -0
- {kea2_python-0.3.5 → kea2_python-0.3.6}/kea2/assets/kea2-thirdpart.jar +0 -0
- {kea2_python-0.3.5 → kea2_python-0.3.6}/kea2/assets/monkeyq.jar +0 -0
- {kea2_python-0.3.5 → kea2_python-0.3.6}/kea2/assets/quicktest.py +0 -0
- {kea2_python-0.3.5 → kea2_python-0.3.6}/kea2/cli.py +0 -0
- {kea2_python-0.3.5 → kea2_python-0.3.6}/kea2/logWatcher.py +0 -0
- {kea2_python-0.3.5 → kea2_python-0.3.6}/kea2/report_merger.py +0 -0
- {kea2_python-0.3.5 → kea2_python-0.3.6}/kea2/resultSyncer.py +0 -0
- {kea2_python-0.3.5 → kea2_python-0.3.6}/kea2/templates/bug_report_template.html +0 -0
- {kea2_python-0.3.5 → kea2_python-0.3.6}/kea2/templates/merged_bug_report_template.html +0 -0
- {kea2_python-0.3.5 → kea2_python-0.3.6}/kea2/u2Driver.py +0 -0
- {kea2_python-0.3.5 → kea2_python-0.3.6}/kea2/utils.py +0 -0
- {kea2_python-0.3.5 → kea2_python-0.3.6}/setup.cfg +0 -0
- {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.
|
|
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.
|
|
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
|
|
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 =
|
|
78
|
+
file_to_push = cwd / 'configs' / 'awl.strings'
|
|
78
79
|
remote_path = whitelist
|
|
79
80
|
else:
|
|
80
|
-
file_to_push =
|
|
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
|
|
|
@@ -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.
|
|
152
|
-
print("Captured unittest args:", args.
|
|
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
|
|
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
|
-
|
|
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
|
|
|
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
|
|
File without changes
|
|
File without changes
|
{kea2_python-0.3.5 → kea2_python-0.3.6}/kea2/assets/fastbot_libs/arm64-v8a/libfastbot_native.so
RENAMED
|
File without changes
|
{kea2_python-0.3.5 → kea2_python-0.3.6}/kea2/assets/fastbot_libs/armeabi-v7a/libfastbot_native.so
RENAMED
|
File without changes
|
|
File without changes
|
{kea2_python-0.3.5 → kea2_python-0.3.6}/kea2/assets/fastbot_libs/x86_64/libfastbot_native.so
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
|