2

Android 4.0でGoogleマップを使用していますが、次のことを知りたいです。

Google Maps APIと相互作用できるテストフレームワーク(または何か..)はありますか?AndroidでGoogleマップを操作/テストするときの可能性は何ですか?マップ上のすべてのピンを見つけてクリックしたり、ズームレベルを決定したりすることはできませんか?

このウェブサイトには、同様の問題や質問に答えのない質問がいくつかあるようです。

「との相互作用」は広義の用語だと思います。それが提案であろうと、単に何かが不可能であると私に言うだけであろうと、私は本当にどんな種類の助けも探しています。

私はJUnitを使用していますが、それ自体が制限されているようです。私が行う必要のあるテストの大部分はUIベースであるため、ちょうど今日、私はRobotiumを見始めました。私はRobotiumを初めて使用するので、これで可能かもしれませんが、まだ発見していませんか?

4

2 に答える 2

3

私たちのチームがGoogleマップを使用するAndroidアプリケーションを作成したとき、マップフラグメントのR.idを使用してテストを作成することができました。私はアプリケーションのコードにアクセスできたので、どの変数を探すべきかを知っていたことに注意することが重要です。

このテストを作成する前に、正しいR.idをターゲットにしていることを確認したかったので、Rファイルに移動し、値をコピーして、

assertEquals(id.satellite,copiedRValue);

これはtrueを返し、変更可能な変数を中心にテストを構築します

 initialID = solo.waitForFragmentById(id.satellite); //where id.satellite is defined in the R file, eventually would time out and throw error if fragment was not present
    //save the map type, leave
    //and do other awsome stuff
    //before coming back to the map
  finalID = solo.waitForFragmentById(id.satellite);//capture the map fragment that is now displayed, again would time out if this specific fragment was not visible

    //assert that the fragments are equal
     assertTrue(initialID.equals(finalID);

このテストと他のRobotiumテストで私が抱えていた最大の問題は、メニューを取り込むためにクリックイベントが発生し、Robotiumがクリックを実行せず、クリックでテストが失敗することでした。

Robotiumでのテストはこれが初めてだったので、R.id値を操作してより厳密なテストを作成する他の方法があるかもしれません。

于 2013-12-20T20:21:14.203 に答える
1

多くの検索の後で誰かが知りたいと思う場合に備えて、私はついにグーグルマップをテストすることができる何かを見つけました。ズームレベルやタップピン(メソッドはtapMapMarkerItem()と呼ばれます)などがサポートされていると思います。私はまだピンタップをテストしていません。どうやら素晴らしいRobotiumはそれ自体でマップテストをサポートしていません。Nicholas Albionは、Androidでのマップのテストサポートを提供する拡張機能を作成するのに十分な機能を備えていました。ニコラスありがとうございます!



1. Robotium jarをrobotium.orgからダウンロードします(これは http://www.vogella.com/articles/AndroidTesting/article.html-Lars Vogelによるものです) 2。httpsから
拡張機能をダウンロードします。 //github.com/nalbion/robotium-maps

于 2013-01-10T02:37:41.290 に答える