關於Selenium的自動化測試,函數的使用,網路上有太多的基礎教學了,我這裡就不在一一列舉了,大家可以自行參考其他教學或官方網站。本文主要探討web自動化測試的方案設計,以及小編個人認為的困難。
系統架構
如下圖,在我們後台自動化測試框架的基礎上(此圖web擴展的部分架構,其他部分涉及到公司保密,沒展現在圖裡面),擴展了selenium,在selenium的基礎上擴展了頁面對象的設別,引入重試加倍延遲等待時間機制來提高設別成功率。 page action模組裡面統一實現了頁面動作,一個函數實現了一個動作,保證每個頁面動作的獨立性,所以如果後面的版本中需要增加不同的執行步驟組合,只需要呼叫裡面的函數即可。
資料取得模組,分了三層,分別是資料庫資料取得模組,頁面資料取得模組, web application log的資料擷取模組。透過這種方式可以輕鬆組織好團隊裡的各個成員,每個人實現自己最擅長的模組,快速整合。
web自動化測試的很大一個需求來源是瀏覽器的兼容性測試,所以在框架設計上必須考慮如果一次測試多個瀏覽器。部落客的方案是對測試案例集放到每個瀏覽器實例裡面,一個瀏覽一個瀏覽器的順序執行。
頁面element 的定義與解析
#頁面元素的定位,一直以來都是web自動化測試的一個難點,因為很多公司的web開發者實現的程式碼並不規範。儘管如此,大家在實現自動化測試的時候,盡量還是避免使用css, xpath去定義,可讀性,維護性太差。盡量使用id, name, class name去定義。對應一些沒有id, name, class name的element,盡量試試用find_elements_by_tag_name 然後解析其屬性來定位element,或者使用find_element_by_xpath(“..”), find_element_by_xpath(“../..”) 來查找上級或上上級element。
利用beatuifulsoap 來解析
#Beatuifulsoap因為強大的解析功能,被用很多爬蟲說解決方案裡面,如果爬蟲的功能都能滿足,自動化測試的需求當然可以全部滿足。部落客結合find_element_by_xx(table_id).get_attribute('innerHTML') 和beatuifusoup 在目前所做的專案裡面幾乎沒有遇到不可以解析和定位elements. 例如一定動態的id 或者name者,先透過beatuifulsoap的模糊匹配,然後透過解析其他屬性來定位id或name的,再呼叫find_element_by_xx 就可以實現完美的定位方案。媽媽再也不擔心開發人員不寫id,或是name值
##【推薦課程:Python影片教學】
以上是web自動化測試(三)Selenium+beatuifulsoup的詳細內容。更多資訊請關注PHP中文網其他相關文章!

Python在遊戲和GUI開發中表現出色。 1)遊戲開發使用Pygame,提供繪圖、音頻等功能,適合創建2D遊戲。 2)GUI開發可選擇Tkinter或PyQt,Tkinter簡單易用,PyQt功能豐富,適合專業開發。

Python适合数据科学、Web开发和自动化任务,而C 适用于系统编程、游戏开发和嵌入式系统。Python以简洁和强大的生态系统著称,C 则以高性能和底层控制能力闻名。

2小時內可以學會Python的基本編程概念和技能。 1.學習變量和數據類型,2.掌握控制流(條件語句和循環),3.理解函數的定義和使用,4.通過簡單示例和代碼片段快速上手Python編程。

Python在web開發、數據科學、機器學習、自動化和腳本編寫等領域有廣泛應用。 1)在web開發中,Django和Flask框架簡化了開發過程。 2)數據科學和機器學習領域,NumPy、Pandas、Scikit-learn和TensorFlow庫提供了強大支持。 3)自動化和腳本編寫方面,Python適用於自動化測試和系統管理等任務。

兩小時內可以學到Python的基礎知識。 1.學習變量和數據類型,2.掌握控制結構如if語句和循環,3.了解函數的定義和使用。這些將幫助你開始編寫簡單的Python程序。

如何在10小時內教計算機小白編程基礎?如果你只有10個小時來教計算機小白一些編程知識,你會選擇教些什麼�...

使用FiddlerEverywhere進行中間人讀取時如何避免被檢測到當你使用FiddlerEverywhere...

Python3.6環境下加載Pickle文件報錯:ModuleNotFoundError:Nomodulenamed...


熱AI工具

Undresser.AI Undress
人工智慧驅動的應用程序,用於創建逼真的裸體照片

AI Clothes Remover
用於從照片中去除衣服的線上人工智慧工具。

Undress AI Tool
免費脫衣圖片

Clothoff.io
AI脫衣器

AI Hentai Generator
免費產生 AI 無盡。

熱門文章

熱工具

MantisBT
Mantis是一個易於部署的基於Web的缺陷追蹤工具,用於幫助產品缺陷追蹤。它需要PHP、MySQL和一個Web伺服器。請查看我們的演示和託管服務。

MinGW - Minimalist GNU for Windows
這個專案正在遷移到osdn.net/projects/mingw的過程中,你可以繼續在那裡關注我們。 MinGW:GNU編譯器集合(GCC)的本機Windows移植版本,可自由分發的導入函式庫和用於建置本機Windows應用程式的頭檔;包括對MSVC執行時間的擴展,以支援C99功能。 MinGW的所有軟體都可以在64位元Windows平台上運作。

ZendStudio 13.5.1 Mac
強大的PHP整合開發環境

EditPlus 中文破解版
體積小,語法高亮,不支援程式碼提示功能

禪工作室 13.0.1
強大的PHP整合開發環境