1
0
mirror of https://github.com/ARM-software/workload-automation.git synced 2025-04-10 12:50:48 +01:00
jummp01 b323d98e51 Adds AppLaunch class in Uiauto Base class
A new class AppLaunch added that facilitates launching applications from the uiautomator.
Moreover, applaunch measurement markers are placed to measure the cold-start time of applications.

1- Turns off WA-applaunch if uxperf markers enabled

Launching application from WA is disabled if uxperf markers are enabled.
The new applaunch class will be used to launch application from the uiautomator
so that application launch time can be measured.

2- Application activity name is passed as a parameter to the uiautomator as it is required
for launching certain applications.

3- Googlephotos: Adds the applaunch call in the workload

It looks for the text, Photos, on the screen to mark the end of the launch.

4- Adobereader: Adds the applaunch call in the workload

It looks for the text,RECENT,on the screen in the opening page after welcomepages for launch end.

5- Youtube: Adds the Applaunch call in the workload

It looks for the text,Home, for marking applaunch end time.

6- Googleplaybooks: Adds the applaunch call in the workload

It looks for the search icon for applaunch end.

6- Adds applaunch method for skype

Skype launches with an action name and data_uri unlike other applications.
For supporting this an overridden launch_main() method is introduced in the AppLaunch class.

7- Skype: Adds the applaunch call in the workload

The end marker is set to search for the search for contact icon.

8- Fixes sending empty activity as parameter

Activity name being sent as parameter throws error as android does not support sending empty string.
Fixed by sending the string None if the string is empty.

9- Tested for all the above workloads on s7.

All workloads ran with the new base class and jar files are added
2016-11-23 11:23:03 +00:00
..
2016-07-21 16:40:26 +01:00

This directory contains external libraries and standalone utilities which have
been written/modified to work with Workload Automation (and thus need to be
included with WA rather than obtained from orignal sources).


bbench_server
=============

This is a small sever that is used to detect when ``bbench`` workload has completed. 
``bbench`` navigates though a bunch of web pages in a browser using javascript.
It will cause the browser to sent a GET request to the port the bbench_server is
listening on, indicating the end of workload.


daq_server
==========

Contains Daq server files that will run on a Windows machine. Please refer to
daq instrument documentation.


louie (third party)
=====

Python package that is itself a fork (and now, a replacement for) pydispatcher.
This library provides a signal dispatching mechanism. This has been modified for
WA to add prioritization to callbacks.


pmu_logger
==========

Source for the kernel driver that enable the logging of CCI counters to ftrace 
on periodic basis. This driver is required by the ``cci_pmu_logger`` instrument.


readenergy
==========

Outputs Juno internal energy/power/voltage/current measurments by reading APB
regesiters from memory. This is used by ``juno_energy`` instrument.


revent
======

This is a tool that is used to both record and playback key press and screen tap
events. It is used to record UI manipulation for some workloads (such as games)
where it is not possible to use the Android UI Automator.

The tools is also included in binary form in wlauto/common/. In order to build 
the tool from source, you will need to have Android NDK in your PATH.


stacktracer.py (third party)
==============

A module based on an ActiveState recipe that allows tracing thread stacks during
execution of a Python program. This is used through the ``--debug`` flag in WA
to ease debuging multi-threaded parts of the code.


terminalsize.py (third party)
===============

Implements a platform-agnostic way of determining terminal window size. Taken
from a public Github gist.


uiauto
======

Contains the utilities library for UI automation.