国产精品电影_久久视频免费_欧美日韩国产激情_成年人视频免费在线播放_日本久久亚洲电影_久久都是精品_66av99_九色精品美女在线_蜜臀a∨国产成人精品_冲田杏梨av在线_欧美精品在线一区二区三区_麻豆mv在线看

Selenium WebDriver自動化測試的十大優秀實踐

譯文
開發 開發工具 自動化
本文將和您討論Selenium WebDriver API是如何使用瀏覽器驅動,與真實瀏覽器相交互,以及在Selenium自動化測試中的十種優秀實踐。

[[433410]]

【51CTO.com快譯】目前,廣受開發界歡迎的Selenium,不但是針對Web應用的自動化開源框架,而且可以處理諸如網站監控等各種管理任務。同時,作為科技行業內,最為流行的開源式自動化測試工具,Selenium為端到端測試提供了強大的、基于瀏覽器的自動化測試服務。

Selenium WebDriver從誕生之日起也備受歡迎。它既可以直接運行在瀏覽器上,又能夠使用瀏覽器的內置功能,去觸發那些由測試人員編寫的自動化測試。如下圖所示,Selenium WebDriver 架構由Selenium客戶端庫、JSON Wire協議、瀏覽器驅動、以及瀏覽器,四個主要模塊構建而成。

憑借著多年使用Selenium框架的經驗,我將在下面和您討論Selenium WebDriver API是如何使用瀏覽器驅動,與真實瀏覽器相交互,以及在Selenium自動化測試中的十種優秀實踐,以方便您開發設計出優秀的、且具有可擴展性的測試套件。

自動化測試的優秀實踐

1. 設置命名約定。為已創建的每種類型文件建立標準化的命名約定,將有助于簡化開發和Selenium的測試過程。例如:根據項目的某個階段性需求,貴團隊可能需要臨時增加某個成員臨時編寫的測試代碼。不過在幾個月后,當您的團隊重新訪問該測試時,您可能已記不得、或無法弄清當初的意圖與目的,而只能被動地留存到開發完整的實施階段。因此,我們需要通過以一種“不言自明(self-explanatory)”的方式,去命名各種測試用例,以方便您和您的團隊快速地了解其測試特性與意圖,避免花費時間進行不必要的來回滾屏,或反復瀏覽與比對。此外,如果某些測試在執行階段出現了失敗,那么我們只需快速地查看測試名稱,便可以輕松地定位是哪些功能出現了問題。

2. 避免阻止休眠的調用。作為顯式等待的一個例子,休眠模式雖然并非Selenium WebDriver的特性,但是大多數編程語言的常見功能。當您的程序正在運行時,Thread.Sleep()通常會在某個線程中,按照設定的方式,執行各種自動化檢查。一旦滿足調用的條件,它就會指示應用程序在一段時間內,除了休眠,不做任何事。

不過,Selenium提供了隱式(Implicit)和顯式(Explicit)等待兩種方式,能夠比休眠更加有效地處理各種延遲。其中,隱式等待會通知目標瀏覽器,為頁面上現存的所有Web元素,等待指定的持續時間。如果某個元素的可用性快于隱式延遲時間,那么程序將會順利地移至下一行代碼執行。可見,我們需要避免阻止休眠的調用。讓Selenium自行使用隱式和顯式等待來進行處理。請通過鏈接-- https://itnext.io/how-to-using-implicit-and-explicit-waits-in-selenium-d1ba53de5e15,了解更多有關Selenium隱式和顯式等待的信息。

3. 選擇最適合的Web定位器。我們在執行Selenium自動化測試時,可能碰到的一項挑戰是,如果那些與測試代碼中使用到的定位器相關的具體實現發生了變化,那么我們必須對自動化測試進行相應的更改。其中包括:ID、名稱、鏈接文本、XPath、CSS選擇器、DOM定位器等(請參見下表)。

可見,對于如此繁多的Web定位器,我們有必要選擇合適的定位器,以盡量減少由于用戶界面的變化,而對測試引發的影響。其中,ID、Class和Name不僅易于使用,而且相對其他Web定位器更加穩定。請通過鏈接--https://itnext.io/the-concept-of-the-right-locator-for-selenium-webdriver-automated-scripts-5b8c6bf528e5,了解更多有關Selenium WebDriver自動化腳本如何選擇恰當的定位器的概念。

4. 實施日志記錄和報告。如果在某個廣泛的測試套件中,有個特定的測試失敗了,那么我們可能很難準確地定位失敗的測試用例。對此,測試控制臺(或后臺)日志記錄,將有助于我們更好地理解代碼,在測試代碼中找到適當的位置,進而及時抑制問題。

在流行編程語言中,我們經常用到的日志級別包括:調試性、通知性、警告性、錯誤和重要的日志等。不過,在測試的過程中,添加不必要的日志,也可能會拖慢測試的整體進程。因此,我建議您僅在有助于跟蹤那些失敗原因的場景中,添加具有相應錯誤級別的日志。請通過鏈接--https://itnext.io/implement-logging-and-reporting-best-practices-2cc4b58de9d3,了解更多有關實施日志記錄和報告的優秀實踐。

