3

BlackBerry デバイスへの展開を自動化しようとしています。私の全体的な目標は、スクリプトを使用してアプリを BlackBerry デバイスにインストールし、テスト スイートを実行して、最後にログ ファイルをダウンロードすることです。

ANT スクリプトを使用してビルドとインストールが可能であり、javaloader を使用してログ ファイルをダウンロードできることはわかっていますが、テスト スイートの実行に問題があることがわかりました。

デバイスでアプリを起動する方法はありますか? または、少なくとも入力イベントを送信しますか? fledge と fledgecontroller にはこれらの機能の一部があると思いますが、物理デバイスでこれを行うことを検討しています。

4

1 に答える 1

2

独自の自動テストがあります。

  1. junit形式で出力を生成する独自の種類のj2meunit
  2. それを実行する追加のアプリケーション
  3. 構築し、 fledgeを開始し、テストが完了するまで待機するantタスク
  4. CI ( TeamCity ) がテスト結果を分析します

いくつかの重要な詳細:

  1. fledge SDカードをPCフォルダにマウント
  2. テスト アプリケーションには自動開始フラグがあります。そのため、開始するために何もする必要はありません
  3. テスト アプリは、PC 上のファイル マーカーを介してAntタスクと通信します。

    • started.test ファイルは、アプリの起動時に作成されます
    • アプリケーションがすべてのテストを実行すると、 finished.test ファイルが作成されます

これは完全な解決策ではありませんが、機能します。同様に、これらのテストからのフィードバックがどれくらい続くか、すべての開発者がこれらのテストをサポートすることに反対していることも理解できます。

幸いなことに、私たちはより良いアプローチを採用しています。つまり、可能な限りデスクトップでjunitテストを使用しています。コードに BlackBerry API 呼び出しが含まれている場合は、独自の偽のクラスを作成する前に使用し、最近では可能な限りPowerMockを使用しています。これも非常に難しい場合がありますが、ほとんど常に機能しています。

SocketConnection確かに、これらのテストは、さまざまなパラメーターを使用した信頼性、データベースの移行、サーバーとの統合テストなどの機能テストをカバーしていません。しかし、これらの領域では通常、sim が実際のデバイスとして機能しないことがわかりました。実際のデバイスでの一連の異なる動作を比較する作業は非常に理想的です。そのため、サーバーとの通信の統合テストのみを sim で実行します。多くはありません。

ちなみに、私たちは BB にSQLite DBを落とし、永続ストレージに切り替えました。これは完全に遅く、5 つの OS の古いデバイスですべてのデバイスがハングアップするためです (新しいデバイスでも大きな問題になる場合があります)。

自動化された方法でアプリをテストしている BlackBerry 開発者に心から敬意を表します。そんな才能は滅多にない

于 2013-01-11T06:18:57.980 に答える