Kea2-python 1.0.0__py3-none-any.whl → 1.0.1__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/assets/monkeyq.jar CHANGED
Binary file
@@ -592,6 +592,8 @@ class BugReportGenerator:
592
592
  'activity_count_history': data["activity_count_history"],
593
593
  'crash_events': data["crash_events"],
594
594
  'anr_events': data["anr_events"],
595
+ 'triggered_crash_count': len(data["crash_events"]),
596
+ 'triggered_anr_count': len(data["anr_events"]),
595
597
  'property_stats_summary': data["property_stats_summary"]
596
598
  }
597
599
 
kea2/keaUtils.py CHANGED
@@ -12,7 +12,6 @@ import random
12
12
  import warnings
13
13
  from dataclasses import dataclass, asdict
14
14
  from kea2.absDriver import AbstractDriver
15
- from functools import wraps
16
15
  from kea2.bug_report_generator import BugReportGenerator
17
16
  from kea2.resultSyncer import ResultSyncer
18
17
  from kea2.logWatcher import LogWatcher
@@ -1286,6 +1286,24 @@
1286
1286
  <span class="stat-label">Executed Properties</span>
1287
1287
  </div>
1288
1288
  </div>
1289
+ {% if triggered_crash_count %}
1290
+ <div class="col-md-2 col-sm-6">
1291
+ <div class="text-center">
1292
+ <i class="bi bi-exclamation-octagon text-danger" style="font-size: 2rem;"></i>
1293
+ <span class="stat-value value-danger">{{ triggered_crash_count }}</span>
1294
+ <span class="stat-label">Triggered Crash</span>
1295
+ </div>
1296
+ </div>
1297
+ {% endif %}
1298
+ {% if triggered_anr_count %}
1299
+ <div class="col-md-2 col-sm-6">
1300
+ <div class="text-center">
1301
+ <i class="bi bi-hourglass-split text-warning" style="font-size: 2rem;"></i>
1302
+ <span class="stat-value value-warning">{{ triggered_anr_count }}</span>
1303
+ <span class="stat-label">Triggered ANR</span>
1304
+ </div>
1305
+ </div>
1306
+ {% endif %}
1289
1307
  </div>
1290
1308
  </div>
1291
1309
  </div>
@@ -1610,7 +1628,12 @@
1610
1628
  <tr class="property-violation-row" data-page="1">
1611
1629
  <td>{{ violation.index }}</td>
1612
1630
  <td><span class="badge bg-light text-dark badge-custom">{{ violation.property_name }}</span></td>
1613
- <td><a href="#{{ violation.interaction_pages[0] }}" class="link-button">{{ violation.interaction_pages[0] }} ~ {{ violation.interaction_pages[1] }}</a></td>
1631
+ <td>
1632
+ <a href="#{{ violation.interaction_pages|last }}" class="link-button"
1633
+ onclick="scrollToScreenshot('{{ violation.interaction_pages|last }}')">
1634
+ {{ violation.interaction_pages[0] }} ~ {{ violation.interaction_pages[1] }}
1635
+ </a>
1636
+ </td>
1614
1637
  </tr>
1615
1638
  {% endfor %}
1616
1639
  </tbody>
@@ -1733,7 +1756,7 @@
1733
1756
  {% set property_index = loop.index %}
1734
1757
  {% if error_list|length == 1 %}
1735
1758
  <!-- Single error detail row -->
1736
- <tr class="collapse" id="single-error-detail-{{ property_index }}">
1759
+ <tr class="collapse property-detail-row" data-detail-for="{{ property_name }}" id="single-error-detail-{{ property_index }}">
1737
1760
  <td colspan="8">
1738
1761
  <div class="bg-light p-3 rounded">
1739
1762
  <div class="mb-2">
@@ -1765,7 +1788,7 @@
1765
1788
  </tr>
1766
1789
  {% else %}
1767
1790
  <!-- Multiple errors detail row -->
1768
- <tr class="collapse" id="multi-error-detail-{{ property_index }}">
1791
+ <tr class="collapse property-detail-row" data-detail-for="{{ property_name }}" id="multi-error-detail-{{ property_index }}">
1769
1792
  <td colspan="8">
1770
1793
  <div class="bg-light p-3 rounded">
1771
1794
  <!-- Error summary -->