5. 使用各種設計模式和原則。面對設計和開發自動化過程中的潛在問題,開發人員往往會事先制定和采用各種模式。對此,我們可以回溯到《設計模式(Design Patterns)》一書。該書提供了各種面向對象編程的適用模式。您幾乎能夠為每一種問題找到對應的解決方案。當然,此類設計模式的概念也在不斷迭代和發展。新的工廠(Factory)和裝飾(Decorator)模式也被加入了進去。請通過鏈接--https://antony-s-smirnov.medium.com/all-about-design-patterns-in-automation-testing-7276ad051db8,了解更多有關自動化測試中的設計模式。

6. 集中式的文件夾結構。在Selenium團隊的中央存儲庫中,開發和Selenium測試人員,更愿意使用約定好的命名規則和定義好的文件夾結構。而沒人愿意將時間浪費在,錯誤文件名和代碼問題所產生的負面影響上。例如:在處理那些使用Selenium框架的測試時,我們必須關注測試代碼的可維護性。通常,標準的項目是由Src和Test文件夾所組成。其中,Src文件夾可以包含各種子目錄,例如:頁面對象、幫助函數、以及那些包含在測試場景中的Web定位器文件。而Test文件夾則包含了各種實際的測試實現。

7. 數據驅動測試。被開發出的Web應用也需要針對不同的瀏覽器、設備、以及操作系統的組合(即多種數據集)進行測試。通過Selenium,您可以使用數據驅動框架、關鍵字驅動框架、以及兩者的混合。由于被輸入的測試數據,往往取自外部Excel或CSV等文件,因此數據驅動框架會在如何將數據集與實際測試代碼分離的方面,十分有效。在測試自動化腳本中,對測試值進行硬編碼,并非一種可擴展的解決方案。它往往會導致不必要的軟件臃腫、以及重復性的測試代碼。因此,更好的方案是,使用通過Selenium實現數據驅動的參數化測試。參數化將有助于針對不同的輸入組合(或數據集),去執行各種測試用例。例如:使用TestNG進行參數化、JUnit參數化、以及開展數據驅動的測試等。請通過鏈接--https://antony-s-smirnov.medium.com/how-to-use-the-data-provider-pattern-in-the-project-ea12430d9275,了解更多有關如何在項目中使用數據提供者的模式。

8. 在適當的場景中使用斷言和驗證。

9. 避免代碼的重復,或包裝Selenium的各種調用。

10. 在Selenium中,使用針對JUnit和TestNG編寫的并行測試案例。

原文標題:The best practices test automation withSeleniumWebDriver ,作者: Anton Smirnov

【51CTO譯稿,合作站點轉載請注明原文譯者和出處為51CTO.com】

 

責任編輯:華軒 來源: 51CTO
相關推薦

2020-04-09 13:16:48

自動化工具腳本

2020-09-14 07:00:00

測試自動化框架

2024-01-26 06:09:03

自動化測試技術

2022-09-12 16:02:32

測試企業工具

2023-03-13 16:25:28

2024-08-12 08:36:28

2021-09-07 09:00:00

開發測試工具

2023-09-20 16:22:44

2025-04-03 11:25:39

2024-11-15 15:56:56

2022-07-18 08:57:08

容器安全容器惡意攻擊

2022-07-29 14:18:11

數據安全數據丟失防護

2011-01-20 10:17:25

ibmdwWeb

2021-09-03 09:56:18

鴻蒙HarmonyOS應用

2022-08-19 15:42:26

安全數據隱私網絡安全

2022-12-28 14:06:25

自動化數字孿生

2020-04-01 10:34:00

暗網自動化攻擊數據庫泄露

2021-04-02 09:00:00

Node.js開發工具

2020-12-08 08:00:00

機器學習人工智能超自動化

2020-12-04 19:08:57

自動化數字化機器人
點贊
收藏

51CTO技術棧公眾號

