如何做UI自動化?這裏有一份Java Selenium UI自動化框架等着你!

本人博客目錄鏈接

一、GitHub鏈接

項目網址鏈接:
https://github.com/yff9802/Java_Selenium
代碼克隆鏈接:
[email protected]:yff9802/Java_Selenium.git SSH方式
https://github.com/yff9802/Java_Selenium.git HTTPS方式

二、框架結構圖

框架用到Java+Maven+Selenium+Tesng+Jedis+Jenkins持續集成除去Jenkins持續集成,其他相關知識點和知識點的參考鏈接都在框架代碼中有寫到,可以克隆代碼後學習。由於是該框架在工作中用到,在框架中實際的案例中,將系統登錄的方法註釋掉並將相關信息刪除,所以實際是運行不了。但是整體框架的知識點都已體現出來,只是把具體的業務代碼刪除和登錄的網址、賬號、密碼、服務器IP都註釋了。

在這裏插入圖片描述
在這裏插入圖片描述

  • main
    • java
      • base
        • DriverBase:封裝啓動本地或遠程的各種瀏覽器的類
        • JedisBase:封裝利用JedisPool獲取和歸還Jedis對象,操作Redis
      • utils
        • MyRemoteWebDriver:用於啓動遠程WebDriver的類
        • PropertyReader:讀取Properties的類
        • ScreenShot:截圖工具類
        • ThreadLocalUtil:用於操作_ThreadLocal的工具類_
    • resources
      • log4j2.xml:log4j2的配置文件、控制檯輸出和文件滾動輸出
  • test
    • java
      • listener
        • TestLogListener:Testng監聽接口TestListenerAdapter實現類,用於測試方法不同的操作
        • TestReportListener:Testng自定義報告IReporter接口實現類,用於自定義結果報告
      • test
        • base
          • BaseTest
          • TimeBaseOpt:WebDriverWait,隱式等待相關設置
        • common
          • 封裝頁面共用方法,用於Page層調用
        • data
          • 數據層:數據常量做數據驅動,動態數據用jedis對象來保存
        • locator
          • 定位層:用於存放對應頁面相關元素的xpath定位
        • page
          • 邏輯層:具體每個測試用例的業務邏輯編寫
        • test
          • 業務層:利用Test註解及相關配置,封裝成對應的測試方法
      • util
        • 相關工具方法,例如獲取當前時間(爲了實際業務中單據編號不重複)、操作Excel、文件相關操作等
    • resources
      • config
        • config.properties:將配置文件,例如瀏覽器Driver路徑、Redis的IP、端口等
      • download
        • 定義的文件下載的默認路徑
      • drivers
        • 存放各種瀏覽器的driver文件
      • report
        • template.html:生產的測試報告的模板文件,會在報告監聽器中用到
  • pom.xml:Maven配置文件
  • testng.xml:實際運行的文件

三、框架運行注意點及運行大體邏輯

3.1 運行注意點

  1. 由於框架中用到Jedis,所以在本地運行Testng.xml文件的時候,需要打開Redis。
  2. 運行的時候一般都是運行的對應的xml文件。

3.2運行大體邏輯

下面是一個大體的運行邏輯,然後就是監聽器監聽執行的@Test的方法,並輸出日誌、錯誤時截圖、運行完成後生成報告等。
在這裏插入圖片描述

3.3運行結果報告

報告.html

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章