一馆类、操作數(shù)據(jù)庫的必要性
1、校驗數(shù)據(jù)的正確性弹谁。
2乾巧、接口測試中常常需要通過數(shù)據(jù)庫的操作,來準(zhǔn)備數(shù)據(jù)预愤、檢測環(huán)境及核對功能沟于、以此來驗證數(shù)據(jù)是否正確。
3鳖粟、在自動化測試中社裆,需要我們用代碼連接數(shù)據(jù)庫自動完成數(shù)據(jù)準(zhǔn)備拙绊、環(huán)境檢查及數(shù)據(jù)庫斷言的功能向图。
二泳秀、安裝pyMysql
使用Python操作MySQL數(shù)據(jù)庫這里我們需要用到三方庫PyMySQl
安裝方法:pip install pymysql
也可通過pycharm的setting--->project:process--->project interpreter----+導(dǎo)入包pymsql
三、操作數(shù)據(jù)庫
1榄攀、建立數(shù)據(jù)庫連接 conn = pymysql.connect()
2嗜傅、從連接建立操作游標(biāo) cur = conn.cursor()
3、使用游標(biāo)執(zhí)行sql(讀/寫) cur.execute(sql)
4檩赢、獲取結(jié)果(讀)/ 提交更改(寫) cur.fetchall() / conn.commit()
5吕嘀、關(guān)閉游標(biāo)及連接 cur.close();conn.close()
具體如下圖:
查詢操作通過cur.execute()來查詢,獲取數(shù)據(jù)通常有3種方式:
1>cur.fetchone():獲取一條數(shù)據(jù)贞瞒,返回的是一個元組
2>cur.fetchmany():獲取多條數(shù)據(jù)偶房,返回一個嵌套的元組
3>cur.fetchall():獲取所有數(shù)據(jù),返回一個嵌套元組
>W匮蟆!注意:獲取完數(shù)據(jù)后乒融,數(shù)據(jù)會從數(shù)據(jù)集中刪除掰盘,再次獲取獲取不到,所以需要重復(fù)查詢時赞季,我們應(yīng)該將查詢結(jié)果賦給某個變量
四愧捕、封裝數(shù)據(jù)庫操作
由于經(jīng)常使用數(shù)據(jù)庫,我們可以將數(shù)據(jù)庫封裝成公用的數(shù)據(jù)庫模塊
1申钩、簡單封裝便于理解次绘,新建一個.py文件,代碼如下:
2典蜕、x新建一個文件断盛,調(diào)用封裝的方法
從上面的封裝可以看到,每一次查詢愉舔,都建立了一次數(shù)據(jù)庫連接钢猛,這樣會導(dǎo)致執(zhí)行效率比較低,所以我們可以采用面向?qū)ο蟮姆庋b方法
3轩缤、面向?qū)ο蟮姆庋b方法:
調(diào)用方法:
以上就是完成了python連接數(shù)據(jù)庫的操作命迈,一般數(shù)據(jù)庫連接信息建議寫到配置文件里面,從配置文件中讀取火的。通過封裝各種sql可以完成各種業(yè)務(wù)操作壶愤,但更改數(shù)據(jù)庫會有一定的風(fēng)險,操作時需要謹(jǐn)慎處理馏鹤。