久久99久久久久久| 自拍偷拍国产精品| 亚洲欧美激情视频| 日本调教视频在线观看| 一区二区激情| 91国产精品91| 唐人社导航福利精品| 欧美韩国日本综合| 中文精品一区二区三区| 日韩黄色网络| 久久久精品久久久久| 2021av在线| 欧美三级欧美成人高清www| 无码人妻丰满熟妇区毛片| 韩国毛片一区二区三区| 91美女片黄在线观| 天天综合在线观看| 一区二区三区日韩在线观看| 亚洲欧美日本国产有色| 亚洲破处大片| 久久久天堂国产精品女人| 欧美日韩国产v| 亚洲精品一二区| 色吧亚洲日本| 亚洲电影第1页| 超碰成人av| 亚洲人成网站999久久久综合| 黄色片一级视频| 久久综合视频网| 狠狠操第一页| 亚洲一区二区三区四区在线免费观看 | 一区二区不卡在线播放| 国产日本一区二区三区| 在线视频观看日韩| 国产日韩在线一区| 91精品一区二区三区综合| 国产欧美综合精品一区二区| 欧美日韩一区二区高清| 不卡视频一区| 国产伦精品一区二区三区在线观看| 精品久久久久久亚洲| 久久99精品久久久久| 欧美精品成人网| 自拍视频在线观看一区二区| 中文字幕在线免费观看| 欧美成人女星排名| 国产精品xxxav免费视频| 91久久久久久| 免费成人av在线播放| 欧美日韩另类综合| 亚洲日本欧美| 成人午夜视频免费在线观看| 亚洲成人福利片| 最新日韩三级| 91精品视频在线| 成人免费视频一区| 国产黄色片在线播放| 亚洲欧美日韩天堂| 久久伦理在线| 免费看国产一级片| 色素色在线综合| 久久精品国产精品亚洲毛片| 国产精品99久久久久久www| 在线欧美一区| 中文文精品字幕一区二区| 韩国成人二区| 国产精品久久久| 国产suv一区二区三区88区| 日韩a在线看| 欧美在线免费播放| 国产一区二区区别| 日本调教视频在线观看| 久久久极品av| 丝袜脚交一区二区| 三区在线观看| 成人黄色激情网| proumb性欧美在线观看| 欧美性爽视频| 国内免费久久久久久久久久久| 国产91精品露脸国语对白| 麻豆传媒在线免费| 极品尤物一区二区三区| 丁香桃色午夜亚洲一区二区三区| 黄色国产在线| 美女被啪啪一区二区| 色悠久久久久综合欧美99| 欧美偷拍自拍| 欧美著名女优| 在线免费观看羞羞视频一区二区| 日韩成人精品一区二区| av在线电影网站| 1卡2卡3卡精品视频| 亚洲色图丝袜美腿| 黄页网站一区| 欧美特黄aaaaaaaa大片| 91久久国产自产拍夜夜嗨| 亚洲不卡av一区二区三区| 福利影院在线看| 尤物av无码色av无码| 中日韩美女免费视频网站在线观看 | 精东粉嫩av免费一区二区三区| 激情欧美一区二区三区黑长吊| 国产精品一区=区| 欧美性大战久久久久久久蜜臀| 亚洲黄色影院| 五月天亚洲色图| 麻豆网在线观看| 国产精品精品一区二区三区午夜版| 99久久综合国产精品| 国产精品黑丝在线播放| av影片在线看| 国产一区二区高清不卡| 日韩精品亚洲视频| 国产午夜精品久久| 99在线精品视频在线观看| 理论片午夜视频在线观看| 蜜臀av.com| 91免费的视频在线播放| 黑人巨大精品欧美一区二区三区| 乱码第一页成人| 麻豆精品国产| 中文字幕有码av| 欧美激情论坛| 7777精品伊人久久久大香线蕉完整版 | 黄色免费在线观看| 欧美亚洲黄色片| 欧美一级电影免费在线观看| 色老汉一区二区三区| 91视频免费播放| 水野朝阳av一区二区三区| 国产厕拍一区| 麻豆影视国产在线观看| 免费男女羞羞的视频网站中文版| 日韩高清dvd| 国产成人精品免费久久久久| 亚洲精品国产免费| 欧洲精品在线观看| 亚洲电影一级黄| 中文字幕一区av| 久久av资源站| 亚洲调教一区| 国产成人77亚洲精品www| 一二三在线视频社区| 国产福利视频在线播放| 久久亚洲一区二区| 亚洲欧美变态国产另类| 亚洲国产精品久久艾草纯爱| 国产成人av自拍| 一本色道精品久久一区二区三区 | 日韩欧美一卡二卡| 欧美视频一区二区三区| 亚洲成a人v欧美综合天堂下载 | 国产一区视频导航| 首页亚洲欧美制服丝腿| 国产亚av手机在线观看| 亚洲一区二区三区精品中文字幕| 久久精品99久久| 国产精品伊人日日| 国产在线观看精品一区二区三区| 日韩男女性生活视频| 日韩少妇与小伙激情| 中文字幕亚洲欧美日韩2019| 欧美精品九九99久久| 久久亚洲综合色| 91麻豆免费看| 一区二区三区在线不卡| 中文字幕制服丝袜一区二区三区 | 精品无码一区二区三区爱欲| 国产美女视频免费| 国产手机免费视频| 久草在线资源网站| 成人免费性视频| 中文一区一区三区免费| 青青草原国产免费| 免费黄色福利视频| 国产成人综合一区| 污香蕉视频在线观看| 美丽的姑娘在线观看免费动漫| 大黄网站在线观看| 果冻天美麻豆一区二区国产| 国产大片一区| 亚洲精品麻豆| 亚洲国产精品黑人久久久| 91九色02白丝porn| 亚洲欧美中文字幕在线一区| 综合136福利视频在线| 国产精品久久久久久久久影视| 免费精品视频一区二区三区| 凹凸国产熟女精品视频| 深夜福利在线观看直播| 草莓视频成人appios| 视频精品在线观看| 国产一区二区精品久久| 国产欧美精品国产国产专区| 欧美性极品xxxx娇小| 欧美无乱码久久久免费午夜一区| 精品国产亚洲一区二区三区在线观看 | 韩国v欧美v日本v亚洲v| 亚洲人成网站色在线观看| 中文字幕av一区二区|