def setDevice( project_path ): #设置项目默认执行的手机设备 logging.info(u'检测/设置手机设备BEGIN...') ret = commonUtils.Executeable("adb") adb_exe = None if ret is False: adb_exe = commonUtils.ConfigRead( CONFIG_FILE, "MBKAUTOTEST", "adb_exe" ) else: adb_exe = "adb" if adb_exe and adb_exe !='': try: p = subprocess.check_output( "%s devices"%(adb_exe), shell=True ) result = p.split('\n') if len( result ) > 1: deviceInfo = result[1].split('\t') kv={"deviceId":deviceInfo[0]} logging.info(kv) try: (ret, message) = commonUtils.SetDeviceInfo( project_path, kv ) if ret == 0: return kv else: return {} except Exception as e: raise Exception(u'设置运行设备失败') else: raise Exception(u'未找到手机设备') except subprocess.CalledProcessError as e: raise Exception(u'查找手机设备失败') finally: logging.info(u'检测/设置手机设备END...') else: logging.info(u'请确认将adb指令添加到系统环境变量PATH中') logging.info(u'检测/设置手机设备END...') raise Exception(u'请确认将adb指令添加到系统环境变量PATH中')
def checkDevice(): #检测手机连接是否正常 logging.info(u'检测/设置手机设备BEGIN...') ret = commonUtils.Executeable("adb") adb_exe = None if ret is False: adb_exe = commonUtils.ConfigRead( CONFIG_FILE, "MBKAUTOTEST", "adb_exe" ) else: adb_exe = "adb" if adb_exe and adb_exe !='': try: p = subprocess.check_output( "%s devices"%(adb_exe), shell=True ) result = p.split('\n') if len( result ) > 1: deviceInfo = result[1].split('\t') kv={"deviceId":deviceInfo[0].replace("\r","").replace("\n","")} logging.info(kv) return kv else: raise Exception(u'未找到手机设备') except subprocess.CalledProcessError as e: raise Exception(u'查找手机设备失败') finally: logging.info(u'检测/设置手机设备END...') else: logging.info(u'请确认将adb指令添加到系统环境变量PATH中') logging.info(u'检测/设置手机设备END...') raise Exception(u'请确认将adb指令添加到系统环境变量PATH中')
def checkServer( timeout=3 ): #可用于检测某个URL是否可访问 pack_url = commonUtils.ConfigRead( CONFIG_FILE, "MBKAUTOTEST", "pack_url" ) try: socket.setdefaulttimeout(timeout) ret = urllib.urlopen( pack_url ) if ret.code != 200: raise Exception(u'无法连接服务!') except Exception as e: raise Exception(e.message) finally: socket.setdefaulttimeout(None)
def GetDevice(): adb_exe = None ret = commonUtils.Executeable("adb") if ret is False: adb_exe = commonUtils.ConfigRead( CONFIG_FILE, "MBKAUTOTEST", "adb_exe" ) else: adb_exe = "adb" if adb_exe and adb_exe !='': try: p = subprocess.check_output( "%s devices"%(adb_exe), shell=True ) result = p.split('\n') if len( result ) > 1: deviceInfo = result[1].split('\t') kv={"deviceId":deviceInfo[0].replace("\r","").replace("\n","")} return kv else: raise Exception(u'未找到手机设备') except subprocess.CalledProcessError as e: raise Exception(u'查找手机设备失败')
def checkSVN( ): svn_url = commonUtils.ConfigRead( CONFIG_FILE, "MBKAUTOTEST", "svn_url" ) try: p = subprocess.check_output( "svn info %s"%(svn_url), shell=True ) except Exception as e: raise Exception(e.message)
def checkKatalon(): #检测Katalon katalon_exe = commonUtils.ConfigRead( CONFIG_FILE, "MBKAUTOTEST", "katalon_exe" ) if os.path.exists( katalon_exe ): return True return False
import json import web import sqlite3 import socket import urllib import datetime from apscheduler.schedulers.background import BackgroundScheduler import logging from threading import Thread import subprocess from commonUtils import commonUtils dbname = "AutoData.db" logging.basicConfig(level=logging.INFO) CONFIG_FILE = "config.ini" project_path = commonUtils.ConfigRead( CONFIG_FILE, "MBKAUTOTEST", "project_path" ) def initDB(): #初始化数据库 sql=""" create table if not exists packrun( 'id' integer not null primary key autoincrement, 'pack_name' varchar(32) not null, 'pack_desc' varchar(255), 'pack_url' varchar(128), 'pack_version' varchar(16) not null, 'pack_env' varchar(16) not null, 'pack_type' varchar(1) not null default '0', 'pack_phone_type' varchar(1) not null default '0', 'pack_create_date' varchar(32), 'pack_times' integer default 0, 'pack_state' varchar(1) not null default '0'