@@ -2319,6 +2342,18 @@
2319
2342
  function sortTable(column, order) {
2320
2343
  const container = document.getElementById('property-stats-container');
2321
2344
  const rows = Array.from(container.getElementsByClassName('property-stat-row'));
2345
+ const detailRowMap = new Map();
2346
+
2347
+ // Capture current detail rows so they can move with their parent property row
2348
+ const detailRows = Array.from(container.querySelectorAll('.property-detail-row'));
2349
+ detailRows.forEach(function(detailRow) {
2350
+ const key = detailRow.dataset.detailFor;
2351
+ if (!key) return;
2352
+ if (!detailRowMap.has(key)) {
2353
+ detailRowMap.set(key, []);
2354
+ }
2355
+ detailRowMap.get(key).push(detailRow);
2356
+ });
2322
2357
 
2323
2358
  rows.sort(function(a, b) {
2324
2359
  let valueA, valueB;
@@ -2338,11 +2373,18 @@
2338
2373
  }
2339
2374
  });
2340
2375
 
2341
- // Clear container and append sorted rows
2342
- container.innerHTML = '';
2376
+ const fragment = document.createDocumentFragment();
2343
2377
  rows.forEach(function(row) {
2344
- container.appendChild(row);
2378
+ fragment.appendChild(row);
2379
+ const detailKey = row.dataset.propertyName;
2380
+ const relatedDetailRows = detailRowMap.get(detailKey) || [];
2381
+ relatedDetailRows.forEach(function(detailRow) {
2382
+ fragment.appendChild(detailRow);
2383
+ });
2345
2384
  });
2385
+
2386
+ container.innerHTML = '';
2387
+ container.appendChild(fragment);
2346
2388
 
2347
2389
  // Re-initialize pagination after sorting
2348
2390
  initPagination('property-stats-container', 'property-stat-row', 'stats-pagination', 'stats-page-size');
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: Kea2-python
3
- Version: 1.0.0
3
+ Version: 1.0.1
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
@@ -1,10 +1,10 @@
1
1
  kea2/__init__.py,sha256=Vqf9XZkOau0Kz59tI4OJRRIOG1AnL45ZUuPrri99gFg,123
2
2
  kea2/absDriver.py,sha256=NzmsLs1Ojz-yEXctGAqj7aKBwAQW19zd83l65RABCe8,1288
3
3
  kea2/adbUtils.py,sha256=zi0T0_g44xZQZe3XYzBsuh7VTHpdZ4dd6yKi-p7BTYI,19939
4
- kea2/bug_report_generator.py,sha256=356b85dOc2LEoHpaFfH4DpDTPMcMyf2EMKsOsYohTwM,47674
4
+ kea2/bug_report_generator.py,sha256=0j8Wexb2Vkf558G1a94vb7Wh_vfx-P4B_TEXKOBIev8,47798
5
5
  kea2/cli.py,sha256=yyHchKf3lro-BuHD9Gen431gaUPvL2stt6ZKWGpVbqI,6825
6
6
  kea2/fastbotManager.py,sha256=t4R5Px-zciAnFe97TVhrnj3qCwvMMycISmfSSckGe7Y,8874
7
- kea2/keaUtils.py,sha256=8qmtwQUOtFels-f03PernRhsNBXPJbd6YrrmlInHtkY,35827
7
+ kea2/keaUtils.py,sha256=IzSmoJD-z6M_Bdfo10rQ2XS7HJ1hibVzkyM3eUNheRg,35799
8
8
  kea2/kea_launcher.py,sha256=gKP7BnE8lQfypPrRCU3TSLIUg19u_v6Abt9JCTw9S-A,8126
9
9
  kea2/logWatcher.py,sha256=Dp6OzvLSuWYw0AqdcPDqfotaRZQgpF8S49LInGsAWp8,2599
10
10
  kea2/mixin.py,sha256=2Z9c7BfI6Z-K970sK8FFzKeld0bFPDQWhmh9uuDy4BI,819
@@ -17,7 +17,7 @@ kea2/assets/config_version.json,sha256=dYZRNo17hQq2SV45xxRCwDmykhsWWYI__w7vZXMHv
17
17
  kea2/assets/fastbot-thirdpart.jar,sha256=0SZ_OoZFWDGMnazgXKceHgKvXdUDoIa3Gb2bcifaikk,85664
18
18
  kea2/assets/framework.jar,sha256=rTluOJJKj2DFwh7ascXso1udYdWv00BxBwSQ3Vmv-fw,1149240
19
19
  kea2/assets/kea2-thirdpart.jar,sha256=HYdtG2gqDLuLb72dpK3lX-Y6QUNTrJ-bfQopU5aWpfo,359346
