aboutsummaryrefslogtreecommitdiff
path: root/wa/commands/templates/uiauto_workload
blob: 7a3e5a827a254daeae2d19b3e63f625a5d434597 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
from wa import Parameter, UiautoWorkload


class ${class_name}(UiautoWorkload):

    name = '${name}'
    description = "This is an placeholder description"
    # Replace with a list of supported package names from the APK file(s)
    package_names = ['package_name']

    parameters = [
        # Workload parameters go here e.g.
        Parameter('example_parameter', kind=int, allowed_values=[1,2,3],
                  default=1, override=True, mandatory=False,
                  description='This is an example parameter')
    ]

    def __init__(self, target, **kwargs):
        super(${class_name}, self).__init__(target, **kwargs)
        # Define any additional attiributes required for the workload

    def init_resources(self, context):
        super(${class_name}, self).init_resources(context)
        # This method may be used to perform early resource discovery and
        # initialization. This is invoked during the initial loading stage and
        # before the device is ready, so cannot be used for any device-dependent
        # initialization. This method is invoked before the workload instance is
        # validated.

    def initialize(self, context):
        super(${class_name}, self).initialize(context)
        # This method should be used to perform once-per-run initialization of a
        # workload instance.

    def validate(self):
        super(${class_name}, self).validate(context)
        # Validate inter-parameter assumptions etc

    def setup(self, context):
        super(${class_name}, self).setup(context)
        # Perform any necessary setup before starting the UI automation

    def run(self, context):
        super(${class_name}, self).run(context)
        # Perform the main functionality of the workload

    def extract_results(self, context):
        super(${class_name}, self).extract_results(context)
        # Extract results on the target

    def update_output(self, context):
        super(${class_name}, self).update_output(context)
        # Update the output within the specified execution context with the
        # metrics and artifacts form this workload iteration.

    def teardown(self, context):
        super(${class_name}, self).teardown(context)
        # Perform any final clean up for the Workload.