def auto_setup(basedir=None, devices=None, logdir=None, project_root=None, compress=None): """ Auto setup running env and try connect android device if not device connected. :param basedir: basedir of script, __file__ is also acceptable. :param devices: connect_device uri in list. :param logdir: log dir for script report, default is None for no log, set to ``True`` for ``<basedir>/log``. :param project_root: project root dir for `using` api. :param compress: The compression rate of the screenshot image, integer in range [1, 99], default is 10 :Example: >>> auto_setup(__file__) >>> auto_setup(__file__, devices=["Android://127.0.0.1:5037/SJE5T17B17"], ... logdir=True, project_root=r"D:\\test\\logs", compress=90) """ if basedir: if os.path.isfile(basedir): basedir = os.path.dirname(basedir) if basedir not in G.BASEDIR: G.BASEDIR.append(basedir) if devices: for dev in devices: connect_device(dev) if logdir: logdir = script_log_dir(basedir, logdir) set_logdir(logdir) if project_root: ST.PROJECT_ROOT = project_root if compress: ST.SNAPSHOT_QUALITY = compress
def auto_setup(basedir=None, devices=None, logdir=None, project_root=None): """ Auto setup running env and try connect android device if not device connected. :param basedir: basedir of script, __file__ is also acceptable. :param devices: connect_device uri in list. :param logdir: log dir for script report, default is None for no log, set to `True` for <basedir>/log. :param project_root: project root dir for `using` api. """ if basedir: if os.path.isfile(basedir): basedir = os.path.dirname(basedir) if basedir not in G.BASEDIR: G.BASEDIR.append(basedir) if devices: for dev in devices: connect_device(dev) if logdir: logdir = script_log_dir(basedir, logdir) G.LOGGING.debug('logdir: %s' % logdir) set_logdir(logdir) if project_root: ST.PROJECT_ROOT = project_root
def setup_by_args(args): # init devices if isinstance(args.device, list): devices = args.device elif args.device: devices = [args.device] else: devices = [] print("do not connect device") # set base dir to find tpl dirpath, _ = script_dir_name(args.script) # set log dir if args.log: args.log = script_log_dir(dirpath, args.log) print("save log in '%s'" % args.log) else: print("do not save log") # guess project_root to be basedir of current .air path project_root = os.path.dirname( args.script) if not ST.PROJECT_ROOT else None auto_setup(dirpath, devices, args.log, project_root)
def setup_by_args(args): # init devices if isinstance(args.device, list): devices = args.device elif args.device: devices = [args.device] else: devices = [] print("do not connect device") # set base dir to find tpl dirpath, _ = script_dir_name(args.script) # set log dir if args.log: args.log = script_log_dir(dirpath, args.log) print("save log in '%s'" % args.log) else: print("do not save log") # set snapshot quality if args.compress: compress = args.compress else: compress = ST.SNAPSHOT_QUALITY if args.no_image: ST.SAVE_IMAGE = False # guess project_root to be basedir of current .air path project_root = os.path.dirname( args.script) if not ST.PROJECT_ROOT else None auto_setup(dirpath, devices, args.log, project_root, compress)
def Only_log(basedir=None, logdir=None): if logdir: logdir = script_log_dir(basedir, logdir) if os.path.exists(logdir): shutil.rmtree(logdir) os.makedirs(logdir) # 根据当前文件路径,创建同级log文件夹 ST.LOG_DIR = logdir G.LOGGER.set_logfile(os.path.join(ST.LOG_DIR, ST.LOG_FILE)) return logdir