某大廠高級測試崗位面試題!

一、高級測試崗位面試題列表

http請求的過程
建立瀏覽器和web服務(wù)端的連接,是通過TCP進行完成(也可以說是建立tcp連接)
瀏覽器向服務(wù)端發(fā)送請求指令(前置條件建立tcp連接)
服務(wù)端收到瀏覽器的請求后做出回應(yīng)
服務(wù)器關(guān)閉TCP連接
瀏覽器接受到服務(wù)器響應(yīng)的數(shù)據(jù)

常用的接口請求響應(yīng)狀態(tài)碼有哪些,分別都代表什么意思?
200 請求成功,請求所希望的響應(yīng)頭或數(shù)據(jù)體將隨此響應(yīng)返回
201請求已經(jīng)被實現(xiàn),且有一個新資源已經(jīng)依據(jù)請求的需要而建立
202服務(wù)端已經(jīng)接收請求,但是未處理
301請求的網(wǎng)頁已永久移動到新位置
303 請求者應(yīng)當(dāng)對不同的位置使用單獨的 GET 請求來檢索響應(yīng)時,服務(wù)器返回此代碼
404(未找到) 服務(wù)器找不到請求的網(wǎng)頁
401 當(dāng)前請求需要用戶驗證。如果當(dāng)前請求已經(jīng)包含了 Authorization證書
500服務(wù)端報錯,無法完成對請求的處理
501 服務(wù)器不支持當(dāng)前請求所需要的某個功能。當(dāng)服務(wù)器無法識別請求的方法,并且無法支持其對任何資源的請求

接口自動化中考慮哪些點避免出現(xiàn)臟數(shù)據(jù)?
每次在特定環(huán)境下執(zhí)行完接口自動化測試用例,初始化這個環(huán)境,清除該環(huán)境的數(shù)據(jù)以備下次執(zhí)行純凈環(huán)境準(zhǔn)備
自動化測試用例執(zhí)行后需要進行閉環(huán)將生成的數(shù)據(jù)從數(shù)據(jù)庫中刪除
pytest-fixture 環(huán)境初始化與清除或者使用setup,teardown裝飾器
后置直接系統(tǒng)上把數(shù)據(jù)刪除

你在做UI自動化中遇到的問題以及如何解決的?
問題1:元素?zé)o法定位
首先判斷該元素是否存在,或者是不是動態(tài)元素,如果是動態(tài)元素,先觸發(fā)這個元素加載條件,再進行元素定位
問題2:元素在iframe中無法定位
先將driver切換到iframe才能操作;切換方式:通過id、name、索引、iframe元素對象切換至iframe層中在進行元素定位

查詢接口如何判斷查出數(shù)據(jù)的準(zhǔn)確性及數(shù)據(jù)量的準(zhǔn)確性?
拿接口需要檢驗的返回值與數(shù)據(jù)庫查詢的結(jié)果進行斷言比較
先統(tǒng)計數(shù)組某個字段出現(xiàn)的條數(shù),然后在便利循環(huán)檢驗一下

基于PyTest接口自動化測試框能簡單介紹一下嗎?
Api:單接口定義封裝
testcases: 通過調(diào)用單接口來組裝測試用例
commons:requests 庫請求的封裝、數(shù)據(jù)庫操作、excel 操作、yaml 文件操作、加解密
封裝、日志封裝、正則處理、隨機數(shù)據(jù)生成
configs:數(shù)據(jù)庫配置、各個服務(wù)對應(yīng)的域名等等
data: 數(shù)據(jù)驅(qū)動--接口測試用例數(shù)據(jù)
Logs: 日志文件
Report:測試報告
conftest.py: 自定義 fixture、pytest 自帶的鉤子函數(shù)






UI自動化分布式作用
分布式是為了提高ui自動化執(zhí)行效率

list列表去重的方法
for循環(huán)遍歷去重---不改變原來的順序
用dict字典去重,列表轉(zhuǎn)換成字典,順序不變
set去重  再用sort排序
count()方法統(tǒng)計并且刪除,要先排序

字典中按照key排序,用什么方法實現(xiàn)
用sorted()函數(shù):對數(shù)字從小到大進行排序 | 使用語法sorted(iterable,key,reverse)
按照key排序:只輸出key值排序列表 | 使用語法sorted(d.keys(),reverse=True/False)

第三方支付接口無響應(yīng)如何處理
如支付寶接口無響應(yīng),第一,多調(diào)用幾次,如無響應(yīng),可能是調(diào)用超時或者第三支付接口掛了需要相關(guān)公司進行排查問題,進行處理

第三支付接口完成支付操作后,未獲取響應(yīng)結(jié)果,該訂單處于什么狀態(tài)?
單處于已支付狀態(tài),為獲取到響應(yīng)結(jié)果的原因可能是網(wǎng)絡(luò)延遲,獲取響應(yīng)結(jié)果時間較長
接口冪等性,未獲取響應(yīng)結(jié)果時,再用支付接口進行支付操作,重復(fù)進行支付操作,如其中存在支付成功,獲取響應(yīng)結(jié)果成功,則是接口冪等性問題

支付接口從ui層功能到接口,及底層測試點,及流程



作者:某江西理工大學(xué)生

歡迎關(guān)注微信公眾號 :Python測試社區(qū)