29 Selenium 常見面試題及答案
已發表: 2022-12-09軟件應用程序在發布供最終消費者使用之前會經歷多個階段。
測試是 SDLC(軟件開發生命週期)中最重要的部分之一,因為它可以識別錯誤並檢查應用程序是否按預期工作。
過去,軟件測試人員使用手動測試技術。 然而,手動測試非常耗時,並且還會帶來其他各種挑戰。 Selenium 的創建是為了自動化軟件測試。
Selenium 現在是市場領導者,大多數軟件測試人員已經在使用它。 如果您想找到一份軟件測試員的工作,用常見的 selenium 面試問題武裝自己將使您比其他求職者更具競爭優勢。
以下是您可能會遇到的Selenium 面試問題和答案:
什麼是自動化測試?
簡而言之,自動化測試是使用自動化測試套件或無需人工參與,使編寫和執行軟件測試的過程自動化的過程。 自動化測試允許測試人員使用單獨的工具重複執行測試任務。
自動化測試有什麼好處?
- 節省時間和金錢。 如果您必須支付手動測試人員的費用,軟件測試可能會很昂貴。 從長遠來看,自動化測試可以更便宜。
- 促進代碼的可重用性。 您可以設置一次測試,然後重複執行。
- 減少人為錯誤,提高準確性。
- 非常適合大規模應用。 通過手動測試可以很簡單地測試小型應用程序。 然而,隨著應用程序的擴展,自動化測試工具包將隨著應用程序的擴展而派上用場。
什麼是硒?
Selenium 是 Jason Huggins 於 2004 年開發的開源且免費的基於 Web UI 的自動化測試套件。強大社區的存在使 Selenium 成為最受歡迎的自動化軟件測試套件之一。 各種瀏覽器和平台都支持 Selenium Suite。
硒有哪些不同形式?
Selenium 不僅僅是一個測試工具,而是一個包含多個工具的套件。 以下是硒的不同形式;
- Selenium 集成開發環境 (IDE)
- Selenium WebDriver
- 硒遙控器(RC)
- 硒網格
Selenium 支持哪些編程語言?
- Python
- 爪哇
- C-升號
- JavaScript
- 紅寶石
- PHP
- Perl
Selenium 支持哪些測試類型?
- 回歸測試
- 功能測試
什麼是 Selenium WebDriver?
Selenium WebDriver 的任務是與網絡瀏覽器通信。 該工具還依靠其本機兼容性來自動執行各種任務。
什麼是硒集成開發環境?
Selenium IDE 是一個 Firefox 插件,充當錄製和回放工具。 這個插件是作為加速創建自動化腳本的解決方案而創建的。
什麼是硒網格?
該工具允許用戶同時將測試執行分發到多個環境和平台。
什麼是 selenium RC(遠程控制)?
RC 是一種工具,允許某人以他們想要的編程語言創建測試腳本。 該工具還允許用戶在各種瀏覽器中執行測試腳本。
Selenese 是什麼意思?
Selenium IDE 有一種稱為 Selenese 的語言,用於編寫 Selenium 命令。 這些命令幫助 Selenium 了解要執行的操作或動作。
Selenese 有哪些類型?
- 動作。 這些是操縱應用程序狀態的命令。 “鍵入此框”和“單擊此鏈接”是操作的示例。
- 配件。 這些命令應用程序的狀態並將結果存儲在變量中。
- 斷言。 這些命令使測試人員能夠驗證應用程序的狀態。
在 Selenium 中定位元素的方法有哪些?
- ID
- 班級名稱
- 姓名
- 標籤名
- 鏈接文本
- 部分鏈接文本
- Xpath
- CSS 選擇器
- DOM
什麼是 XPath?
XPath 根據其可擴展標記語言路徑定位 Web 元素。 XML 存儲組織和傳輸任意數據。
XPath 中的“/”和“//”。 有什麼區別?
“/”或單斜杠h 創建具有絕對路徑的 XPath。 因此,創建 XPath 以從起始節點/文檔節點開始選擇。
“//”或雙斜杠用於創建具有相對路徑的 XPath。 因此,創建的 XPath 從文檔中的任何位置開始選擇。
什麼是絕對 XPath?
絕對 XPath 以單斜杠“/”開頭。 這樣的路徑從根到我們要識別的元素之間有一條完整的路徑。
findElement() 和 findElements() 的區別
- findElements():使用給定的定位機制查找當前頁面上的所有元素,並返回所有網頁元素的列表。
- findElement() :使用給定的定位機制在當前頁面中找到第一個元素,並只返回一個 web 元素。
Selenium 中使用了哪些類型的註解?
- 之前套件
- 測試前
- 課前
- 之前方法
- 測試用例
- 方法後
- 下課以後
- 測試後
- 後套件
Selenium 中的斷言是什麼?
斷言確定應用程序是否按預期工作。 如果斷言失敗,則測試用例失敗,並且執行停止。

