如何针对发布版本APK运行Android/Robotium Instrumentation测试用例?
我有一个Android项目设置,其纯Java单元测试项目在PC上运行,其功能/集成测试项目在Emulator上运行。这两种方法利用了如何针对发布版本APK运行Android/Robotium Instrumentation测试用例?,android,automated-tests,release,robotium,Android,Automated Tests,Release,Robotium,我有一个Android项目设置,其纯Java单元测试项目在PC上运行,其功能/集成测试项目在Emulator上运行。这两种方法利用了InstrumentationTestCase2测试用例和Robotium框架。我能够在Eclipse中运行这两个,并对我的应用程序进行调试并收集结果等等 我能够通过Eclipse导出和Ant构建创建一个发布APK。APK经过签名、zipaligned和模糊处理 我想知道如何对我的应用程序的版本运行这些功能/集成测试,而不是调试版本。我知道我可能会遇到一些错误,因为
InstrumentationTestCase2
测试用例和Robotium框架。我能够在Eclipse中运行这两个,并对我的应用程序进行调试并收集结果等等
我能够通过Eclipse导出和Ant构建创建一个发布APK。APK经过签名、zipaligned和模糊处理
我想知道如何对我的应用程序的版本运行这些功能/集成测试,而不是调试版本。我知道我可能会遇到一些错误,因为AppProject包含一些只测试的类,这些类可能已经被Proguard删除了,但我可以处理
我在谷歌上搜索,在这里搜索,但没有运气。只有一个页面与Robotium测试相关,而你只有应用程序的APK,没有来源。我不确定这是否真的对我有帮助。
如何让测试项目在设备上针对发布版APK运行?您需要将ant.properties放在目标应用程序和测试应用程序的项目根目录中。 ant.properties的内容应如下所示:
key.alias=
key.store.password=
key.store=
key.alias.password=
##--------------- Begin: proguard configuration for Robotium ----------
-keep class com.robotium.** { *;}
##--------------- End: proguard configuration for Robotium ----------
希望有帮助。您好。谢谢你的回答。我认为这是创建发布APK(签名等等)所必需的。这一行动已经开始。我所追求的是对发布版本APK运行功能/集成测试。目前我不在该项目中工作,但知道答案仍然很有用。另外,@Frank已经悬赏了。你能详细说明一下如何进行吗?我的意思是:好吧,假设你用相同的(Release)键签署了Debug APK和Release APK。那你怎么走得更远呢?谢谢签名后,您必须安装测试中的发布应用程序和测试机器人应用程序,然后通过命令“adb shell am instrument-w com.android.foo/android.test.InstrumentationTestRunner”从命令行启动测试,其中com.android.foo是您的包名。更多信息请参见机器人问答:Ok。目前我无法测试这是否有效。如果@Frank能证实这一点,我非常乐意将你的答案标记为答案(我想Frank做不到)。是的@theelfishmike是正确的。我对他的回复进行了编辑以使其更清晰,并授予了赏金。注意,您最有可能需要指定
com.your.package.test
,换句话说,是测试应用程序的包(而不是应用程序本身)。
buildTypes {
release {
minifyEnabled true
proguardFiles 'proguard-rules.txt'
testProguardFile('proguard-rules.txt')
}
}
##--------------- Begin: proguard configuration for Robotium ----------
-keep class com.robotium.** { *;}
##--------------- End: proguard configuration for Robotium ----------