2011-10-20 4 views
1

私はRobotiumを使用して、書かれたbu monodroidを駆動しようとしています。テストアプリを通じてアプリケーションを呼び出す際に問題があるようです。 Robotiumは、Android ActivityInstrumentationTestCase2を使用してテストとターゲットアプリケーションを初期化するように見えますが、パッケージや主なアクティビティで混乱するように見えるものもあります... 私は確信していますが、違いがあると感じていますJavaのパッケージ構造とC#でどのように名前空間が使用されていますか?モノドロイドアプリケーションに対してrobotiumやnativedriverを試してみましたか?android ActivityInstrumentationTestCase2をmonodroidアプリケーションのagaisntに使用できますか?

I/dalvikvm( 487): DALVIK THREADS: 
I/dalvikvm( 487): "main" prio=5 tid=1 RUNNABLE 
I/dalvikvm( 487): | group="main" sCount=0 dsCount=0 s=N obj=0x4001d8e0 self=0xccb0 
I/dalvikvm( 487): | sysTid=487 nice=0 sched=0/0 cgrp=default handle=-1345026008 
I/dalvikvm( 487): | schedstat=(3609087971 361797990 223) 
I/dalvikvm( 487): at java.lang.Class.getDeclaredConstructors(Native Method) 
I/dalvikvm( 487): at java.lang.Class.getConstructors(Class.java:499) 
I/dalvikvm( 487): at android.test.suitebuilder.TestGrouping$TestCasePredicate.hasValidConstructor(TestGrouping.java:226) 
I/dalvikvm( 487): at android.test.suitebuilder.TestGrouping$TestCasePredicate.apply(TestGrouping.java:215) 
I/dalvikvm( 487): at android.test.suitebuilder.TestGrouping$TestCasePredicate.apply(TestGrouping.java:211) 
I/dalvikvm( 487): at android.test.suitebuilder.TestGrouping.select(TestGrouping.java:170) 
I/dalvikvm( 487): at android.test.suitebuilder.TestGrouping.selectTestClasses(TestGrouping.java:160) 
I/dalvikvm( 487): at android.test.suitebuilder.TestGrouping.testCaseClassesInPackage(TestGrouping.java:154) 
I/dalvikvm( 487): at android.test.suitebuilder.TestGrouping.addPackagesRecursive(TestGrouping.java:115) 
I/dalvikvm( 487): at android.test.suitebuilder.TestSuiteBuilder.includePackages(TestSuiteBuilder.java:103) 
I/dalvikvm( 487): at android.test.InstrumentationTestRunner.onCreate(InstrumentationTestRunner.java:360) 
I/dalvikvm( 487): at android.app.ActivityThread.handleBindApplication(ActivityThread.java:4218) 
I/dalvikvm( 487): at android.app.ActivityThread.access$3000(ActivityThread.java:125) 
I/dalvikvm( 487): at android.app.ActivityThread$H.handleMessage(ActivityThread.java:2071) 
I/dalvikvm( 487): at android.os.Handler.dispatchMessage(Handler.java:99) 
I/dalvikvm( 487): at android.os.Looper.loop(Looper.java:123) 
I/dalvikvm( 487): at android.app.ActivityThread.main(ActivityThread.java:4627) 
I/dalvikvm( 487): at java.lang.reflect.Method.invokeNative(Native Method) 
I/dalvikvm( 487): at java.lang.reflect.Method.invoke(Method.java:521) 
I/dalvikvm( 487): at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:868) 
I/dalvikvm( 487): at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:626) 
I/dalvikvm( 487): at dalvik.system.NativeStart.main(Native Method) 

私は質問が約C#クラスのJavaクラスの使用反射することができますする必要があります推測しますか?

もっと重要なこと... モノトーンでアンドロイド計測をサポートするアンドロイドActivityInstrumentationTestCase2のようなものが実装されていますか? 、またはActivityInstrumentationTestCase2を使用するテストアプリを使用してモノドロイドアプリを呼び出す方法がありますか?

答えて

0

私はrobotiumについてはわかりませんが、チームのメンバーはネイティブドライバを探していました。ネイティブドライバはMonoにはJavaのnativeメソッドの呼び出しを呼び出すため、Mono for Androidアプリケーションは中断しますチャンスを初期化する。

私たちは修正に取り組んでいますが、いつ終了して公開するのか分かりません。 JavaはC#型に反射するように:-(

、それは現在可能ではない。Javaは、唯一Android Callable Wrappers介してC#コードを呼び出すことができるすべてのJava.Lang.Objectサブクラスのために生成され、そしてあるすべてのJavaインターフェイスのメソッド宣言を生成します実装され、オーバーライドされた基底クラスメソッド...

関連する問題