• <ruby id="5koa6"></ruby>
    <ruby id="5koa6"><option id="5koa6"><thead id="5koa6"></thead></option></ruby>

    <progress id="5koa6"></progress>

  • <strong id="5koa6"></strong>
    • 軟件測試技術
    • 軟件測試博客
    • 軟件測試視頻
    • 開源軟件測試技術
    • 軟件測試論壇
    • 軟件測試沙龍
    • 軟件測試資料下載
    • 軟件測試雜志
    • 軟件測試人才招聘
      暫時沒有公告

    字號: | 推薦給好友 上一篇 | 下一篇

    Perl 多進程技術在自動化測試中的應用

    發布: 2011-1-26 09:21 | 作者: 不詳 | 來源: 領測測試網采編 | 查看: 82次 | 進入軟件測試論壇討論

    領測軟件測試網

      my $collect;

      while(($collect = waitpid(-1, WNOHANG)) > 0) {

      $kid_proc_num--;

      }

      }

      if($kid_proc_num==0) { last; }

      else { next; }

      }

      以上的代碼采用多進程方式同時處理了對 3 個測試設備的配置操作,然后主進程等待所有配置操作完成,再進行后續的測試。

      另外一種情況較為復雜,就是經常需要針對數百個主機和存儲進行配置、狀態查詢等,而且配置結果和查詢狀態需要返回主進程處理,然后根據結果數據再決定如何繼續。對于這種情況,主進程需要生成數百個子進程,而且每個子進程都有大量的信息返回給主進程來處理。這樣處理數百個子進程的生成:由于多進程方式占用系統資源較多,因此設定一個允許主進程同時運行的最多子進程數目,然后在有子進程結束時,主進程再生成新的子進程至所有的子任務完成。這樣處理主進程和子進程的通信和信息交互:由于測試 Perl 腳本運行平臺為 Linux,它是帶有 BSD 風格的 POSIX 兼容的系統,會提供可靠的信號,所以仍然使用系統提供信號的來獲取子進程結束的消息;對于子進程的返回信息,采用為每個子進程產生一個臨時文件用于存儲返回的所有信息,最后主進程來處理這些文件從而獲取每個子任務的結果信息。如下是為這種情況設計的多進程處理方式的軟件流圖。

      圖 3. 軟件流圖

    圖 3. 軟件流圖

      下面以登錄每個主機檢查運行狀態的例子給出多進程處理數百個子任務的代碼。

      清單 2. 多進程處理數百個子任務

    延伸閱讀

    文章來源于領測軟件測試網 http://www.kjueaiud.com/


    關于領測軟件測試網 | 領測軟件測試網合作伙伴 | 廣告服務 | 投稿指南 | 聯系我們 | 網站地圖 | 友情鏈接
    版權所有(C) 2003-2010 TestAge(領測軟件測試網)|領測國際科技(北京)有限公司|軟件測試工程師培訓網 All Rights Reserved
    北京市海淀區中關村南大街9號北京理工科技大廈1402室 京ICP備2023014753號-2
    技術支持和業務聯系:info@testage.com.cn 電話:010-51297073

    軟件測試 | 領測國際ISTQBISTQB官網TMMiTMMi認證國際軟件測試工程師認證領測軟件測試網

    老湿亚洲永久精品ww47香蕉图片_日韩欧美中文字幕北美法律_国产AV永久无码天堂影院_久久婷婷综合色丁香五月

  • <ruby id="5koa6"></ruby>
    <ruby id="5koa6"><option id="5koa6"><thead id="5koa6"></thead></option></ruby>

    <progress id="5koa6"></progress>

  • <strong id="5koa6"></strong>