[Maven+Gem]大規模企業向けの自動化テストツール


本文は転載して作者に連絡して、qq 252413619に連絡してください
一.目的と区別
私は2010年に国内の有名な検索エンジンのサービス会社で働いて、主にホームページの先端の自動化のテストツールの開発を担当して、私達の当時のやり方はすでに実は現在のホームページの自動化のテスト方法と基本的に一致して、つまりwatirとwatir-webdriverの上で1セットの自分のパッケージの層を開発して、しかし当時cucumberを導入してBDDをしていません他のテスト担当者にRUBYスクリプトを直接作成させ、requireが作成したパッケージ層は、理論的にはgemにパッケージされていないだけで、テストも行われていません.このプロセスで直面する最大の困難は、パッケージ層を各テスト担当者のコンピュータに配置し、各テスト担当者にrubyスクリプトの作成を指導することです.したがって,以上述べたpointはいずれも大手ウェブサイトサービス業者向けのテストツール開発の基本的な弱点であり,中型企業と大手企業のためのテストツール開発の違いでもある.
大手企業のためにテストツールを開発するには、AGILEの方法を導入しなければならない.しかし、本文はAGILEの方法を再说することはできません.主な内容はどのようにBUILDあなたの最初の全体的なMAVENアーキテクチャを话して、どのようにMAVENを利用して自分のgemあるいはruby homeを开発して発表します.
二.全体的な考え方.
主に2つの方法があります
1つは、従来のgemにパッケージ化され、すべてのテスト担当者に送信され、ローカルgemをインストールさせることです.前提条件は、各テスト担当者が同じバージョンのrubyまたはjrubyをインストールしなければならないことです.この点では制御しにくいため、この方法の利点は便利で速いことですが、欠点は、インフラストラクチャのバージョンを管理できないことです.
二つ目はruby home全体をzipリリースにパッケージ化することです.rubyのディレクトリプログラムはインストールする必要がないので、どのコンピュータにコピーしても直接使用できます.ruby homeを設定するだけでいいです.ideを使って開発することもできます.このような方法は私が主にお勧めします.すべてのバージョンはテストツール開発者が把握しています.rubyのバージョンが変化したり、rubyにインストールされている他のgemの影響で、テストフレームワーク全体が不安定になったり、完全にクラッシュしたりすることはありません.
三.mavenプロジェクトのディレクトリ構造
-RobinJ (Project name)
   -- org.robinj.robinj-gem
   -- org.robinj.jrubyhome
   -- org.robinj.test
         -- org.robinj.test.chrome
         -- org.robinj.test.firefox
         -- org.robinj.test.ie
四.モジュールの紹介

            import jruby complete and own gems
            process-resources
            
              copy
            
            
              
                
                  org.jruby
                  jruby-complete
                  ${jruby.version}
                  jar
                  true
                  ${basedir}/tmp
                
                
                  org.robinj
                  robinj-gem
                  ${project.parent.version}
                  gem
                  ${basedir}
                
              
            

以上の方法で、自分のgemをjruby homeのインストールディレクトリにコピーし、以下の方法であなたのgemをローカルのjruby homeにインストールできます.
    

        org.jruby.plugins
        jruby-rake-plugin
        ${jruby.version}
          
            install complementary gems
            process-resources
            
              jruby
            
            
              -S gem install ${gems.options} ${gems.list}