作者:cryanimal QQ:164166060
web端自動化簡介
web端自動化,即通過自動化的方式,對Web頁面施行一系列的仿鼠標鍵盤操作,以達到對Web頁面的功能進行自動化測試的目的。
其一般過程如下圖所示:
web端自動化常用工具簡介
web端自動化測試通常用QTP或者Selenium。
QTP,商業工具(收費),笨重,但是功能強大,易上手,是一套完整的自動化解決方案,且適用於C/S,B/S結構。最大的缺點是VBS語法體系,不太適合寫大項目,而且效率低,所以QTP現在很容易被代替。
Selenium,開源工具,輕量級,適合多種語言編寫,能在多種主流瀏覽器上運行,但是只支持B/S系統,且需要一定的編程基礎,上手比較難。
web端自動化難點分析
1. 一定的編碼能力門檻。搭建測試框架、熟悉selenium API、成功啟動瀏覽器、熟悉前端等,往往會把新人攔在門檻外;
2. 控件(元素)獲取工作量大、繁雜。WEB自動化大量工作集中在“獲取測試所需頁面元素的Xpath”,以及“校驗獲取Xpath是否能唯一定位元素”;
3. 測試用例穩定性低。因瀏覽器廠商和版本不同、web端UI的多變導致的XPATH不穩定等因素,導致測試用例也不穩定,測試用例本身問題多於發現的bug,維護成本高;
LazyUI框架簡介
LazyUI致力於解決以上三個難點,降低入門門檻和學習成本,簡化元素獲取&編碼工作,提高測試用例運行穩定性,從而達到快速簡潔地完成web端自動化工作的目的。
LazyUI基於selenium,由三部分組成:
1. 元素獲取插件:Elements Extractor
Chrome插件,用於抓取頁面上的常用控件(可批量或單個抓取),生成基於LazyUI框架的Java代碼,解決繁雜的元素的獲取問題。
獲取地址:https://github.com/lazytest/LazyTest-Elements-Extractor/archive/master.zip
解壓后將文件:LazyTestElementsExtractor.crx 拖拽至chrome安裝即可使用。
2. 瀏覽器操作API:LazyUI-API
提供模擬鼠標鍵盤在瀏覽器上操作的常用方法(如打開某瀏覽器、跳轉到URL,切換窗口,切換iframe,在元素上輸入、選擇、點擊,獲取元素的屬性、文本等)。
下載3中的工程模板,maven會自動引入。
或者在POM中增加資源:
<repositories> <repository> <id>lazytest</id> <url>https://raw.githubusercontent.com/lazytest/mvn-repo/master/</url> </repository> </repositories>
並增加依賴:
<dependency> <groupId>lazy.test</groupId> <artifactId>lazy-test-tools</artifactId> <version>1.0.0</version> </dependency>
3. 模板工程:LazyUI-template
提供Maven管理的,基於Spring+Testng的,包含常用瀏覽器driver的,方便連接各種數據庫的java模板工程,並提供以百度搜索為例的第一個測試用例。
獲取地址:https://github.com/lazytest/LazyTest-UI-Template/archive/master.zip
小結
本文簡單介紹了LazyUI框架,后續文章會手把手詳解LazyUI的入手使用,歡迎繼續閱讀。