def initialize(self, context):
     self.revent_setup_file = context.resolver.get(wlauto.common.android.resources.ReventFile(self, 'setup'))
     self.revent_run_file = context.resolver.get(wlauto.common.android.resources.ReventFile(self, 'run'))
     devpath = self.device.path
     self.on_device_setup_revent = devpath.join(self.device.working_directory,
                                                os.path.split(self.revent_setup_file)[-1])
     self.on_device_run_revent = devpath.join(self.device.working_directory,
                                              os.path.split(self.revent_run_file)[-1])
     self._check_revent_files(context)
     default_setup_timeout = ceil(ReventParser.get_revent_duration(self.revent_setup_file)) + 30
     default_run_timeout = ceil(ReventParser.get_revent_duration(self.revent_run_file)) + 30
     self.setup_timeout = self.setup_timeout or default_setup_timeout
     self.run_timeout = self.run_timeout or default_run_timeout
예제 #2
0
    def setup(self, context):
        self.revent_setup_file = context.resolver.get(ReventFile(self, 'setup'))
        self.revent_run_file = context.resolver.get(ReventFile(self, 'run'))
        devpath = self.device.path
        self.on_device_setup_revent = devpath.join(self.device.working_directory,
                                                   os.path.split(self.revent_setup_file)[-1])
        self.on_device_run_revent = devpath.join(self.device.working_directory,
                                                 os.path.split(self.revent_run_file)[-1])
        self._check_revent_files(context)
        default_setup_timeout = ceil(ReventParser.get_revent_duration(self.revent_setup_file)) + 30
        default_run_timeout = ceil(ReventParser.get_revent_duration(self.revent_run_file)) + 30
        self.setup_timeout = self.setup_timeout or default_setup_timeout
        self.run_timeout = self.run_timeout or default_run_timeout

        Workload.setup(self, context)
        self.device.killall('revent')
        command = '{} replay {}'.format(self.on_device_revent_binary, self.on_device_setup_revent)
        self.device.execute(command, timeout=self.setup_timeout)
예제 #3
0
    def run(self, args):
        self.logger.info("Pushing file to device")
        self.device.push_file(args.revent, self.device.working_directory)
        revent_file = self.device.path.join(self.device.working_directory, os.path.split(args.revent)[1])

        if args.clear:
            self.device.execute("pm clear {}".format(args.package))

        if args.package:
            self.logger.info("Starting {}".format(args.package))
            self.device.execute('monkey -p {} -c android.intent.category.LAUNCHER 1'.format(args.package))

        self.logger.info("Replaying recording")
        command = "{} replay {}".format(self.target_binary, revent_file)
        timeout = ceil(ReventParser.get_revent_duration(args.revent)) + 30
        self.device.execute(command, timeout=timeout)
        self.logger.info("Finished replay")