分享主題
多套測試環境,如何做基線的資料庫級別的同步更新?
應用場景
工作中測試環境有多套時,為保證基礎環境配置的一致性,就需要所有測試環境的資料庫結構保持一致。
例如:a需求在 beta1 環境進行測試,且a需求提測單中有新增表的 sql,b需求在 beta2 環境進行測試,由於a需求比b需求先發布上線,此時在b需求測試過程中發布時需要將主幹的**合併到當前需求分支(整合測試的需要,可以提前檢測出已上線的需求是否對當前在測的需求有影響),**合併後對應的相關配置也得跟上,否則程式執行時會報錯,所以就需要在 beta2 環境更新 beta1 環境a需求新增表的sql。
因為每一次的發布上線都會做資料庫級別的同步更新,如果只是兩、三個測試環境,使用人工來手動更新也是可以的,如果測試環境多且資料庫更新的內容量大,依然使用人工手動更新,效率就會十分低下,同時也會造成一些人為操作的錯誤。這時自動化同步更新資料庫就顯得猶為重要了。在效率和正確率上都是完勝手工更新的。
**實現
1#總結由**實現部分可以看出,有了這個自動同步的自動化指令碼,在資料庫更新時,只需要傳入更新的 sql 語句就可一鍵自動同步多套測試環境的資料庫資訊了,十分高效。coding:utf-8
2import
pymysql
3 45dbdict =
8 9#
這是定義了乙個連線db的類,初始化方法裡建立連線,並定義了sql 的執行與查詢的兩個方法
1011
class
dbutils():
12 def
__init__
(self,test):
13 print
(dbdict.get(test))
14 self.conn = pymysql.connect(dbdict.get(test), "
root
", "
123456")
15 self.cursor =self.conn.cursor()
1617 def
dbexcute(self,sql):
18 print ("
execute sql")
19self.cursor.execute(sql)
20 print
(sql)
21self.dbclose()
2223 def
dbselect(self,sql):
24 print ("
------------------------------------")
25 print
(sql)
26 resultlist =
27self.cursor.execute(sql)
28 result =self.cursor.fetchall()
29 columns =self.cursor.description
30 for val in
result:
31 tempdict ={}
32 for clonum in
range(len(columns)):
33 tempdict[str(columns[clonum][0])] =val[clonum]
35 print("
---------------------列印查詢結果----------------------")
36 print
(resultlist)
37self.dbclose()
38 return
resultlist
3940 def
dbclose(self):
41self.conn.commit()
42self.cursor.close()
43self.conn.close(
444546
defmain(flag,sql):
47 dbname = "
test
"48 envlist=[1, 2, 3, 4, 5, 6]
4950 for i in
envlist:
51 dbname +=str(i)
52 print("
*" * 20 + "
正在執行的環境是:
", dbname + "
*" * 20)
53 test=dbutils(dbname)
54 if(flag=="
exe"
):55test.dbexcute(sql)
56 else
:57test.dbselect(sql)
5859 dbname = "
test
"6061
if__name__ == "
__main__":
62 sql="
alter table change_record change operatoremail email varchar(100) not null default '' comment 'email'
"63 main("
exe",sql)
python程式設計學習資源乾貨、
python+selenium框架web的ui自動化、
python+unittest框架api自動化、
資源和** 免費送啦~
新增關注,讓我們一起共同成長!
自動化測試之軟體測試和測試環境
二 軟體測試和測試環境 三 資料的形式與數制 軟體是程式 資料 文件的集合。程式 由程式語言 c c c python等高階語言程式設計而成 資料 使用檔案或者資料庫來儲存檔案 文件 安裝文件 說明文件等等。按照軟體的功能可以分為三大類 支援軟體 按照軟體的功能可以分為兩大類 b s軟體 brows...
Python自動化測試環境搭建
1 安裝python 去python官網下 2 安裝setuptools與pip btw,在最新python安裝包裡已經整合了pip,要是在python安裝目錄 d python python37 scripts下有pip.exe或pip3.exe 可以不用自己裝pip了。怎麼驗證是否成功裝了pip...
python爬蟲之MongoDB測試環境安裝
一.二.安裝 1 設定mongodb目錄 root vm13 version 2.4.11 connecting to dbname welcome to the mongodb shell.for interactive help,type help for more comprehensive ...