summaryrefslogtreecommitdiff
path: root/caffeinemark/vc.py
blob: fb70f1ad80a1f14b67eb03e577beeb047c61941a (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
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
import re
import sys
import os
import time
from subprocess import call

from com.dtmilano.android.viewclient import ViewClient, ViewNotFoundException

# Result collection for LAVA
debug_switcher = False
default_unit = 'points'
result = 'pass'
def collect_score(score_name, result, score, default_unit):
    if debug_switcher == False:
        call(['lava-test-case', score_name, '--result', result, '--measurement', score, '--unit', default_unit])
    else:
        print ['lava-test-case', score_name, '--result', result, '--measurement', score, '--unit', default_unit]

kwargs1 = {'verbose': False, 'ignoresecuredevice': False}
device, serialno = ViewClient.connectToDeviceOrExit(**kwargs1)
kwargs2 = {'startviewserver': True, 'forceviewserveruse': False, 'autodump': False, 'ignoreuiautomatorkilled': True, 'compresseddump': False}
vc = ViewClient(device, serialno, **kwargs2)

time.sleep(2)
vc.dump(window='-1')
start_button = vc.findViewByIdOrRaise("com.flexycore.caffeinemark:id/startButton")
start_button.touch()

finished = False
while (not finished):
    time.sleep(1)
    try:
        vc.dump(window='-1')
        vc.findViewByIdOrRaise("com.flexycore.caffeinemark:id/testResultsCellOneTitle")
        finished = True
    except ViewNotFoundException:
        pass
    except RuntimeError as e:
        print e
print "benchmark finished"

total_score = vc.findViewByIdOrRaise("com.flexycore.caffeinemark:id/testResultEntryOverAllScore").getText()
collect_score("Caffeinemark-score", result, total_score, default_unit)

details_button = vc.findViewByIdOrRaise("com.flexycore.caffeinemark:id/testResultsDetailsButton")
details_button.touch()

time.sleep(2)
vc.dump(window='-1')

sieve_name = vc.findViewByIdOrRaise("id/no_id/9").getText()
sieve_score = vc.findViewByIdOrRaise("id/no_id/10").getText()
collect_score("Caffeinemark-Sieve-score", result, sieve_score, default_unit)

loop_name = vc.findViewByIdOrRaise("id/no_id/13").getText()
loop_score = vc.findViewByIdOrRaise("id/no_id/14").getText()
collect_score("Caffeinemark-Loop-score", result, loop_score, default_unit)

logic_name = vc.findViewByIdOrRaise("id/no_id/17").getText()
logic_score = vc.findViewByIdOrRaise("id/no_id/18").getText()
collect_score("Caffeinemark-Collect-score", result, logic_score, default_unit)

string_name = vc.findViewByIdOrRaise("id/no_id/21").getText()
string_score = vc.findViewByIdOrRaise("id/no_id/22").getText()
collect_score("Caffeinemark-String-score", result, string_score, default_unit)

float_name = vc.findViewByIdOrRaise("id/no_id/25").getText()
float_score = vc.findViewByIdOrRaise("id/no_id/26").getText()
collect_score("Caffeinemark-Float-score", result, float_score, default_unit)

method_name = vc.findViewByIdOrRaise("id/no_id/29").getText()
method_score = vc.findViewByIdOrRaise("id/no_id/30").getText()
collect_score("Caffeinemark-Method-score", result, method_score, default_unit)