<nav id="iugoa"></nav>
  • <xmp id="iugoa"><menu id="iugoa"></menu>
    <menu id="iugoa"><strong id="iugoa"></strong></menu>
  • <nav id="iugoa"></nav>
    <menu id="iugoa"></menu>
    <menu id="iugoa"><strong id="iugoa"></strong></menu>
    Java知識分享網 - 輕松學習從此開始!????

    Java知識分享網

    Java1234官方群24:java1234官方群24
    Java1234官方群24:791563025
         

    Mycat實現mysql高可用集群視頻教程免費領取

    畢設代做,包查重聯系人QQ:1982956321畢設大神

    領取國內優秀就業,加薪,跳槽項目課程源碼-vue2+jwt+springboot+mybaits前后端分離通訊錄系統課程

    SpringBoot打造企業級進銷存

    Java1234 VIP課程

    領取微信掃碼登錄Java實現視頻教程

    Java1234至尊VIP(特價活動)
    當前位置: 主頁 > Java文檔 > Java基礎相關 >

    基于pytest和JMeter的自動化測試系統設計和實現


    分享到:
    時間:2020-04-14 17:35來源:http://www.gemtrap.cn 作者:小鋒  侵權舉報
    基于pytest和JMeter的自動化測試系統設計和實現 PDF 下載
    失效鏈接處理
    基于pytest和JMeter的自動化測試系統設計和實現  PDF 下載

    本站整理下載:
     
    相關截圖:
     
    主要內容:
    0 引 言
    自動化測試是軟件測試未來的發展方向,自動
    化測試中往往會遇到測試腳本管理困難、測試效率
    低等問題[1-4]。如何選用合適的測試工具和搭建有
    效的測試框架是測試工程師一直在研究的問題。
    JMeter 作為一種功能豐富的測試工具受到了廣泛關
    注和研究[2-5]。Apache JMeter 是一個基于 Java 語言
    的開源工具,可以用于軟件的功能測試和性能測試。
    在被測系統功能越來越多,結構越來越復雜的今天,
    測試用例往往非常龐大,一個回歸測試就需要幾十
    或上百 個 JMeter 腳本組成的測試集。單 純 使 用
    JMeter 時會存在以下問題。 ( 1) 測試用例的管理。JMeter 本身不提供測試
    集的管理功能,多個 JMeter 腳本的執行一般需要測
    試人員手動整理出測試計劃中應該包含的測試用
    例。手動在命令行啟動 JMeter 命令,并在發生錯誤
    時進行人工排查,達不到一鍵執行和無人值守。 ( 2) 大量腳本的執行效率問題。JMeter 自帶遠
    程執行功能只是針對一個腳本中的多個步驟并行,
    不支持多個 JMeter 腳本的并行執行。需要實現多
    個測試用例的并行執行時,需要自行編寫復雜的調
    度程序或者測試人員人工介入。前者成本較高,后
    者無法實現完全的自動化。
    本文設計并實現了一種基于 pytest 的自動化測
    試系統,具有如下特點: ( 1) 充分利用 pytest 本身的功能和豐富的插件,
    只需編寫少量代碼、簡單輕量、可以快速部署。 ( 2) 實現了多 JMeter 腳本的管理,可以一鍵執
    行測試集,并在腳本執行中自動進行異常重試,實現
    了無人值守。 ( 3) 進行遠程分布式執行,使得在遇到測試資
    源瓶頸時,快速進行測試執行機的橫向擴展來提高
    測試計劃的執行效率。 ( 4) 自動生成 JUnit 格式報告,可以方便的與持
    續集成系統進行集成,生成各種測試報告和圖表。 1 基于 pytest 的自動化測試系統
    1.1 pytest
    pytest 是基于 Python 語言的一種自動化測試框
    架,本身具有 Python 語言的良好的跨平臺性和簡單
    易上手的優點[6-9]。pytest 可以用于單元測試或功
    能測試,相比其它測試框架,具有以下優點: ( 1) 簡單靈活,容易上手。 ( 2) 支持測試用例的參數化。 ( 3) 能支持簡單的單元測試和復雜的功能測試。 ( 4) 具有較多第三方插件,并可以自定義擴展。 ( 5) 執行測試過程中可將某些測試跳過,或對
    某些預期失敗的用例標記成失敗。 ( 6) 支持多種格式的測試報告,可很好地與持
    續系統集成。
    基于上述優點,pytest 已經成為 Python 中最流
    行的測試框架之一。
    1.2 系統結構介紹
    該框架主要分為 4 個模塊,自動化測試系統結
    構如圖 1 所示。
    !"#$ %& ’() *+,- ./#$ 0123
    !"#45
    6( 78 9:;<
    ’()=>
    $%&’#()#
    * + ,-#()#
    ,-=>
    ./? 0123
    => ./?
    ./? 圖 1 分布式自動化測試系統結構圖
    Fig. 1 Structure diagram of distributed automated testing system
    ( 1) 初始化模塊。用于讀取配置文件,獲取測
    試要執行的各種參數; 從 Git 倉庫拉取最新的 JMeter
    腳本文件,轉換腳本文件為 pytest 的測試用例參數;
    建立與測試執行機的 SSH 連 接,同 步 要 執 行 的
    JMeter 腳本到各個測試執行機; 在測試執行機上創
    建子進程等待測試任務的分配。 ( 2) 任務調度模塊。根據調度算法,分配測試
    腳本到不同的執行機上的子進程。 ( 3) 測試執行模塊。在子進程中執行測試腳
    本,通過解析 JMeter 生成的 xml 格式的報告,判斷測
    試執行是否成功。 ( 4) 報告收集模塊。將所有測試執行機生成的
    多個測試腳本的報告收集回調度機,生成整個測試
    計劃的報告。
    1.3 基于 pytest 的自動化測試流程
    本文的自動化測試系統工作流程如圖 2 所示。 ( 1) 調用入口程序觸發一次測試計劃的執行,
    進行測試計劃配置文件的讀取,得到要執行的腳本
    Git 倉庫地址和測試用例目錄、測試環境等參數,并
    啟動 pytest 主程序。
    !"#$ %&’(
    )* +,-.*
    /012
    3456
    %&78 9:-.4;
    9:<=>?
    @$AB
    !"#!$%&’
    ()* #$*-.
    +,"!"-CD
    E-.*/FG
    HI#$012
    J()*KL
    +."!"-CD’#
    $*
    M.(/’)!"#!
    0NOPQRST
    UVWBX
    YZ 1 2 2 1 圖 2 自動化測試流程圖
    Fig. 2 Flow chart of automated testing
    ( 2) conftest.py 作為 pytest 主程序的默認參數化
    文件。本系統在其中實現了測試用例的獲取和轉
    換。包括遍歷測試目錄、得到測試腳本的名稱和路
    徑、排除不執行的用例 ( skip case 和 known error
    case) 、組成 pytest 需要的參數化變量。 ( 3) pytest 主進程開始執行,首先從調度機同步
    需要執行的測試腳本文件到各個執行機,進行測試
    任務的調度和分發。 ( 4) 測試執行機啟動 JMeter 進程,執行 JMeter
    腳本,并通過解析 xml 判斷是否執行成功。為了排
    除測試環境不穩定造成的測試失敗,本系統實現了
    失敗重跑機制,即每個測試有一個最大重試次數,當
    測試失敗時,會判斷是否已經達到最大的重試次數。
    當沒有達到時,會對測試用例進行重復執行,取成功
    的一次執行作為最終結果,直到達到最大重試次數。
    實踐表明,這種機制可以降低測試環境不穩定時測
    試結果的誤報率。另外,為了防止單個測試用例執
    行時間過長導致整個測試計劃執行時間過長,本系
    統實現了超時結束機制,即設置單個測試用例執行
    時間的最大值,當某個測試用例的執行時間超過這
    個最大值時,殺掉當前測試用例的子進程,并標記測
    試結果為失敗。 ( 5) 所有用例執行完成時,由調度機收集在測
    試執行機上生成的測試用例報告,并合并多個測試
    用例報告為整個測試計劃的匯總報告。
    1.4 自動化測試系統的主要技術
    1.4.1 用例的管理
    通過使用 pytest 的參數化用例方法實現 JMeter
    腳本到 pytest 測試用例的轉變。由 pytest 實現測試

     

    ------分隔線----------------------------
    鋒哥公眾號


    鋒哥微信號


    在线aav片线 - 视频 - 在线观看 - 影视资讯 - 品爱网