【編測編學】自動化測試面試必背(下)

bcbxhome發表於2021-01-23

1 、怎麼驗證元素是 enable/disabled/checked 狀態?

定位元素後:分別透過 isEnabled() isSelected() isDisplayed() 三個方法進行判斷。

2 如何處理下拉選單?

Selenium 中有一個叫 Select 的類,這個類支援對下拉選單進行操作。使用方法如下:

定位元素

②把定位的元素轉化成 Select 物件。

sel = Select( 定位的元素物件 )

③透過下標或者值或者文字選中下拉框。
sel.select_by_index(index);
sel.select_by_value(value);
sel.select_by_visible_text(text);

3 、在日曆這種 web 表單你是如何處理的 ?

首先要分析當前網頁試用日曆外掛的前端程式碼,看看能不能透過元素定位,點選日期實現,如果不能,可能需要藉助 javascript 。還有些日曆控制元件一個文字輸入框,可以直接 sendKeys() 方法來實現傳入一個時間的資料。

4 、舉例一下說明一下你遇到過那些異常

常見的 selenium 異常有這些:

NoSuchElementException :沒有該元素異常
TimeoutException
超時異常

ElementNotVisibleException :元素不可見異常
NoSuchAttributeException
:沒有這樣屬性異常
NoSuchFrameException
:沒有該 frame 異常

5 、關閉瀏覽器中 quit close 的區別

簡單來說,兩個都可以實現退出瀏覽器 session 功能, close 是關閉你當前聚焦的 tab 頁面,而 quit 是關閉全部瀏覽器 tab 頁面,並退出瀏覽器 session 。知道這兩個區別,我們就知道 quit 一般用在結束測試之前的操作, close 用在執行用例過程中關閉某一個頁面的操作。

6 、在 Selenium 中如何實現截圖,如何實現用例執行失敗才截圖

Selenium 中提供了一個 get_screenshot_as_file() 的方法來截圖的,一般結合 try/except 捕獲異常時使用,進行錯誤截圖。

7 、如何實現檔案上傳?

定位元素後,直接使用 send_keys() 方法設定就行,引數為需要上傳的檔案的路徑。

8 、自動化中有哪三類等待?他們有什麼特點?

①執行緒等待(強制等待)如 time.sleep(2) :執行緒強制休眠 2 秒鐘,②秒過後,再執行後續的程式碼。建議少用。

imlicitlyWait (隱式等待)會在指定的時間範圍內不斷的查詢元素,直到找到元素或超時,特點是必須等待整個頁面載入完成。

WebDriverWait (顯式等待)通常是我們自定義的一個函式程式碼,這段程式碼用來等待某個元素載入完成,再繼續執行後續的程式碼

9 、你寫的測試指令碼能在不同瀏覽器上執行嗎

當然可以,我寫的用例可以在在 IE ,火狐和谷歌這三種瀏覽器上執行。實現的思路是封裝一個方法,分別傳入一個瀏覽器的字串,如果傳入 IE 就使用 IE ,如果傳入 FireFox 就使用 FireFox ,如果傳入 Chrome 就使用 Chrome 瀏覽器,並且使用什麼瀏覽器可以在總的 ini 配置檔案中進行配置。需要注意的是每個瀏覽器使用的驅動不一樣。

10 、什麼是 PO 模式,為什麼要使用它

PO Page Object 模式的簡稱,它是一種設計思想,意思是,把一個頁面,當做一個物件,頁面的元素和元素之間操作方法就是頁面物件的屬性和行為, PO 模式一般使用三層架構,分別為:基礎封裝層 BasePage PO 頁面物件層, TestCase 測試用例層。

 

 


來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/69985967/viewspace-2752290/,如需轉載,請註明出處,否則將追究法律責任。

相關文章