什麼是斷言和驗證命令?
- 斷言:如果斷言條件為真,程序將繼續執行下一個測試步驟。 但是,如果條件為假,則執行停止,並且不會進行其他測試。
- Verify :無論驗證的條件是真還是假,測試都會繼續執行。
什麼是同源策略,Selenium 如何處理它?
同源策略可以描述為一種安全機制,它限制特定源加載的腳本或文檔如何與來自另一個源的資源進行交互。 這種方法有助於隔離惡意腳本。
Selenium 使用代理注入的方式來實現同源策略。 在此設置中,Selenium 服務器將充當被測應用程序和瀏覽器之間的客戶端配置的 HTTP 代理。 此代理注入將通過虛構的 URL 掩蓋 AUT。
Selenium IDE 中的暫停功能是什麼?
暫停是一個等待 Selenium IDE 命令,它會延遲指定時間執行自動化測試。 等待以毫秒為單位表示,這意味著如果要等待 3 秒,則應輸入 3000。
為什麼 Selenium IDE 測試會失敗?
- 異步網站。 Selenium 測試是按特定順序創建的。 但是,有些網站是基於異步架構的,有時響應是不按順序的。
- 超時。 Selenium 在等待組件加載時可能會失敗。 可以使用“等待”來處理此類錯誤。
- 錯誤。 Selenium 一直在改進。 但是,您可能偶爾會遇到一些錯誤,這可能會導致測試失敗。
- 對源代碼的小改動。 如果檢查了對定位器的更改,則針對該定位器的所有測試都可能失敗。
什麼是 TestNG,它有哪些特性?
TestNG 是一個受 JUnit 和 NUnit 啟發的測試自動化框架。 NG,下一代,是一個開源和免費的工具。
這些是 TestNG 的一些特性;
- 有不同類型的斷言。
- 允許用戶並行運行測試。
- 您可以使用“dependsOnMethods”和“dependsOnGroups”屬性使測試相互依賴。
- 執行數據驅動的測試。
- 您可以對各種測試進行分組。
隱式等待和顯式等待有什麼區別?
- 隱式等待告訴 WebDriver 在拋出異常之前等待一段時間。 默認值為 0,一旦設置了時間,WebDriver 將等待時間到時拋出異常。
- Explicit Wait告訴 WebDriver 在拋出“ElementNotVisibleException”異常之前等待特定條件或 ExpectedConditions。 Explicit Wait 是一種僅適用於指定元素的“智能”等待。
什麼是對象存儲庫?
對象存儲庫是自動化 GUI 測試腳本中鍵值對的集合,可減輕測試腳本維護的負擔。 這種情況下的關鍵是標識對象的邏輯名稱以及帶有標識屏幕上對象的唯一屬性的值。
它也是存儲和管理所有數據的中心位置。
在 Selenium 網絡驅動程序中,您會遇到哪些不同的異常?
異常是在程序或軟件應用程序執行期間可能發生的前所未有或不尋常的事件。 它也可以被描述為意外事件或結果的運行時錯誤,它擾亂或影響了通常的程序流程。
這些是 Selenium Web Driver 中的主要例外;
- NoSuchWindowException。 WebDriver 正在嘗試切換到無效(不可用)窗口。
- NoSuchElementException。 當元素不可訪問時發生。
- NoAlertPresentException。 當您嘗試切換到不顯示警報時會發生此異常。
- 超時異常。 特定命令未在指定時間內完成。
- 元素不可見異常。
- 元素不可選擇異常。 當元素被禁用(無法選擇或單擊)時會發生此類異常,儘管該元素在 DOM 上可用。
- SessionNotFoundException。 在這種情況下,WebDriver 在關閉瀏覽器後立即運行。
列出不同類型的定位器
- ID
- 姓名
- 班級名稱
- 標籤名
- 鏈接文本
- 部分鏈接文本
- CSS 選擇器
- 路徑
什麼是斷點和起點?
- Start Points顯示代碼執行的起點。 起點可用於從代碼中間或斷點運行測試腳本。
- 斷點用於停止代碼執行。 斷點用於驗證您的代碼是否按預期工作。
包起來
以上是您在下一次測試自動化工程工作面試中可能會遇到的一些 Selenium 面試問題。 在申請測試自動化工程師角色之前,確保您具備必要的技能。