Kea2 Test Report

Test Time: {{ test_time }}

Log Stamp: {{ log_stamp }}

Test Summary

{{ bugs_found }} Property Violations
{{ invariant_violations_count }} Invariant Violations
{{ total_testing_time }} Total Testing Time
{{ executed_events }} Executed Events
{{ coverage_percent }}% Activity Coverage
{{ executed_properties_count }}/{{ all_properties_count }} Executed Properties
{{ triggered_crash_count }} Triggered Crash
{{ triggered_anr_count }} Triggered ANR

Coverage Trend

Property Execution Trend

Activities Coverage

{% if total_activities|length > 0 %} {% for activity in total_activities %} {% endfor %} {% else %} {% endif %}
Activity Name {{ tested_activities_count }}/{{ total_activities_count }} Visit Count
{% if activity in tested_activities %} {% else %} {% endif %} {{ activity }} {% if activity in activity_count_history %} {{ activity_count_history[activity] }} times {% else %} 0 times {% endif %}
No activities information available
{% if take_screenshots %} {% if screenshots or kill_apps_events %}

Test Screenshots

{% if screenshots %} {% for screenshot in screenshots %}
{% if screenshot.path %} {% else %}
{% if screenshot.info == "kill_apps" %}
Restart app
{% else %}
Info event
{% endif %}
{% endif %}
{{ screenshot.caption }}
{% endfor %} {% else %} {% for ev in kill_apps_events %}
Restart app
{{ ev.step_index }}. Monkey Step {{ ev.monkey_steps_count }}: restart app
{% endfor %} {% endif %}
{% else %}

Test Screenshots

No screenshots captured in this test session.
{% endif %} {% endif %} {% if crash_events or anr_events %}

Crash and ANR Events

{% if take_screenshots %} {% endif %} {% for crash in crash_events %} {% if take_screenshots %} {% endif %} {% endfor %} {% for anr in anr_events %} {% if take_screenshots %} {% endif %} {% endfor %}
Type Time Exception ProcessInteraction Scenario PagesDetails
CRASH {{ crash.time }} {{ crash.exception_type }} {{ crash.process }} {% if crash.screenshot_id %} Screenshot {{ crash.screenshot_id }} {% else %} No screenshot {% endif %}
Stack Trace:
{{ crash.stack_trace }}
ANR {{ anr.time }} {{ anr.reason }} {{ anr.process }} {% if anr.screenshot_id %} Screenshot {{ anr.screenshot_id }} {% else %} No screenshot {% endif %}
ANR Details:
{{ anr.trace }}
{% else %}

Crash and ANR Events

No crash or ANR events detected in this test session.
{% endif %} {% if take_screenshots %} {% if property_violations %}

Property Violations

{% for violation in property_violations %} {% endfor %}
Index Property Name Interaction Scenario Pages
{{ violation.index }} {{ violation.property_name }} {{ violation.interaction_pages[0] }} ~ {{ violation.interaction_pages[1] }}
{% else %}

Property Violations

No property violations detected in this test session.
{% endif %} {% endif %}

Property Checking Statistics

{% for property_name, test_result in property_stats.items() %} {% if (test_result.fail|default(0) > 0 or test_result.error|default(0) > 0) and property_name in property_error_details %} {% set error_list = property_error_details[property_name] %} {% set property_index = loop.index %} {% if error_list|length == 1 %} {% else %} {% endif %} {% endif %} {% endfor %}
Index Property Name {{ property_stats_summary.total_properties }} Precondition Satisfied {{ property_stats_summary.total_precond_satisfied }} Executed {{ property_stats_summary.total_executed }} Passes {{ property_stats_summary.total_passes }} Fails {{ property_stats_summary.total_fails }} Errors {{ property_stats_summary.total_errors }} Error Details
{{ loop.index }} {{ property_name }} {% set kind_label = test_result.kind|default('unknown') %} {% set is_invariant = kind_label == 'invariant' %} {{ kind_label|capitalize }} {{ '/' if is_invariant else test_result.precond_satisfied|default(0) }} {{ '/' if is_invariant else test_result.executed|default(0) }} {{ '/' if is_invariant else test_result.pass_count|default(0) }} {{ test_result.fail|default(0) }} {{ test_result.error|default(0) }} {% if (test_result.fail|default(0) > 0 or test_result.error|default(0) > 0) and property_name in property_error_details %} {% set error_list = property_error_details[property_name] %} {% set property_index = loop.index %} {% if error_list|length == 1 %} {% else %} {% endif %} {% else %} - {% endif %}
{{ error_list[0].state|upper }} {% if error_list[0].occurrence_count > 1 %} Occurred {{ error_list[0].occurrence_count }} times {% endif %} {% if error_list[0].startStepsCountList is defined and error_list[0].startStepsCountList|length > 0 %} Monkey Steps: {{ error_list[0].startStepsCountList|join(', ') }} {% endif %}
{% if error_list[0].short_description %}
Error: {{ error_list[0].short_description }}
{% endif %}
Show Full Traceback
{{ error_list[0].traceback }}
Multiple Errors Detected
{% for error in error_list %} {{ error.state|upper }} #{{ loop.index }} {% if error.occurrence_count > 1 %} ({{ error.occurrence_count }}x){% endif %} {% if error.startStepsCountList is defined and error.startStepsCountList|length > 0 %} @{% if error.startStepsCountList|length == 1 %}{{ error.startStepsCountList[0] }}{% else %}{{ error.startStepsCountList[0] }}-{{ error.startStepsCountList[-1] }}{% endif %} {% endif %} {% endfor %}
{% for error in error_list %}
{{ error.state|upper }} #{{ loop.index }} Error {{ loop.index }} of {{ loop.length }} {% if error.occurrence_count > 1 %} {{ error.occurrence_count }} occurrences {% endif %} {% if error.startStepsCountList is defined and error.startStepsCountList|length > 0 %} Monkey Steps: {{ error.startStepsCountList|join(', ') }} {% endif %}
{% if error.short_description %}
Error: {{ error.short_description }}
{% endif %}
Show Full Traceback
{{ error.traceback }}
{% endfor %}