1

問題を再現する手順は何ですか?
1. 1 つのアクティビティを持つダミーの AUT Android ネイティブ アプリを作成します。
2. テスト用の robotium プロジェクトを作成します
。 3. テスト用のプロジェクトで、"AndroidTestUtility.jar" ファイル (ここでは添付できません) を libs フォルダーに robotium 3.6 jar ファイルと共に追加します。
4. 「AndroidTestUtility.jar」は、セットアップと破棄を単独で処理します。
5. 以下のようなコードを追加します。

private static final String TARGET_PACKAGE_ID ="com.sap.esm.retail";
private static final String LAUNCHER_ACTIVITY_FULL_CLASSNAME2 ="com.sap.esm.retail.MobileRetailingActivity"; // First Activity


 public InitialTest() throws ClassNotFoundException {
            super(TARGET_PACKAGE_ID,LAUNCHER_ACTIVITY_FULL_CLASSNAME2);

 }

6. ロボティウムが実行するサンプル テスト メソッドを追加します。
7. Android Junit テストを実行します。
8. logcat に表示されるエラー メッセージ:

Could not find class 'android.support.v4.app.FragmentActivity', referenced from method com.jayway.android.robotium.solo.Waiter.getSupportFragment
  1. 表示される IDE のエラー メッセージ:
    java.lang.NullPointerException

期待される出力は何ですか?代わりに何が見えますか?

テスト フレームワーク「AndroidTestUtility」は、テスト ロボティウム プロジェクトのメイン クラスによって拡張されます。期待される出力は、アクティビティの起動と、その後の自動化されたステップであるはずです。実際の出力は、アクティビティが起動されますが、自動化されたステップ (単独のステートメント) は実行されません。エラー メッセージは、添付のスクリーンショットに示されています。

使用している製品のバージョンは何ですか? どのオペレーティングシステムで?
Windows 7 64 ビット、Android ADT バンドル、Robotium 3.6 (3.4.1 もチェック)、ターゲット: Android API 15

誰でもここで私を助けることができますか?

よろしくお願いいたします。

アビシェーク

4

1 に答える 1

2

サポート フラグメントを待機するロボティウム メソッドを使用するには、いずれかの APK で Android サポート v4 ライブラリをエクスポートする必要があります。通常、これは実際にそれを使用している (フラグメントを表示している) 部分であるため、AUT にあります。プロジェクトはクラスのそれらのインスタンスを使用できるようになります。

したがって、これを修正するには、テスト プロジェクトまたはアプリケーション プロジェクトの lib フォルダーに android-support-v4.jar を含めます。

于 2013-02-15T08:08:52.057 に答える