Kea2-python 1.0.2__tar.gz → 1.0.3__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.
Files changed (54) hide show
  1. {kea2_python-1.0.2 → kea2_python-1.0.3}/Kea2_python.egg-info/PKG-INFO +11 -5
  2. {kea2_python-1.0.2 → kea2_python-1.0.3}/PKG-INFO +11 -5
  3. {kea2_python-1.0.2 → kea2_python-1.0.3}/README.md +10 -4
  4. {kea2_python-1.0.2 → kea2_python-1.0.3}/kea2/assets/fastbot_libs/arm64-v8a/libfastbot_native.so +0 -0
  5. kea2_python-1.0.3/kea2/assets/fastbot_libs/armeabi-v7a/libfastbot_native.so +0 -0
  6. kea2_python-1.0.3/kea2/assets/fastbot_libs/x86/libfastbot_native.so +0 -0
  7. {kea2_python-1.0.2 → kea2_python-1.0.3}/kea2/assets/fastbot_libs/x86_64/libfastbot_native.so +0 -0
  8. kea2_python-1.0.3/kea2/assets/monkeyq.jar +0 -0
  9. {kea2_python-1.0.2 → kea2_python-1.0.3}/kea2/keaUtils.py +3 -1
  10. {kea2_python-1.0.2 → kea2_python-1.0.3}/kea2/logWatcher.py +1 -1
  11. {kea2_python-1.0.2 → kea2_python-1.0.3}/kea2/report/bug_report_generator.py +1 -1
  12. {kea2_python-1.0.2 → kea2_python-1.0.3}/kea2/u2Driver.py +11 -1
  13. {kea2_python-1.0.2 → kea2_python-1.0.3}/pyproject.toml +1 -1
  14. kea2_python-1.0.2/kea2/assets/fastbot_libs/armeabi-v7a/libfastbot_native.so +0 -0
  15. kea2_python-1.0.2/kea2/assets/fastbot_libs/x86/libfastbot_native.so +0 -0
  16. kea2_python-1.0.2/kea2/assets/monkeyq.jar +0 -0
  17. {kea2_python-1.0.2 → kea2_python-1.0.3}/Kea2_python.egg-info/SOURCES.txt +0 -0
  18. {kea2_python-1.0.2 → kea2_python-1.0.3}/Kea2_python.egg-info/dependency_links.txt +0 -0
  19. {kea2_python-1.0.2 → kea2_python-1.0.3}/Kea2_python.egg-info/entry_points.txt +0 -0
  20. {kea2_python-1.0.2 → kea2_python-1.0.3}/Kea2_python.egg-info/requires.txt +0 -0
  21. {kea2_python-1.0.2 → kea2_python-1.0.3}/Kea2_python.egg-info/top_level.txt +0 -0
  22. {kea2_python-1.0.2 → kea2_python-1.0.3}/LICENSE +0 -0
  23. {kea2_python-1.0.2 → kea2_python-1.0.3}/kea2/__init__.py +0 -0
  24. {kea2_python-1.0.2 → kea2_python-1.0.3}/kea2/absDriver.py +0 -0
  25. {kea2_python-1.0.2 → kea2_python-1.0.3}/kea2/adbUtils.py +0 -0
  26. {kea2_python-1.0.2 → kea2_python-1.0.3}/kea2/assets/config_version.json +0 -0
  27. {kea2_python-1.0.2 → kea2_python-1.0.3}/kea2/assets/fastbot-thirdpart.jar +0 -0
  28. {kea2_python-1.0.2 → kea2_python-1.0.3}/kea2/assets/fastbot_configs/abl.strings +0 -0
  29. {kea2_python-1.0.2 → kea2_python-1.0.3}/kea2/assets/fastbot_configs/awl.strings +0 -0
  30. {kea2_python-1.0.2 → kea2_python-1.0.3}/kea2/assets/fastbot_configs/max.config +0 -0
  31. {kea2_python-1.0.2 → kea2_python-1.0.3}/kea2/assets/fastbot_configs/max.fuzzing.strings +0 -0
  32. {kea2_python-1.0.2 → kea2_python-1.0.3}/kea2/assets/fastbot_configs/max.schema.strings +0 -0
  33. {kea2_python-1.0.2 → kea2_python-1.0.3}/kea2/assets/fastbot_configs/max.strings +0 -0
  34. {kea2_python-1.0.2 → kea2_python-1.0.3}/kea2/assets/fastbot_configs/max.tree.pruning +0 -0
  35. {kea2_python-1.0.2 → kea2_python-1.0.3}/kea2/assets/fastbot_configs/teardown.py +0 -0
  36. {kea2_python-1.0.2 → kea2_python-1.0.3}/kea2/assets/fastbot_configs/widget.block.py +0 -0
  37. {kea2_python-1.0.2 → kea2_python-1.0.3}/kea2/assets/framework.jar +0 -0
  38. {kea2_python-1.0.2 → kea2_python-1.0.3}/kea2/assets/kea2-thirdpart.jar +0 -0
  39. {kea2_python-1.0.2 → kea2_python-1.0.3}/kea2/assets/quicktest.py +0 -0
  40. {kea2_python-1.0.2 → kea2_python-1.0.3}/kea2/cli.py +0 -0
  41. {kea2_python-1.0.2 → kea2_python-1.0.3}/kea2/fastbotManager.py +0 -0
  42. {kea2_python-1.0.2 → kea2_python-1.0.3}/kea2/kea_launcher.py +0 -0
  43. {kea2_python-1.0.2 → kea2_python-1.0.3}/kea2/mixin.py +0 -0
  44. {kea2_python-1.0.2 → kea2_python-1.0.3}/kea2/report/__init__.py +0 -0
  45. {kea2_python-1.0.2 → kea2_python-1.0.3}/kea2/report/mixin.py +0 -0
  46. {kea2_python-1.0.2 → kea2_python-1.0.3}/kea2/report/report_merger.py +0 -0
  47. {kea2_python-1.0.2 → kea2_python-1.0.3}/kea2/report/templates/bug_report_template.html +0 -0
  48. {kea2_python-1.0.2 → kea2_python-1.0.3}/kea2/report/templates/merged_bug_report_template.html +0 -0
  49. {kea2_python-1.0.2 → kea2_python-1.0.3}/kea2/report/utils.py +0 -0
  50. {kea2_python-1.0.2 → kea2_python-1.0.3}/kea2/resultSyncer.py +0 -0
  51. {kea2_python-1.0.2 → kea2_python-1.0.3}/kea2/utils.py +0 -0
  52. {kea2_python-1.0.2 → kea2_python-1.0.3}/kea2/version_manager.py +0 -0
  53. {kea2_python-1.0.2 → kea2_python-1.0.3}/setup.cfg +0 -0
  54. {kea2_python-1.0.2 → kea2_python-1.0.3}/tests/test_u2Selector.py +0 -0
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: Kea2-python
3
- Version: 1.0.2
3
+ Version: 1.0.3
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
@@ -43,7 +43,7 @@ Please contact Xixian Liang at [xixian@stu.ecnu.edu.cn](xixian@stu.ecnu.edu.cn)
43
43
 
