因為測試工作經常需要與后台數據庫進行數據比較和統計,所以采用python編寫連接數據庫腳本方便測試,提高工作效率,腳本如下(python連接mysql需要引入第三方庫MySQLdb,百度下載安裝)
#-*- coding: utf-8 -*- import MySQLdb, datetime, time #code數字含義 code_mean = {10:"開始下載(10)", 11:"下載完成(11)", 12:"安裝界面(12)", 13:"安裝成功(13)", 14:"啟動游戲(14)", 16:"更新開始(16)"} #Networktype數字含義 network_type_mean = {1:"3G 網絡", 2:"2G 網絡", 3:"WIFI網絡"} #當前測試人員擁有手機 phonelist = {1:"0049990********", 2:"8689430********", 3:"3558680********"} #當前系統時間 nowtime = (datetime.datetime.fromtimestamp(time.time()).strftime('%Y-%m-%d %H:%M:%S')) print "當前時間:" + nowtime today = str(nowtime).split()[0] #去除日期 HMS = nowtime.split()[1] print "目前測試人員擁有的手機如下:" print "HTC *** :1" print "HTC **** :2" print "HUAWEI ***** :3" phont_imei = raw_input("請選擇你要查詢的手機,輸入上列手機對應的數字即可:") time_start = raw_input("請輸入需要查詢的起始時間(格式如后:" + HMS + ",默認日期為今天): ") imei = phonelist[int(phont_imei)] #查詢開始時間 starttime = datetime.datetime.now() print "開始連接數據庫......" try: db = MySQLdb.connect(host="***.***.***.***", port=****, user="****", passwd="****", db="****") cursor = db.cursor() print "數據庫連接成功,開始進行查詢......" cursor.execute('''SELECT ****, ****, ****, ****, **** from **** WHERE **** = \'''' + imei + '''\' AND **** > \'''' + today + " " + time_start + '''' AND **** IN (10, 11, 12,13,14,16) ORDER BY **** DESC ''') result = cursor.fetchall() print "已獲取查詢結果,開始斷開數據庫連接....." cursor.close() db.close() except MySQLdb.Error,e: print "Mysql Error %d: %s" % (e.args[0], e.args[1]) else: print "斷開數據庫連接成功,開始展示查詢結果......" if bool(result) != True: print "( ⊙ o ⊙ )啊哦,竟然沒有查詢到數據結果,請檢查下查詢時間" else: #對查詢出的數據進行處理,方便查看 print "" print "++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++" i = 0 for record in result: sqldata = result[i] time = sqldata[0] code = sqldata[1] name = sqldata[2] networktype = sqldata[4] print network_type_mean[int(networktype)] + \ " " + str(time).split()[1] + \ " " + code_mean[int(code)] + \ " " + name i += 1 print "++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++" #結果展示時間 endtime = datetime.datetime.now() wast_time = (endtime - starttime).seconds print "本次查詢總共耗時:" + str(wast_time) + " 秒 " + "查詢手機IMEI:" + phonelist[int(phont_imei)]
目前腳本的缺點是只能進行一次性查詢,之后再進行優化使之能進行多次查詢后再斷開數據庫連接