自動化崗位常見面試題


1、當一個接口出現異常時你如何分析?

考察點:考察隊你們系統了解程度,接口了解程度

1、通過fiddle或Charles等抓包工具抓取請求報文,返回報文,與接口文檔對比

2、Xshell連接服務器,查看日志進行分析

3、中間件(nginx,tomcat)出問題,消息隊列,數據同步

 

2、在自動化測試過程中上下游接口有數據依賴如何處理?

考察點:有沒真正做過自動化

將依賴的參數提取出來做成全局變量,然后進行參數化

mock服務

 

3、依賴第三方數據的接口如何進行測試

考察點:是否有能力對接第三方系統

根據第三方的接口文檔寫一個mock服務

讓開發直接寫死參數

開發debug修改參數

 

4、cookie與session的區別

考察點:網絡基礎

session:保存在服務端,跟蹤用戶狀態

cookie:客戶端(瀏覽器,app),session放在cookie

區別:

存放位置不同

作用不一樣

session是會失效

 

5、selenium的工作原理

考察點:是否深入了解selenium

selenium是通過webdriver實現對瀏覽器的操作

工作流程:

打開一個webdriver

打開瀏覽器

發送命令給瀏覽器

瀏覽器執行對應的操作

我們可以把WebDriver驅動瀏覽器類比成出租車司機開出租車。

在開出租車時有三個角色:

  • 乘客:他/她告訴出租車司機去哪里,大概怎么走
  • 出租車司機:他按照乘客的要求來操控出租車
  • 出租車:出租車按照司機的操控完成真正的行駛,把乘客送到目的地

 

在WebDriver中也有類似的三個角色:

工程師寫的自動化測試代碼:自動化測試代碼發送請求給瀏覽器的驅動(比如火狐驅動、谷歌驅動)
瀏覽器的驅動:它來解析這些自動化測試的代碼,解析后把它們發送給瀏覽器
瀏覽器:執行瀏覽器驅動發來的指令,並最終完成工程師想要的操作。
所以在這個類比中:

1. 工程師寫的自動化測試代碼就相當於是乘客

2. 瀏覽器的驅動就相當於是出租車司機

3. 瀏覽器就相當於是出租車

6、web自動化中如何處理多窗口?

考察點:經驗有沒那么豐富

1、先獲取當前頁面的headkle

2、獲取到新頁面的headle

3、很多窗口時候可以根據url地址去進行帥選

4、進行切換

 

7、web自動化過程中彈窗的處理

考察點:經驗問題

瀏覽器彈框、

alert彈框:driver.switch_to.alert

自定義彈框:模態框

 先觸發,再定位

 

8、自動化過程中如何處理驗證碼

考察點:經驗問題

萬能驗證碼

開發寫死或注釋校驗的代碼

使用第三方識別驗證碼(花錢)

數據庫,redis,服務器日志查找

 

9、python為什么使用*args和 **kwargs?

考察點:python基礎

*args:不定長參數,不確定要傳對少個參數的時候

**kwargs:關鍵字參數,不確定要傳多少個關鍵字參數的時候

 

 

10、自動化測試在什么階段執行會帶來什么收益?

考察點:自動化實施階段,自動化的作用

接口自動化:前后端聯調完成后,接口測試,當我們功能測完后,做接口自動化

UI自動化:頁面功能穩定之后,做UI自動化

效率問題:提高回歸測試效率

回歸測試容易漏測問題

 

11、自動化測試框架包含哪些模塊?

考察點:有沒有真正設計過自動化框架

基礎方法,數據驅動,po分層,接口分層(業務與數據分離),工具包、配置文件、測試報告、日志

 

12、web ui自動化中顯性等待、隱形等待的區別?

智能等待:在一定的時間內,找不到元素,就會報錯

顯性等待:針對某一個元素,設置等待時間和輪循時間去查找

隱形等待:針對所有元素,設置一個等待時間,在設置的時間內,程序會不斷得檢查元素是否全部加載完成

 

13、如何提高selenium的腳本的執行效率與穩定性?

使用等待時,盡量使用顯示等待,少用sleep(),盡量不用隱式等待

多個if elif條件判斷,可以把最有可能先發生的條件放到前面寫,這樣可以減少程序判斷的次數,提高效率

降低用例的之間的耦合度

 

14、unittest與pytest的區別?

1、用例設計規則

2、用例前置與后置條件

3、斷言

4、測試報告

5、失敗重跑機制

6、參數化

7、用例分類執行


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM