Selenium自动化测试技巧还不知道吗?
1、前言
與以前瀑布式開發模式不同,現在軟件測試人員具有使用自動化工具執行測試用例套件的優勢,而以前,測試人員習慣于通過測試腳本執行來完成測試。
但自動化測試的目的不是完全擺脫手動測試,而是最大程度地減少手動運行的測試。自動化測試使您可以快速測試多語言站點,還可以提高測試執行速度。
2、Selenium自動化
由于開源工具和應用程序的成本效益,效率,可重復性,準確性和易用性,它們變得越來越重要。Selenium是開放源代碼工具之一,它在應用程序測試方面提供了開放源代碼工具的所有優點。
Selenium是用于測試的一套Selenium工具。它包含Selenium IDE,Selenium RC,Selenium Webdriver和Selenium Grid。它用于自動化Web交互和回歸測試,并具有記錄和回放功能。此外還可以將記錄的腳本導出為其他語言,包括Java,C#,Python,Ruby,Javascript和PHP。
3、跨瀏覽器測試中的Selenium
顧名思義,跨瀏覽器測試是一種用于在不同的Web瀏覽器和設備上測試Web應用程序以確保其在每個設備和瀏覽器上都能無縫運行的方法。
Selenium幫助在Safari,Google Chrome,Mozilla Firefox和IE中自動化測試案例。Selenium也可以同時在不同瀏覽器上的同一臺計算機上執行測試用例。它還支持多種語言和操作系統。
讓我們看一下Selenium的最佳實踐,以在自動化測試過程中充分利用。
4、利用正確的定位器
Selenium框架的底部是與瀏覽器進行交互,從而可以使用文檔**對象模型(DOM)**檢查,輸入和瀏覽多個對象。這是通過一組操作發生的,并使用了多個定位器,包括CSS選擇器,name,Xpath,ID,標記名,鏈接文本和classname。
例如,當您不想在開發人員和測試人員不了解的情況下更改代碼時,請使用Class和ID定位器。另一方面,當其他團隊進行測試時,可以使用鏈接文本來動態處理情況。最后,可以采用XPath可用于定位。
5、數據驅動的測試
如果要為不同的輸入使用相同的測試和相同的代碼,則可以依賴Selenium。它將允許開發人員和質量檢查團隊進行修改,這意味著您可以將其用于系統功能測試以及瀏覽器兼容性測試。
Selenium還允許客戶從其框架中受益。客戶可以利用專有的測試加速器并啟動測試自動化。這將減少自動化周期的時間。有很多個函數庫,可讓客戶端啟動自動化過程。
6、不要依賴特定的驅動程序
永遠不要依賴于一種特定的驅動程序實現。了解驅動程序在不同的瀏覽器中不是瞬時的。也就是說,不一定會有IE驅動程序、FireFox驅動程序等。
例如,在連續Linux構建過程中執行集成測試時,將收到RemoteDriver。您可以使用LabelledParameterized(JUnit具有,@RunWith 而TestNG為 @Parameters)在Selenium中快速創建小型框架。
和ScreenShotWatchMan(JUnit @Rule,TestNG TestListenerAdapter)。換句話說,使用參數注釋來處理多種瀏覽器類型并準備好同時執行是不錯的選擇。
7、選擇器順序
選擇選擇器的順序很重要,因為選擇器(例如XPath和CSS)是基于位置的。與ID,name和鏈接文本相比,它們比較慢。name和ID是特別直接和直接的方式選擇器。CSS通常是ID和Name的組合。相比之下,XPath應該是最后的解決方案。
健壯的解決方案如下所示: XPath <css <links="" text="" <name="" <id。這意味著以id開頭,并使xpath為最后一個選擇器。在3個沒有數據的表中,xpath識別第二個表的速度最慢,并且可能不會返回正確的表。因此,最后選擇了xpath,它們很脆弱。css始終與名稱和id結合在一起。
8、使用PageObjects設計模式
PageObject已作為測試自動化中的最佳設計模式而獲得普及。它提升了測試的可維護性,還減少了代碼重復量。此外,它是一個面向對象的類,它充當被測應用程序頁面的接口。為簡化起見,PageObject是一種面向對象的設計模式,并且將網頁定義為類。頁面上的不同元素將成為變量。用戶交互沒有用具體的方法實現。
網頁=類別
頁面上的各種元素=變量
用戶互動=方法
PageObject的優點
通過較小的UI調整,它有助于建立一個健壯的框架。測試代碼和頁面代碼是分開的。
它們可靠且易于維護。
該腳本是可讀的。該代碼是可重用的。
幾乎完全消除重復。
9、提倡wait避免sleep
利用wait代替sleep。了解顯式和隱式等待,還有Thread.sleep()邏輯。然后,為什么wait等待而不是sleep。
wait
顯式–等待某種情況發生,而無需繼續編寫代碼。
隱式–指示WebDriver輪詢DOM,直到完成對元素的搜索為止。默認情況下,時間設置為0。
sleep
Thread.sleep()無論工作頁是否準備就緒,都會在括號內指定的秒數內等待。
10、關閉Firebug起始頁
在啟動firefox驅動程序時,可能已包含firebug。有時這可能導致無法正常工作正常。如果在啟動瀏覽器時同時打開一個新的firebug選項卡使您感到煩惱,請按照以下提供的提示之一關閉firebug起始頁。
在showFirstRunPage標志中將False設置,如下。
FirefoxProfile profile = new FirefoxProfile();profile.setPreference("extensions.firebug.showFirstRunPage", false);
感謝每一個認真閱讀我文章的人!!!
如果下面這些資料用得到的話可以直接拿走:
1、自學開發或者測試必備的完整項目源碼與環境
2、測試工作中所有模板(測試計劃、測試用例、測試報告等)
3、軟件測試經典面試題
4、Python/Java自動化測試實戰.pdf
5、Jmeter/postman接口測試全套視頻獲取
我個人整理了我這幾年軟件測試生涯整理的一些技術資料,包含:電子書,簡歷模塊,各種工作模板,面試寶典,自學項目等。如果在學習或工作中遇到問題可以直接進群詢問,群里也會有大神幫忙解答,需要的可以在評論區找我
總結
以上是生活随笔為你收集整理的Selenium自动化测试技巧还不知道吗?的全部內容,希望文章能夠幫你解決所遇到的問題。
                            
                        - 上一篇: [BC26]2.BC26接入电信AEP平
 - 下一篇: Linux跑分-unixbench性能测