1. 程式人生 > >Selenium面試問題和答案-5

Selenium面試問題和答案-5

1.findElement FindElements有什麼區別?

首先,兩個都是查詢元素,都支援八大元素定位方法。findElement()得到的只有一個元素,如果根據提供的元素定位方式找不到,會報noSuchElement異常。

findElements()返回的是一組元素,所以我們需要根據能夠找到一組元素的表示式去定位,返回一組元素我們可以放在集合裡,這樣我們就可以使用集合裡面的迭代方法去遍歷元素,拿到元素去做其他操作。

2.在執行指令碼過程,如何實現當前元素高亮顯示?

這個其實就是利用javaScript去修改當前元素的背景顏色來到達高亮顯示的效果,

3.如何獲取頁面標題,懸浮文字和錯誤文字,並驗證?

標題,我們可以通過driver.getTitle()方法來得到一個字串,然後使用字串的containts方法或者equals方法去進行斷言。

懸浮文字(tooltip),一般是利用Actions類,然後滑鼠懸停方法,然後通過getText()方法來得到這個tooltip字串。

錯誤資訊,直接把這個錯誤欄位先進行定位,然後通過getText()方法拿到錯誤文字,主要的斷言有包含,相等,不相等,不包含,以什麼開頭等。

4.selenium自動化測試中,你一般完成什麼型別的測試?

      主要是冒煙測試和迴歸測試。迴歸測試主要寫一些功能穩定,容易實現的場景,通過自動化手段去實現,節約測試時間。

5.你是如何管理你的測試用例並執行?

       寫用例和管理並執行用例,我們都需要藉助單元測試框架來實現,如果是Java語言一般有junitTestNG,如果是python,常見的有unittest

       就你實際情況,說一下。例如我使用TestNG比較多,需要配置testng.xml檔案來實現測試用例的執行。有時候需要配置多個testng.xml去實現不同的任務場景。再展開,可能問你一下testng框架的知識點。例如,方法依賴,用例執行優先順序,資料來源驅動等。

6.關於自動化測試報告生成?

我個人一般用TestNG原生的測試報告,也有第三方叫reportNG的外掛,不過我沒有實際使用過。

Python下報告生成一般使用

HTMLTestRunner.py

7. 瞭解或者使用過框架不?

類似的問題還有,你知道那些自動化測試框。

我們知道POM自動化測試框,還有關鍵字驅動框架。當然還有資料驅動框架,最近幾年出的行為驅動框架。

8. 這個框架是你自己寫的嗎?

我自己設計過POM的框架和關鍵字驅動框架。

9.能不能介紹下你的框架

      把你自己POM的框架從上往下,樹形結構畫圖出來,然後講下有哪些層,哪些包,包下幾個重點的類的作用和一些工具類說一下。用例如何執行,頁面物件和元素定位放哪裡,錯誤日誌和截圖如何處理,報告如何得到等。

結束語:

      Selenium面試的問題就整理到這裡,肯定還有一些更難的問題沒有整理出來,我覺得,你知道這五篇的面試題和答案,那麼一般的selenium自動化測試的面試肯定沒有問題。難一些的方面主要體現在框架設計方面,例如事件監聽,框架有什麼優點和缺點,未來有沒有計劃去改進。還有一部分是指令碼執行和管理的問題,例如,指令碼是不是在本地執行,能不能加快執行效率,做過指令碼放Jenkins上持續整合配置嗎等。