20
- kea2/assets/monkeyq.jar,sha256=-9RlP42JMY7DsHQ4GKJuY5rGbyXYfc7qhEeWyVWPihM,114487
20
+ kea2/assets/monkeyq.jar,sha256=3IYwE6Htf8ET5KBy7VR9iGVxs8Djs3FB_vcMExBpLT4,114326
21
21
  kea2/assets/quicktest.py,sha256=8lv_J5cVF6UdAnBM4bEmf9H_d1eicByJ-Jl9Cmi6rEE,3519
22
22
  kea2/assets/fastbot_configs/abl.strings,sha256=Rn8_YEbVGOJqndIY_-kWnR5NaoFI-cuB-ij10Ddhl90,75
23
23
  kea2/assets/fastbot_configs/awl.strings,sha256=-j4980GoWQxGOM9ijAwXPQmziCwFBZJFmuiv2tOEaYI,101
@@ -32,11 +32,11 @@ kea2/assets/fastbot_libs/arm64-v8a/libfastbot_native.so,sha256=tAFrG73pJi7XakRxS
32
32
  kea2/assets/fastbot_libs/armeabi-v7a/libfastbot_native.so,sha256=UV8bhaiPoPKdd3q0vj3kSZqPR9anllai_tz_2QkMMbQ,1335372
33
33
  kea2/assets/fastbot_libs/x86/libfastbot_native.so,sha256=k-aw1gEXRWMKZRNHIggKNuZy0wC1y2BnveJGEIO6rbo,2036856
34
34
  kea2/assets/fastbot_libs/x86_64/libfastbot_native.so,sha256=tiofhlf4uMQcU5WAvrdLgTBME0lb83hVUoGtTwxmE8A,2121416
35
- kea2/templates/bug_report_template.html,sha256=T9-dV2Yn6uI4D-EGUuz1Pk0fxz0vyIvXDU9OEBqMmyk,158231
35
+ kea2/templates/bug_report_template.html,sha256=I00MZQwDimdYzWOvB3e_BqxRTtcNlsmSgn4IHmkGtEM,160727
36
36
  kea2/templates/merged_bug_report_template.html,sha256=0cIKCk3Zi8Tmb8x7LjO28vzK-sDUgUgtaBppRndwTgE,147509
37
- kea2_python-1.0.0.dist-info/licenses/LICENSE,sha256=nM9PPjcsXVo5SzNsjRqWgA-gdJlwqZZcRDSC6Qf6bVE,2034
38
- kea2_python-1.0.0.dist-info/METADATA,sha256=lqK5m9lnuENZzuWeADGQcteuJtW9aB215jzdFc6jD4U,22832
39
- kea2_python-1.0.0.dist-info/WHEEL,sha256=_zCd3N1l69ArxyTb8rzEoP9TpbYXkqRFSNOD5OuxnTs,91
40
- kea2_python-1.0.0.dist-info/entry_points.txt,sha256=mFX06TyxXiUAJQ6JZn8QHzfn8n5R8_KJ5W-pTm_fRCA,39
41
- kea2_python-1.0.0.dist-info/top_level.txt,sha256=TsgNH4PQoNOVhegpO7AcjutMVWp6Z4KDL1pBH9FnMmk,5
42
- kea2_python-1.0.0.dist-info/RECORD,,
37
+ kea2_python-1.0.1.dist-info/licenses/LICENSE,sha256=nM9PPjcsXVo5SzNsjRqWgA-gdJlwqZZcRDSC6Qf6bVE,2034
38
+ kea2_python-1.0.1.dist-info/METADATA,sha256=sJSRIJ8Mzfblw50mT9hPJ5u1OAgd1o9-vMQg5D1FRLQ,22832
39
+ kea2_python-1.0.1.dist-info/WHEEL,sha256=_zCd3N1l69ArxyTb8rzEoP9TpbYXkqRFSNOD5OuxnTs,91
40
+ kea2_python-1.0.1.dist-info/entry_points.txt,sha256=mFX06TyxXiUAJQ6JZn8QHzfn8n5R8_KJ5W-pTm_fRCA,39
41
+ kea2_python-1.0.1.dist-info/top_level.txt,sha256=TsgNH4PQoNOVhegpO7AcjutMVWp6Z4KDL1pBH9FnMmk,5
42
+ kea2_python-1.0.1.dist-info/RECORD,,