Kea2-python 0.1.0b0__py3-none-any.whl → 0.1.2__py3-none-any.whl

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/utils.py CHANGED
@@ -47,14 +47,10 @@ d = Device
47
47
 
48
48
 
49
49
  def getProjectRoot():
50
- root = Path("/")
50
+ root = Path(Path.cwd().anchor)
51
51
  cur_dir = Path.absolute(Path(os.curdir))
52
52
  while not os.path.isdir(cur_dir / "configs"):
53
53
  if cur_dir == root:
54
54
  return None
55
55
  cur_dir = cur_dir.parent
56
56
  return cur_dir
57
-
58
-
59
-
60
-
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: Kea2-python
3
- Version: 0.1.0b0
3
+ Version: 0.1.2
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
@@ -8,6 +8,7 @@ Description-Content-Type: text/markdown
8
8
  License-File: LICENSE
9
9
  Requires-Dist: rtree>=1.3.0
10
10
  Requires-Dist: uiautomator2>=3.2.9
11
+ Requires-Dist: jinja2>=3.0.0
11
12
  Dynamic: license-file
12
13
 
13
14
 
@@ -17,7 +18,7 @@ Dynamic: license-file
17
18
  ![Python](https://img.shields.io/badge/python-3.8%2B-blue)
18
19
 
19
20
  <div>
20
- <img src="https://github.com/user-attachments/assets/dad0dbf5-b5d3-414b-a627-281a0fa40cf1" style="border-radius: 14px; width: 20%; height: 20%;"/>
21
+ <img src="https://github.com/user-attachments/assets/1a64635b-a8f2-40f1-8f16-55e47b1d74e7" style="border-radius: 14px; width: 20%; height: 20%;"/>
21
22
  </div>
22
23
 
23
24
  ## About
@@ -66,7 +67,7 @@ In the future, Kea2 will be extended to support
66
67
 
67
68
  Running environment:
68
69
  - support Windows, MacOS and Linux
69
- - python 3.8+, Android 4.4+ (Android SDK installed)
70
+ - python 3.8+, Android 5.0+ (Android SDK installed)
70
71
  - **VPN closed** (Features 2 and 3 required)
71
72
 
72
73
  Install Kea2 by `pip`:
@@ -203,28 +204,24 @@ For the preceding always-holding property, we can write the following script to
203
204
  ```
204
205
  > We use [hypothesis](https://github.com/HypothesisWorks/hypothesis) to generate random texts.
205
206
 
206
- You can run this example by using the similar command line in Feature 2. `--take-screenshots` is recommanded to replay the functional bug.
207
-
208
- > Notes: `--take-screenshots` will need more disk space on PC.
209
-
210
- ```bash
211
- # Launch Kea2 and load one single script quicktest.py.
212
- kea2 run -s "emulator-5554" -p it.feio.android.omninotes.alpha --agent u2 --running-minutes 10 --throttle 200 --driver-name d --take-screenshots unittest discover -p quicktest.py
213
- ```
207
+ You can run this example by using the similar command line in Feature 2.
214
208
 
215
209
  ## Documentations(更多文档)
216
210
 
217
- [更多文档](docs/manual_en.md):如何定义Kea2脚本、如何启动Kea2、如何查看/理解Kea2的运行结果
218
-
219
- [如何黑白控件/区域](docs/blacklisting.md)
211
+ [更多文档](docs/manual_en.md),包括了:
212
+ - Kea2的案例教程(基于微信介绍)、
213
+ - Kea2脚本的定义方法,支持的脚本装饰器(如`@precondition`、`@prob`、`@max_tries`)
214
+ - Kea2的启动方式、命令行选项
215
+ - 查看/理解Kea2的运行结果(如界面截图、测试覆盖率、脚本执行成功与否)。
216
+ - [如何黑白控件/区域](docs/blacklisting.md)
220
217
 
221
- ### Open-source projects used by Kea2
218
+ ## Open-source projects used by Kea2
222
219
 
223
220
  - [Fastbot](https://github.com/bytedance/Fastbot_Android)
224
221
  - [uiautomator2](https://github.com/openatx/uiautomator2)
225
222
  - [hypothesis](https://github.com/HypothesisWorks/hypothesis)
226
223
 
227
- ### Relevant papers of Kea2
224
+ ## Relevant papers of Kea2
228
225
 
229
226
  > General and Practical Property-based Testing for Android Apps. ASE 2024. [pdf](https://dl.acm.org/doi/10.1145/3691620.3694986)
230
227
 
@@ -254,4 +251,4 @@ Kea2 has also received many valuable insights, advices, feedbacks and lessons sh
254
251
 
255
252
  [^1]: 不少UI自动化测试工具提供了“自定义事件序列”能力(如[Fastbot](https://github.com/bytedance/Fastbot_Android/blob/main/handbook-cn.md#%E8%87%AA%E5%AE%9A%E4%B9%89%E4%BA%8B%E4%BB%B6%E5%BA%8F%E5%88%97) 和[AppCrawler](https://github.com/seveniruby/AppCrawler)),但在实际使用中存在不少问题,如自定义能力有限、使用不灵活等。此前不少Fastbot用户抱怨过其“自定义事件序列”在使用中的问题,如[#209](https://github.com/bytedance/Fastbot_Android/issues/209), [#225](https://github.com/bytedance/Fastbot_Android/issues/225), [#286](https://github.com/bytedance/Fastbot_Android/issues/286)等。
256
253
 
257
- [^2]: 在UI自动化测试过程中支持自动断言是一个很重要的能力,但几乎没有测试工具提供这样的能力。我们注意到[AppCrawler](https://ceshiren.com/t/topic/15801/5)的开发者曾经希望提供一种断言机制,得到了用户的热切响应,不少用户从21年就开始催更,但始终未能实现。
254
+ [^2]: 在UI自动化测试过程中支持自动断言是一个很重要的能力,但几乎没有测试工具提供这样的能力。我们注意到[AppCrawler](https://ceshiren.com/t/topic/15801/5)的开发者曾经希望提供一种断言机制,得到了用户的热切响应,不少用户从21年就开始催更,但始终未能实现。
@@ -1,17 +1,20 @@
1
1
  kea2/__init__.py,sha256=JFJjqgf5KB4bXUFQ3upkEug0cFMFIk9p3OHV9vzulHw,75
2
2
  kea2/absDriver.py,sha256=X99d-OP77EIiDwTLvWVkgDUtqscoxmWeOb-EcaOPWGI,1294
3
3
  kea2/adbUtils.py,sha256=j6goAAzV1Ikmv26DZEE0Oi8S1PrejcV1Io3u_Xw4ws4,9910
4
+ kea2/bug_report_generator.py,sha256=G5h9nI1w1UaksjF3gkMC8UrXgiNmtU1D5VIuPiciOak,22792
4
5
  kea2/cli.py,sha256=YgWOe5JB0_WBTKyBShBEymhLIqj6K5gNR4Aaj6Pbtn0,2796
5
- kea2/keaUtils.py,sha256=iV82-aUB8Wc0VkIUTDAk2lxsfr-RAABzTcb0igQYXbo,27037
6
- kea2/kea_launcher.py,sha256=Kj49TBJ8aRRJQI24y3vwbBMyTenJpL1HAqgv4ETRT9E,4986
7
- kea2/logWatcher.py,sha256=RQp9b6yF24Vh6_dUgx-nrSjiz-mP4uXjyVz7_HfYQ28,2029
6
+ kea2/fastbotManager.py,sha256=Ru7Aitcjlem52npJJLg-3KX5ctCoflaaLG4N0IgQ2QU,4828
7
+ kea2/keaUtils.py,sha256=civETbAJaRJsVf7hb-ZKqcDRAaRfpxIdj0frBwyvsjk,25175
8
+ kea2/kea_launcher.py,sha256=xDMHAzD2Ig2Dug9K4MzkTPwieKvLASmjUahEst8aaVU,5291
9
+ kea2/logWatcher.py,sha256=qpIsflbP37eX5b4EaWnrqyPbGP9lzQhRr3ainGFfZeI,2211
8
10
  kea2/resultSyncer.py,sha256=f3qfne8WQCo1AA3cwx9IZzLdenjjMWbEpAqPdvddAqk,1984
9
11
  kea2/u2Driver.py,sha256=1uViwhQAkBFu69XFR5i8dSgG8SL3v7wZ68-t0E0Xlpw,14876
10
- kea2/utils.py,sha256=bLS8SokdLffOnRrncDn6JBNrnYzAQ-pIOsE4uLirwbA,1374
12
+ kea2/utils.py,sha256=8b4y-_B7knKRN_HqpWZM900IdRiZXwmzQnduVVN0GxQ,1384
11
13
  kea2/assets/fastbot-thirdpart.jar,sha256=0SZ_OoZFWDGMnazgXKceHgKvXdUDoIa3Gb2bcifaikk,85664
12
14
  kea2/assets/framework.jar,sha256=rTluOJJKj2DFwh7ascXso1udYdWv00BxBwSQ3Vmv-fw,1149240
13
- kea2/assets/monkeyq.jar,sha256=6eio4sDwd9F2w0CTwROP7RmbbC1a6ghVKKljxVE8w4g,463163
14
- kea2/assets/quicktest.py,sha256=j-fIryvspXObaNm3kWzgM0LMFes4h7EXT5C9xUWGUVo,2887
15
+ kea2/assets/kea2-thirdpart.jar,sha256=HYdtG2gqDLuLb72dpK3lX-Y6QUNTrJ-bfQopU5aWpfo,359346
16
+ kea2/assets/monkeyq.jar,sha256=EU8aF9S3N1SiZ_RGxP2etPeNBLr9tVPwj0XcCwGNcjc,111988
17
+ kea2/assets/quicktest.py,sha256=TJj9GaRioFrijU9PMLpyZY8S07db67UZFBr5G-aQY80,3000
15
18
  kea2/assets/fastbot_configs/abl.strings,sha256=Rn8_YEbVGOJqndIY_-kWnR5NaoFI-cuB-ij10Ddhl90,75
16
19
  kea2/assets/fastbot_configs/awl.strings,sha256=-j4980GoWQxGOM9ijAwXPQmziCwFBZJFmuiv2tOEaYI,101
17
20
  kea2/assets/fastbot_configs/max.config,sha256=rBgR4mdgBzqVPQ2lZaXqx2WN6tDzhe-FNizm4Y7tyA8,226
@@ -20,13 +23,14 @@ kea2/assets/fastbot_configs/max.schema.strings,sha256=zYupzvmTtnbPYomI2UCPk0s6PE
20
23
  kea2/assets/fastbot_configs/max.strings,sha256=k82GAAZZG7KbDI7bk7DUklp41WJJO7j-j8Ss1BcybUw,32
21
24
  kea2/assets/fastbot_configs/max.tree.pruning,sha256=dm0oesN75FFbVSkV7STDUmrNMpQUBEuO7Uymt6nEkBc,629
22
25
  kea2/assets/fastbot_configs/widget.block.py,sha256=r9Njm2xSBls3GMDIHTPMdmlFRiOjJWuVsq2KiieWFXA,1272
23
- kea2/assets/fastbot_libs/arm64-v8a/libfastbot_native.so,sha256=dA2Tf74-gDrCFdeClsf7qZAy0RqDZQOLlBZ-FViuorw,2005832
24
- kea2/assets/fastbot_libs/armeabi-v7a/libfastbot_native.so,sha256=GWcL8M8WfQAd9CfOM6pRYbOnxeycN-LiL7Mf59YIadE,1334420
26
+ kea2/assets/fastbot_libs/arm64-v8a/libfastbot_native.so,sha256=tAFrG73pJi7XakRxSp9CavPHbexKvhC9NOMdt48IEuM,2006872
27
+ kea2/assets/fastbot_libs/armeabi-v7a/libfastbot_native.so,sha256=UV8bhaiPoPKdd3q0vj3kSZqPR9anllai_tz_2QkMMbQ,1335372
25
28
  kea2/assets/fastbot_libs/x86/libfastbot_native.so,sha256=k-aw1gEXRWMKZRNHIggKNuZy0wC1y2BnveJGEIO6rbo,2036856
26
29
  kea2/assets/fastbot_libs/x86_64/libfastbot_native.so,sha256=tiofhlf4uMQcU5WAvrdLgTBME0lb83hVUoGtTwxmE8A,2121416
27
- kea2_python-0.1.0b0.dist-info/licenses/LICENSE,sha256=nM9PPjcsXVo5SzNsjRqWgA-gdJlwqZZcRDSC6Qf6bVE,2034
28
- kea2_python-0.1.0b0.dist-info/METADATA,sha256=akhVwN64y8HfDVvuifnxasVIqgMZgE-BqXx_Yar7Hfo,13356
29
- kea2_python-0.1.0b0.dist-info/WHEEL,sha256=_zCd3N1l69ArxyTb8rzEoP9TpbYXkqRFSNOD5OuxnTs,91
30
- kea2_python-0.1.0b0.dist-info/entry_points.txt,sha256=mFX06TyxXiUAJQ6JZn8QHzfn8n5R8_KJ5W-pTm_fRCA,39
31
- kea2_python-0.1.0b0.dist-info/top_level.txt,sha256=TsgNH4PQoNOVhegpO7AcjutMVWp6Z4KDL1pBH9FnMmk,5
32
- kea2_python-0.1.0b0.dist-info/RECORD,,
30
+ kea2/templates/bug_report_template.html,sha256=sQ0Uu8SPeOIiyX5vPPTZPVKxh9-9raAZcCjSRS8YFe0,40624
31
+ kea2_python-0.1.2.dist-info/licenses/LICENSE,sha256=nM9PPjcsXVo5SzNsjRqWgA-gdJlwqZZcRDSC6Qf6bVE,2034
32
+ kea2_python-0.1.2.dist-info/METADATA,sha256=uVrc81g1R20PPcsSn2cJg7tuAZ84GnGcL8kMI1Hfrys,13233
33
+ kea2_python-0.1.2.dist-info/WHEEL,sha256=_zCd3N1l69ArxyTb8rzEoP9TpbYXkqRFSNOD5OuxnTs,91
34
+ kea2_python-0.1.2.dist-info/entry_points.txt,sha256=mFX06TyxXiUAJQ6JZn8QHzfn8n5R8_KJ5W-pTm_fRCA,39
35
+ kea2_python-0.1.2.dist-info/top_level.txt,sha256=TsgNH4PQoNOVhegpO7AcjutMVWp6Z4KDL1pBH9FnMmk,5
36
+ kea2_python-0.1.2.dist-info/RECORD,,