44
44
  Kea2 is an easy-to-use tool for fuzzing mobile apps. Its key *novelty* is able to fuse automated UI testing with scripts (usually written by human), thus empowering automated UI testing with human intelligence for effectively finding *crashing bugs* as well as *non-crashing functional (logic) bugs*.
45
45
 
46
- Kea2 is currently built on top of [Fastbot](https://github.com/bytedance/Fastbot_Android), *an industrial-strength automated UI testing tool*, and [uiautomator2](https://github.com/openatx/uiautomator2), *an easy-to-use and stable Android automation library*.
46
+ Kea2 is currently built on top of [Fastbot](https://github.com/ecnusse/Fastbot_Android) 3.0 (a modified/enhanced version of the original [FastBot](https://github.com/bytedance/Fastbot_Android) 2.0), *an industrial-strength automated UI testing tool from ByteDance*, and [uiautomator2](https://github.com/openatx/uiautomator2), *an easy-to-use and stable Android automation library*.
47
47
  Kea2 currently targets [Android](https://en.wikipedia.org/wiki/Android_(operating_system)) apps.
48
48
 
49
49
  ## Novelty & Important features
@@ -90,7 +90,7 @@ Please let us know and willing to hear your feedback/questions if you are also u
90
90
  Kea2 currently works with:
91
91
  - [unittest](https://docs.python.org/3/library/unittest.html) as the testing framework to manage the scripts;
92
92
  - [uiautomator2](https://github.com/openatx/uiautomator2) as the UI test driver;
93
- - [Fastbot](https://github.com/bytedance/Fastbot_Android) as the backend automated UI testing tool.
93
+ - [Fastbot](https://github.com/bytedance/Fastbot_Android) as the backend automated UI testing tool.
94
94
 
95
95
  In the future, Kea2 will be extended to support
96
96
  - [pytest](https://docs.pytest.org/en/stable/), another popular python testing framework;
@@ -379,7 +379,7 @@ kea2做了什么:
379
379
 
380
380
  > Guided, Stochastic Model-Based GUI Testing of Android Apps. ESEC/FSE 2017. [pdf](https://dl.acm.org/doi/10.1145/3106237.3106298)
381
381
 
382
- ### Maintainers/Contributors
382
+ ## Maintainers/Contributors
383
383
 
384
384
  Kea2 has been actively developed and maintained by the people in [ecnusse](https://github.com/ecnusse):
385
385
 
@@ -397,7 +397,13 @@ Kea2 has been actively developed and maintained by the people in [ecnusse](https
397
397
 
398
398
  Kea2 has also received many valuable insights, advices, feedbacks and lessons shared by several industrial people from Bytedance ([Zhao Zhang](https://github.com/zhangzhao4444), Yuhui Su from the Fastbot team), OPay (Tiesong Liu), WeChat (Haochuan Lu, Yuetang Deng), Huawei, Xiaomi and etc. Kudos!
399
399
 
400
- ### Star History
400
+ ### Become a Contributor!
401
+
402
+ Kea2 is an open-source project and we are calling for more contributors to join us!
403
+
404
+ See [Developer guide](DEVELOP.md) for more details.
405
+
406
+ ## Star History
401
407
 
402
408
  [![Star History Chart](https://api.star-history.com/svg?repos=ecnusse/Kea2&type=Date)](https://www.star-history.com/#ecnusse/Kea2&Date)
403
409
 
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: Kea2-python
3
- Version: 1.0.2
3
+ Version: 1.0.3
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
@@ -43,7 +43,7 @@ Please contact Xixian Liang at [xixian@stu.ecnu.edu.cn](xixian@stu.ecnu.edu.cn)
43
43
 
44
44
  Kea2 is an easy-to-use tool for fuzzing mobile apps. Its key *novelty* is able to fuse automated UI testing with scripts (usually written by human), thus empowering automated UI testing with human intelligence for effectively finding *crashing bugs* as well as *non-crashing functional (logic) bugs*.
45
45
 
46
- Kea2 is currently built on top of [Fastbot](https://github.com/bytedance/Fastbot_Android), *an industrial-strength automated UI testing tool*, and [uiautomator2](https://github.com/openatx/uiautomator2), *an easy-to-use and stable Android automation library*.
46
+ Kea2 is currently built on top of [Fastbot](https://github.com/ecnusse/Fastbot_Android) 3.0 (a modified/enhanced version of the original [FastBot](https://github.com/bytedance/Fastbot_Android) 2.0), *an industrial-strength automated UI testing tool from ByteDance*, and [uiautomator2](https://github.com/openatx/uiautomator2), *an easy-to-use and stable Android automation library*.
47
47
  Kea2 currently targets [Android](https://en.wikipedia.org/wiki/Android_(operating_system)) apps.
48
48
 
49
49
  ## Novelty & Important features
@@ -90,7 +90,7 @@ Please let us know and willing to hear your feedback/questions if you are also u
90
90
  Kea2 currently works with:
91
91
  - [unittest](https://docs.python.org/3/library/unittest.html) as the testing framework to manage the scripts;
92
92
  - [uiautomator2](https://github.com/openatx/uiautomator2) as the UI test driver;
93
- - [Fastbot](https://github.com/bytedance/Fastbot_Android) as the backend automated UI testing tool.
93
+ - [Fastbot](https://github.com/bytedance/Fastbot_Android) as the backend automated UI testing tool.
94
94
 
95
95
  In the future, Kea2 will be extended to support
96
96
  - [pytest](https://docs.pytest.org/en/stable/), another popular python testing framework;
@@ -379,7 +379,7 @@ kea2做了什么:
379
379
 
380
380
  > Guided, Stochastic Model-Based GUI Testing of Android Apps. ESEC/FSE 2017. [pdf](https://dl.acm.org/doi/10.1145/3106237.3106298)
381
381
 
382
- ### Maintainers/Contributors
382
+ ## Maintainers/Contributors
383
383
 
384
384
  Kea2 has been actively developed and maintained by the people in [ecnusse](https://github.com/ecnusse):
385
385
 
@@ -397,7 +397,13 @@ Kea2 has been actively developed and maintained by the people in [ecnusse](https
397
397
 
398
398
  Kea2 has also received many valuable insights, advices, feedbacks and lessons shared by several industrial people from Bytedance ([Zhao Zhang](https://github.com/zhangzhao4444), Yuhui Su from the Fastbot team), OPay (Tiesong Liu), WeChat (Haochuan Lu, Yuetang Deng), Huawei, Xiaomi and etc. Kudos!
399
399
 
400
- ### Star History
400
+ ### Become a Contributor!
401
+
402
+ Kea2 is an open-source project and we are calling for more contributors to join us!
403
+
404
+ See [Developer guide](DEVELOP.md) for more details.
405
+
406
+ ## Star History
401
407
 
402
408
  [![Star History Chart](https://api.star-history.com/svg?repos=ecnusse/Kea2&type=Date)](https://www.star-history.com/#ecnusse/Kea2&Date)
403
409
 
@@ -28,7 +28,7 @@ Please contact Xixian Liang at [xixian@stu.ecnu.edu.cn](xixian@stu.ecnu.edu.cn)
28
28
 
29
29
  Kea2 is an easy-to-use tool for fuzzing mobile apps. Its key *novelty* is able to fuse automated UI testing with scripts (usually written by human), thus empowering automated UI testing with human intelligence for effectively finding *crashing bugs* as well as *non-crashing functional (logic) bugs*.
30
30
 
31
- Kea2 is currently built on top of [Fastbot](https://github.com/bytedance/Fastbot_Android), *an industrial-strength automated UI testing tool*, and [uiautomator2](https://github.com/openatx/uiautomator2), *an easy-to-use and stable Android automation library*.
31
+ Kea2 is currently built on top of [Fastbot](https://github.com/ecnusse/Fastbot_Android) 3.0 (a modified/enhanced version of the original [FastBot](https://github.com/bytedance/Fastbot_Android) 2.0), *an industrial-strength automated UI testing tool from ByteDance*, and [uiautomator2](https://github.com/openatx/uiautomator2), *an easy-to-use and stable Android automation library*.
32
32
  Kea2 currently targets [Android](https://en.wikipedia.org/wiki/Android_(operating_system)) apps.
33
33
 
34
34
  ## Novelty & Important features
@@ -75,7 +75,7 @@ Please let us know and willing to hear your feedback/questions if you are also u
75
75
  Kea2 currently works with:
76
76
  - [unittest](https://docs.python.org/3/library/unittest.html) as the testing framework to manage the scripts;
77
77
  - [uiautomator2](https://github.com/openatx/uiautomator2) as the UI test driver;
78
- - [Fastbot](https://github.com/bytedance/Fastbot_Android) as the backend automated UI testing tool.
78
+ - [Fastbot](https://github.com/bytedance/Fastbot_Android) as the backend automated UI testing tool.
79
79
 
80
80
  In the future, Kea2 will be extended to support
81
81
  - [pytest](https://docs.pytest.org/en/stable/), another popular python testing framework;
@@ -364,7 +364,7 @@ kea2做了什么:
364
364
 
365
365
  > Guided, Stochastic Model-Based GUI Testing of Android Apps. ESEC/FSE 2017. [pdf](https://dl.acm.org/doi/10.1145/3106237.3106298)
366
366
 
367
- ### Maintainers/Contributors
367
+ ## Maintainers/Contributors
368
368
 
369
369
  Kea2 has been actively developed and maintained by the people in [ecnusse](https://github.com/ecnusse):
370
370
 
@@ -382,7 +382,13 @@ Kea2 has been actively developed and maintained by the people in [ecnusse](https
382
382
 
383
383
  Kea2 has also received many valuable insights, advices, feedbacks and lessons shared by several industrial people from Bytedance ([Zhao Zhang](https://github.com/zhangzhao4444), Yuhui Su from the Fastbot team), OPay (Tiesong Liu), WeChat (Haochuan Lu, Yuetang Deng), Huawei, Xiaomi and etc. Kudos!
384
384
 
385
- ### Star History
385
+ ### Become a Contributor!
386
+
387
+ Kea2 is an open-source project and we are calling for more contributors to join us!
388
+
389
+ See [Developer guide](DEVELOP.md) for more details.
390
+
391
+ ## Star History
386
392
 
387
393
  [![Star History Chart](https://api.star-history.com/svg?repos=ecnusse/Kea2&type=Date)](https://www.star-history.com/#ecnusse/Kea2&Date)
388
394
 
@@ -255,7 +255,7 @@ def _check_package_installation(packageNames):
255
255
  for package in packageNames:
256
256
  if package not in installed_packages:
257
257
  logger.error(f"package {package} not installed. Abort.")
258
- raise ValueError("package not installed")
258
+ raise ValueError(f"{package} not installed")
259
259
 
260
260
 
261
261
  def _save_bug_report_configs(options: Options):
@@ -600,6 +600,8 @@ class KeaTestRunner(TextTestRunner, KeaOptionSetter):
600
600
  continue
601
601
  validProps[propName] = test
602
602
 
603
+ staticCheckerDriver.clear_cache()
604
+
603
605
  print(f"{len(validProps)} precond satisfied.", flush=True)
604
606
  if len(validProps) > 0:
605
607
  print("[INFO] Valid properties:",flush=True)
@@ -46,7 +46,7 @@ class LogWatcher:
46
46
  raise RuntimeError(
47
47
  "[Error] Fatal Execption while running fastbot:\n" +
48
48
  exception_body +
49
- "\nSee fastbot.log for details."
49
+ f"\nSee {self.log_file} for details."
50
50
  )
51
51
 
52
52
  statistic_match = PATTERN_STATISTIC.search(content)
@@ -280,7 +280,7 @@ class BugReportGenerator(CrashAnrMixin, PathParserMixin, ScreenshotsMixin):
280
280
  info = step_data.get("Info", {})
281
281
 
282
282
  # Count Monkey events separately
283
- if step_type == "Monkey":
283
+ if step_type == "Monkey" or step_type == "Fuzz":
284
284
  monkey_events_count += 1
285
285
 
286
286
  # If screenshots are enabled, mark the screenshot
@@ -411,15 +411,25 @@ class _HindenWidgetFilter:
411
411
 
412
412
 
413
413
  class U2StaticDevice(u2.Device):
414
+
414
415
  def __init__(self, script_driver=None):
415
416
  self.xml: etree._Element = None
416
- self._script_driver = script_driver
417
+ self._script_driver:u2.Device = script_driver
418
+ self._app_current = None
417
419
 
418
420
  def __call__(self, **kwargs):
419
421
  ui = StaticU2UiObject(session=self, selector=u2.Selector(**kwargs))
420
422
  if self._script_driver:
421
423
  ui.jsonrpc = self._script_driver.jsonrpc
422
424
  return ui
425
+
426
+ def clear_cache(self):
427
+ self._app_current = None
428
+
429
+ def app_current(self):
430
+ if not self._app_current:
431
+ self._app_current = self._script_driver.app_current()
432
+ return self._app_current
423
433
 
424
434
  @property
425
435
  def xpath(self) -> u2.xpath.XPathEntry:
@@ -1,6 +1,6 @@
1
1
  [project]
2
2
  name = "Kea2-python"
3
- version = "1.0.2"
3
+ version = "1.0.3"
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"
Binary file
File without changes
File without changes
File without changes
File without changes
File without changes