Source code for wlauto.workloads.facebook

#    Copyright 2013-2015 ARM Limited
# Licensed under the Apache License, Version 2.0 (the "License");
# you may not use this file except in compliance with the License.
# You may obtain a copy of the License at
# Unless required by applicable law or agreed to in writing, software
# distributed under the License is distributed on an "AS IS" BASIS,
# See the License for the specific language governing permissions and
# limitations under the License.

import os
import sys

from wlauto import AndroidUiAutoBenchmark
from wlauto import UiAutomatorWorkload
from wlauto import AndroidBenchmark

[docs]class Facebook(AndroidUiAutoBenchmark): name = 'facebook' description = """ Uses com.facebook.patana apk for facebook workload. This workload does the following activities in facebook Login to facebook account. Send a message. Check latest notification. Search particular user account and visit his/her facebook account. Find friends. Update the facebook status .. note:: This workload starts disableUpdate workload as a part of setup to disable online updates, which helps to tackle problem of uncertain behavier during facebook workload run.] """ package = 'com.facebook.katana' activity = '.LoginActivity' max_apk_version = '3.4' #'du' specify 'disable update' du_activity = '' du_method_string = 'com.arm.wlauto.uiauto.facebook.UiAutomation#disableUpdate' du_jar_file = '/data/local/wa_usecases/com.arm.wlauto.uiauto.facebook.apk' du_run_timeout = 4 * 60 du_working_dir = '/data/local/wa_usecases' du_apk_file = '/disableupdateapk/' DELAY = 5
[docs] def setup(self, context): UiAutomatorWorkload.setup(self, context) #Start the play store activity self.device.execute('am start {}'.format(self.du_activity)) #Creating command command = 'uiautomator runtest {} -e workdir {} -c {}'.format(self.du_jar_file, self.du_working_dir, self.du_method_string) #Start the disable update workload self.device.execute(command, self.du_run_timeout) self.device.sleep(self.DELAY) #Stop the play store activity self.device.execute('am force-stop') AndroidBenchmark.setup(self, context)
[docs] def update_result(self, context): super(Facebook, self).update_result(context)
[docs] def teardown(self, context): pass