上一篇博客,我把接口自動化用例的demo發出來了,那麼今天來看一下testdata包的組成。爲什麼會單獨設置一個data數據包呢,因爲我們很多用例是有一些公共參數,如果將這些數據全部寫死在用例中,那麼在之後的用例維護中,增加很多困難,不便於維護。所以,我這裏給單拎出來。
大家如有任何問題,可以加我的微信:zx1187463903,拉你進軟測的微信羣,一起學習討論。
testdata共5個py文件,分別是api_data.py,common_data.py,db_data.py,email.py,http_data.py
一:api_data
這個文件是集合所有接口的接口地址,是每一個接口測試用例都會用到的。下面我們來看看它的內容:
api_data = {
'xxx': '/api/xxxxxx', # xx接口
'xxx': '/api/xxxxxx',#xxx接口
}
這裏的數據,我採用了字典類型,通過api_data[‘xxx’]的方式在測試用例中,獲取接口的實際地址。結合上一篇測試用例的理解,這個py文件就是單純放置接口地址的。
二:common_data
這個文件下,存放着很多測試用例需要使用的測試數據,例如很多接口需要用到用戶名,用戶id等等
common_data = {
'username': 'xxxxxx', #登錄名
'password': 'xxxxxx', #登錄密碼
'questionid': xxx, # 答疑問題id,實時獲取
'userid': xxx, # app用戶id,實時獲取
'answerid': xxx, # 答疑回答id,實時獲取
}
測試用例需要哪些動態的數據,都可以放在這個py文件下,通過common_data[‘username’],這個方式就可以直接獲取對應值。
三:db_data
數據庫的配置信息,包括郵件服務器地址,端口號,登錄賬號,密碼,以及數據庫名。
#線下數據庫地址
db_data = {
"host": "xxx.xxx.xxx.xxx",
"port": xxx,
"username": "xxx",
"password": "xxxxxx",
"database": "xxxxxx"
}
結合commonlib下的connectdb的方法,進行數據庫的連接,當然如果你們這個數據庫單一穩定,也可以直接在connectdb方法裏直接將服務器的數據寫死,而不是這種數據配置的方式。
四:email_data
郵箱服務器的配置信息,根據實際工作郵箱,配置以下信息。
email_data = {
"smtpserver": "smtp.exmail.qq.com", #服務器地址
"user": "[email protected]", #用戶名
"password": "xxxxxx",#如果是qq郵箱的話,密碼是授權碼,而不是郵箱密碼。授權碼的獲取方式,QQ郵箱,設置->賬號->pop3/stmp服務開啓即可獲取
"sender": "[email protected]",#發送人
"receiver": ["[email protected]"],#接受者
"cc": ["[email protected]"],#抄送人
}
郵件數據信息的單獨配置,結合commonlib下的sendemail方法,實現測試完成後,郵件的自動發送。
五:http_data
接口的http的配置
http_data = {
"scheme": "https",#或者http
"api_url": "www.xxxxxx.com",
"port": "8080",#默認是80端口
"timeout": "10.0",
}
這個和api_data裏接口地址相結合,在測試用例中,通過設置http地址,然後結合api_data中具體接口的地址,拼接成一個完成的接口地址。可能有點懵,大家結合着commonlib中的configuhttp以及測試用例來理解,就很好理解了。一切的一切的,數據驅動就是爲了更好的支持接口自動化,對之後的數據維護提供便利。
到此,整個接口自動化框架的搭建,基本上已介紹完成,大家可以嘗試着編寫一個測試用例,進行調試啦,開心到起飛不。
如果該篇博客,對你有幫助,開心的同時掃描下方二維碼請小編喝杯咖啡也是極好的呀。-_-
當然測試用例還需要一個main主入口來管理,下一篇博客將繼續介紹以及Jenkins的配置。