问题标签 [robotium]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
android - android robotium中的记录和运行选项
我对安卓很陌生。必须如何使用robotium 框架?是否有记录和回放选项,或者我们应该手动编写测试用例。请给我一个机器人工具,它可以快速记录和回放
android - 适用于 Android 的 Robotium 测试用例
所有.. 我是 JUnit 测试用例的新手。我想在 android .apk 上编写 junit 测试用例,而不使用源代码。因为我没有源代码。
请激怒我。感谢您提前提供帮助。
android - 如何从proguard编译和混淆的应用程序中检索视图ID?
我正在为编译和混淆的应用程序编写测试。目前访问View
我使用身份证形式/res/values/public.xml
这种方法只有 util 应用程序没有重新编译才有效。
有没有办法通过Id
没有R
文件来访问视图?
android - 机器人参数化
我一直在尝试在robotium中实现数据库,以便我可以参数化并使其面向数据,但我完全迷失了请指导我。下面提到了我的robotium代码,请指导我如何打开与sqlite的数据库连接。
即使是最小的指导也会有很大的帮助谢谢
android - Robotium.clickOnMenuItem() 的问题
当我打电话给 Robotium 时:
有时我会得到著名的错误跟踪:
09-19 22:27:23.647: ERROR/WindowManager(20662): android.view.WindowLeaked: Activity test.com.activities.ListActivity 泄露了窗口 com.android.internal.policy.impl.PhoneWindow$DecorView@461d4660最初添加在这里 09-19 22:27:23.647: ERROR/WindowManager(20662): at android.view.ViewRoot.(ViewRoot.java:253) 09-19 22:27:23.647: ERROR/WindowManager(20662): at android.view.WindowManagerImpl.addView(WindowManagerImpl.java:148) 09-19 22:27:23.647: 错误/WindowManager(20662): 在 android.view.WindowManagerImpl.addView(WindowManagerImpl.java:91) 09-19 22: 27:23.647: ERROR/WindowManager(20662): at android.view.Window$LocalWindowManager.addView(Window.java:424) 09-19 22:27:23.647: ERROR/WindowManager(20662): at android.app.Dialog .show(Dialog.java:241) 09-19 22:27:23.647: 错误/WindowManager(20662): 在测试中。com.activities.ListActivity$Sincronizacao.onPreExecute(ListActivity.java:272) 09-19 22:27:23.647: ERROR/WindowManager(20662): at android.os.AsyncTask.execute(AsyncTask.java:391) 09-19 22:27:23.647: ERROR/WindowManager(20662): at test.com.activities.ListActivity.onOptionsItemSelected(ListActivity.java:224) 09-19 22:27:23.647: ERROR/WindowManager(20662): at android.app .Activity.onOptionsItemSelected(Activity.java:2313) 09-19 22:27:23.647: 错误/WindowManager(20662): 在 android.app.Activity.onMenuItemSelected(Activity.java:2201) 09-19 22:27:23.647 : ERROR/WindowManager(20662): at com.android.internal.policy.impl.PhoneWindow.onMenuItemSelected(PhoneWindow.java:740) 09-19 22:27:23.647: ERROR/WindowManager(20662): at com.android。 internal.view.menu.MenuItemImpl.invoke(MenuItemImpl.java:143) 09-19 22:27:23.647:ERROR/WindowManager(20662): at com.android.internal.view.menu.MenuBuilder.performItemAction(MenuBuilder.java:855) 09-19 22:27:23.647: ERROR/WindowManager(20662): at com.android.internal .view.menu.IconMenuView.invokeItem(IconMenuView.java:538) 09-19 22:27:23.647: ERROR/WindowManager(20662): at com.android.internal.view.menu.IconMenuItemView.performClick(IconMenuItemView.java: 142) 09-19 22:27:23.647: 错误/WindowManager(20662): 在 android.view.View$PerformClick.run(View.java:8818) 09-19 22:27:23.647: 错误/WindowManager(20662) : 在 android.os.Handler.handleCallback(Handler.java:587) 09-19 22:27:23.647: 错误/WindowManager(20662): 在 android.os.Handler.dispatchMessage(Handler.java:92) 09-19 22:27:23.647:错误/WindowManager(20662):在android.os.Looper.loop(Looper.java:143)09-19 22:27:23.647:错误/WindowManager(20662):在 android.app.ActivityThread.main(ActivityThread.java:4701) 09-19 22:27:23.647:错误/WindowManager(20662):在 java.lang.reflect.Method.invokeNative(Native方法) 09-19 22:27:23.647: ERROR/WindowManager(20662): at java.lang.reflect.Method.invoke(Method.java:521) 09-19 22:27:23.647: ERROR/WindowManager(20662) : 在 com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:860) 09-19 22:27:23.647: 错误/WindowManager(20662): 在 com.android.internal.os.ZygoteInit.main (ZygoteInit.java:618) 09-19 22:27:23.647: ERROR/WindowManager(20662): at dalvik.system.NativeStart.main(Native Method) 09-19 22:27:24.209: ERROR/AndroidRuntime(20662) :致命例外:主要 09-19 22:27:24.209:错误/AndroidRuntime(20662):java.lang.IllegalArgumentException:视图未附加到窗口管理器 09-19 22:27:24.209: ERROR/AndroidRuntime(20662): at android.view.WindowManagerImpl.findViewLocked(WindowManagerImpl.java:355) 09-19 22:27:24.209: ERROR/AndroidRuntime( 20662): 在 android.view.WindowManagerImpl.removeView(WindowManagerImpl.java:200) 09-19 22:27:24.209: 错误/AndroidRuntime(20662): 在 android.view.Window$LocalWindowManager.removeView(Window.java:432 ) 09-19 22:27:24.209: ERROR/AndroidRuntime(20662): at android.app.Dialog.dismissDialog(Dialog.java:278) 09-19 22:27:24.209: ERROR/AndroidRuntime(20662): at android .app.Dialog.access$000(Dialog.java:71) 09-19 22:27:24.209: ERROR/AndroidRuntime(20662): at android.app.Dialog$1.run(Dialog.java:111) 09-19 22 :27:24.209:错误/AndroidRuntime(20662):在android.app.Dialog.dismiss(Dialog.java:268)09-19 22:27:24.209:ERROR/AndroidRuntime(20662): at android.app.Dialog.cancel(Dialog.java:951) 09-19 22:27:24.209: ERROR/AndroidRuntime(20662): at test.com.activities.ListActivity$Sincronizacao.onPostExecute (ListActivity.java:331) 09-19 22:27:24.209: ERROR/AndroidRuntime(20662): at android.os.AsyncTask.finish(AsyncTask.java:417) 09-19 22:27:24.209: ERROR/AndroidRuntime (20662): 在 android.os.AsyncTask.access$300(AsyncTask.java:127) 09-19 22:27:24.209: 错误/AndroidRuntime(20662): 在 android.os.AsyncTask$InternalHandler.handleMessage(AsyncTask.java :429) 09-19 22:27:24.209: 错误/AndroidRuntime(20662): 在 android.os.Handler.dispatchMessage(Handler.java:99) 09-19 22:27:24.209: 错误/AndroidRuntime(20662):在 android.os.Looper.loop(Looper.java:143) 09-19 22:27:24.209: 错误/AndroidRuntime(20662): 在 android.app.ActivityThread。main(ActivityThread.java:4701) 09-19 22:27:24.209: ERROR/AndroidRuntime(20662): at java.lang.reflect.Method.invokeNative(Native Method) 09-19 22:27:24.209: ERROR/AndroidRuntime (20662):在 java.lang.reflect.Method.invoke(Method.java:521)09-19 22:27:24.209:错误/AndroidRuntime(20662):在 com.android.internal.os.ZygoteInit$MethodAndArgsCaller。运行(ZygoteInit.java:860)09-19 22:27:24.209:错误/AndroidRuntime(20662):在 com.android.internal.os.ZygoteInit.main(ZygoteInit.java:618)09-19 22:27: 24.209:错误/AndroidRuntime(20662):在 dalvik.system.NativeStart.main(本机方法)521) 09-19 22:27:24.209: 错误/AndroidRuntime(20662): 在 com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:860) 09-19 22:27:24.209: 错误/ AndroidRuntime(20662): 在 com.android.internal.os.ZygoteInit.main(ZygoteInit.java:618) 09-19 22:27:24.209: 错误/AndroidRuntime(20662): 在 dalvik.system.NativeStart.main(Native方法)521) 09-19 22:27:24.209: 错误/AndroidRuntime(20662): 在 com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:860) 09-19 22:27:24.209: 错误/ AndroidRuntime(20662): 在 com.android.internal.os.ZygoteInit.main(ZygoteInit.java:618) 09-19 22:27:24.209: 错误/AndroidRuntime(20662): 在 dalvik.system.NativeStart.main(Native方法)
但是,如果我像这样本地调用(菜单项是第三个):
无论我运行多少次测试,我都没有收到任何错误。为什么我会出现这种行为?
android - 您是否知道任何支持多设备的 Android 动态检测工具(最好是 Python 或 Jython)?
对于我的 CI 基础设施,我需要在控制机器 (linux) 的两部(或更多部)安卓手机之间自动部署和运行复杂的测试。
到目前为止,结合 android 单元测试的 android monkeyrunner 并不是一个令人满意的解决方案:
- monkeyrunner 不会从远程应用程序调用单个方法,也无法通过它们的 id 寻址 UI 组件
- 使用 ActivityInstrumentationTestCase2 编写 java 测试用例成本太高 (loC) 并且不能为两个设备之间的交互提供足够的灵活性
- robotium.org 是朝着正确方向迈出的一步,但它是在 java 中(不是动态的),还不是多设备
- 我发现的所有其他解决方案都不允许对动态脚本进行交互式测试
有什么建议吗?
robotium - 为什么 [] 应该显式地为机器人设置吗?
正如它在这个QnA 中所说,robotium 中的某些功能需要在 AndroidManifest.xml 文件中将 anyDensity 设置为 true。但它在android doc中说支持android 1.6及更高版本的应用程序,默认情况下是真的。那么,为什么要明确设置呢?
android:anyDensity 指示应用程序是否包含适应任何屏幕密度的资源。对于支持 Android 1.6(API 级别 4)及更高版本的应用程序,默认情况下这是“真”,除非您绝对确定应用程序必须运行,否则不应将其设置为“假”。唯一可能需要禁用此功能的情况是您的应用程序直接操作位图(有关更多信息,请参阅 Supporting Multiple Screens 文档)。
android - 如何在 Eclipse 中从多个项目运行 Android JUnit 测试?
我想知道如何同时从 Eclipse 运行多个包含 Android JUnit Robotium 测试的项目......我希望有人能提供帮助。
非常感谢!
android - 如何为 Android 自动化生成报告
我有一个 Robotium 测试用例,我想使用自动化工具在夜间运行,但是我不确定如果不先通过 Eclipse 手动运行它是否可以完成。是否有一个构建脚本可以让我每晚自动运行 Robotium 测试用例。理想情况下,此测试用例将直接在设备上运行,因为我们希望测试跨不同 Android OS 平台的兼容性。
如何自动运行测试用例?是否有任何适用于 Android 的构建脚本可以让我做我需要做的事情?”
java - 无法使用robotium和私有方法在android上截屏
我最近一直在尝试截取屏幕截图,但是这些文件夹都是在具有 api 级别 8 的 android 模拟器中创建的,但都是徒劳的。我已经提到了下面的代码。
在此代码中,方法 takeScreenShot() 应该创建一个目录并存储图像,同时作为 android junit 测试用例执行,我得到的结果为 100%,但没有创建文件夹,也没有存储屏幕截图。我应该root我的手机以使用它的sd卡吗?