3

Hudson をインストールしたところ、問題なく動作しています。ビルド、JUnit テストの実行、および CheckStyle 分析も行います。

次のステップは、インストールを作成してインストールし、実際のインストールで自動テストを実行することです。テストが失敗した場合、または少なくとも何らかの形で結果を公開した場合は、ビルドを失敗させたいと思います。部分が定期的に実行されるか、手動でトリガーされるように設定すると思います。

インストールには InstallAnywhere を使用し、自動テストには IBM Rational Functional Tester を使用します。

質問は次のとおりです。誰かが同様のセットアップを作成しましたか? 私に役立つプラグイン、チュートリアル、またはその他のリソースはありますか。または、一般的なヒントやアドバイスはありますか。

4

4 に答える 4

6

Rational Functional Tester のコマンド行リファレンス:

http://publib.boulder.ibm.com/infocenter/rfthelp/v8r0m0/index.jsp?topic=/com.ibm.rational.test.ft.doc/topics/RobotJCommandLine.html

テストを実行するためのサンプル コマンド:

java -classpath "C:\IBM\RFT\FunctionalTester\bin\rational_ft.jar" 
com.rational.test.ft.rational_ft -datastore \\My_project\AUser\RobotJProjects -user admin -project
\\My_project\AUser\TestManagerProjects\Test.rsp -build "Build 1" -logfolder "Default" -log  
"Al_SimpleClassicsA#1" -rt.log_format "TestManager" -rt.bring_up_logviewer true -playback 
basetests.SimpleClassicsA_01

追加の注意として、テストを実行するエージェント マシンで Windows を適切に構成する必要があります。これは Hudson や RFT に固有のアドバイスではなく、Windows 上のすべての GUI 自動化ツールです。RFT でボタンなどをクリックできるようにするには、インタラクティブなデスクトップ環境が必要です。Hudson エージェントを Windows サービスとして実行している場合、デスクトップはありません。以下を参照してください: RDP 接続が開かれていない限り、Silverlight テストが機能しない

于 2009-12-16T14:36:30.907 に答える
3

Hudson でかなり複雑な分散ビルドを実行しました。これは基本的に次のプロセスです。

  1. Windows でテストします。
  2. OSX でテストし、コード カバレッジを実行して、結果をサーバーにプッシュします。
  3. OSX Tiger でテストします。
  4. OSX Leopard 用のパッケージとサーバーへのプッシュ ビルド。
  5. Windows 用のパッケージとサーバーへのプッシュ ビルド。
  6. 製品の Web サイトを更新します。

InstallAnywhere や Rational Functional Tester は使用しませんが、代わりに同様の種類のメカニズムがあります。Hudson ですべてを機能させるために見つけた鍵は、コマンド ラインからさまざまなステップを実行できることでした。Maven と適切なプラグインにより、このタスクは短時間で完了しました。したがって、私のアドバイスは、使用しているビルドツール (ant、maven、?) を使用して、合理的な機能テスターを実行し、ビルドツールに渡された単純な目標を使用してコマンドラインからどこにでもインストールできるように構成することです (すなわち、mvn test または mvn assembly:assembly)。

その後、Hudson が実行されているマシンにすべてがインストールされ (Rational Functional Tester など)、構成されていることを確認してください。これにより、コマンド ラインを開いてゴールを入力し、テストを正しく実行できるようになります。

その時点から Hudson に接続するのは非常に簡単です。ビルドを構成するときにゴールを渡すだけです。

于 2009-12-16T12:35:36.007 に答える
1

最良の答えは、RFT を Hudson/Jenkins と統合することは無益な試みであるということだと思います。

このIBM FAQにあるように、RFT を機能させるには、次のことを行う必要があります。

  • マシンにログインする。
  • 画面をロックできません。
  • リモート接続している場合は、接続画面を最小化できません。

そのため、Jenkins/Hudson をサービスとして実行することはできず、あまり役に立ちません。ログインしたアカウントから実行する必要があります。会社のコンピュータを使用している場合 (RFT を使用している場合は非常に可能性が高い)、おそらくハックを使用してスクリーン セーバーが起動しないようにする必要があります。画面がロックされている場合、テストは常に失敗します。

コマンド ラインからテストを実行するように構成することはそれほど難しくありません。テストが失敗した場合と成功した場合のリターン コードに注意するだけで済みます。

Jenkins/Hudson は、テストをバージョン管理に統合するなど、いくつかの利点も提供します。おそらく、コミットが行われたときに自動的にテストを実行します。また、テストが失敗したときに電子メールを送信するのにも役立ちます。

ただし、優れたレポートを作成するには、RFT ログをある種の JUnit プラグインと統合する必要があります。また、コマンド ラインを使用してテストを実行するためのスクリプトも必要です。

RFT で継続的インテグレーション サーバーを使用するのは面倒だと思います。Windows タスク スケジューラで毎日テストを実行することをお勧めします。これは、障害点が少ない、より単純なソリューションです。

または、私の最終的な解決策を使用してください。RFT を終了し、ヘッドレス Web ドライバーで無料の Selenium を使用します。

于 2016-05-19T22:06:03.590 に答える
0

私はまだこれを自分で実装していないので、これについていくつかの一般的なアドバイスがあります。ビルドまたは Hudson プロセスを介して、Hudson に RFT スクリプトを自動的に実行させたいと思いますか? 私の組織にも同様のものを実装したいと考えています。

組織の制約のため、これをまだ実装できていませんが、これまでに考え/実行したことは次のとおりです。

  1. Windows プロセス ビューアーをダウンロードし、テストを実行するためのコマンドを取得しました。
  2. それからシェルスクリプトを作成し、変数などを分離しました
  3. 将来の計画は、テストが開始されたときに必要となるすべてのツールを搭載した Windows スレーブ マシンをセットアップすることです。正しいバージョンのブラウザー、環境変数、および必要なその他のツール。
  4. Hudson は、すべての RFT スクリプトを実行し、スレーブ マシンで必要な操作を実行する、作成されたシェル スクリプトを実行するプロセスを開始します。
于 2010-07-21T18:04:36.563 に答える