草庐IT

Instrumentation

全部标签

android - 由于 Firebase Test Lab 上的 Chrome 自动更新,Instrumentation 测试的应用程序崩溃

在Google的Firebase测试实验室中运行仪器测试时,由于GoogleChrome在后台更新,被测试的应用程序崩溃了。被测应用确实有一些WebView,但在测试运行期间没有显示。视频录制以独特的方式显示Play商店正在下载和安装的应用(动画下载通知)。相关日志:03-1922:52:52.450:I/ActivityManager(1154):Forcestoppingcom.android.chromeappid=10086user=-1:installPackageLI03-1922:52:52.450:I/ActivityManager(1154):Killing31128

android - 在 AndroidTestCase 中访问 AlertDialog

我正在使用ActivityInstrumentationTestCase2在我的GUI上进行自动黑盒测试。有没有办法点击一个对话框,或者在单元测试中获取属于该对话框的View?我能想出的唯一方法是保留对对话框的引用并让我的Activity实现一个getter方法让测试用例访问对话框。有没有不需要更改生产代码的更好方法? 最佳答案 是的,有一种更好的方法可以将AlertDialogs暴露给您的自动化代码,但您必须在生产代码中这样做。这是值得的,因为它会让你的生活更轻松。让我解释。您可以将AlertDialogs分配给WeakHashM

安卓仪器 : How do I go back to a previously launched Activity?

我目前正在使用一个应用程序运行自动化测试,该应用程序使用多个Activity来显示每个屏幕。在运行Instrumentation测试时是否可以返回到之前启动的Activity?目前,当我使用sendKeyDownUpSync(KeyEvent.KEYCODE_BACK);时,这会强制我的测试退出,而不是返回到之前的Activity。非常感谢对此的任何帮助。进 最佳答案 您可以尝试在要关闭的Activity上调用finish()方法。 关于安卓仪器:HowdoIgobacktoaprevi

android - 如何在单元测试中接受对话?

我有一个单元测试可以打开自定义对话框并输入一些文本。这有效,但我无法接受对话框或按下确定按钮。谁能告诉我如何使用junit自动接受对话。ActivityMonitoractivityMonitor=instrumentation.addMonitor(EditItem.class.getName(),null,false);instrumentation.sendKeyDownUpSync(KeyEvent.KEYCODE_MENU);instrumentation.invokeContextMenuAction(gridList,R.id.add,0);Activityactivit

android - KitKat 4.4 上的测试框架失败 : Instrumentation run failed due to 'java.lang.ClassNotFoundException'

客户端还没有准备好..开始运行测试测试运行失败:由于“java.lang.ClassNotFoundException”,检测运行失败空测试套件。 最佳答案 要么将测试放在AndroidStudio项目的“test”文件夹中,然后将它们放在“androidTest”文件夹中,要么反过来。 关于android-KitKat4.4上的测试框架失败:Instrumentationrunfaileddueto'java.lang.ClassNotFoundException',我们在StackO

安卓仪器测试 : IllegalAccessError

我在运行Android仪器测试时收到IllegalAccessError。这是Logcat输出:java.lang.IllegalAccessError:Classrefinpre-verifiedclassresolvedtounexpectedimplementation这是我的设置:TestProject测试UnderTestProject,其中包括AnotherProject在构建路径中(在“项目”选项卡中),并将其从“订购和导出”选项卡中导出。被测类属于AnotherProject.我已遵循thisstackoverflowquestion中的建议此处用于配置构建路径。构建是

android - Firebase VDT 不运行 Gherkin (Cucumber) 测试

我正在使用VDT运行集成测试。我构建了这两个APK,然后按照此处引用的教程发送它们:https://firebase.google.com/docs/test-lab/android/continuous对于比特币。Firebase成功运行了我的非Cucumber测试,但它只是忽略了Cucumber测试。当我在我的设备上安装APK时,我看到所有测试都在运行。我检查了一下,APK中的Runner设置为MultiDexCucumberJUnitRunner。为了了解androidTestapk中使用的运行程序,我这样做了:安装我发送到Firebase的APK运行adbshellpmlist

android - 在没有root的情况下在Android中注入(inject)事件

一段时间以来,我一直在尝试弄清楚如何将触摸/键盘事件注入(inject)Android设备(在您的应用程序内部和外部)。我发现了一个没有root权限的应用程序:https://play.google.com/store/apps/details?id=com.vmlite.vncserver有人知道他们是怎么做到的吗? 最佳答案 如果你想在没有root的情况下在android应用程序上注入(inject)触摸事件:你可以使用Instrumentation类,https://developer.android.com/referenc

java - 无法解析 : Intent when instrumentation-testing android activities 的 Activity

当我尝试在Android上运行仪器化测试时出现错误。我已经编写了一个名为AudioPlayerActivity的Activity,它位于com.mycompany.mobile.android.gui包中,现在我正在尝试测试它的GUI项目,我在以下错误中运行:java.lang.RuntimeException:Unabletoresolveactivityfor:Intent{act=android.intent.action.MAINflg=0x10000000cmp=com.mycompany.mobile.android.gui/.AudioPlayerActivity}我已阅

android - UiAutomator 2.0 命令行测试

我正在尝试使用AndroidUIAutomator进行一些简单的测试,我知道自UIAutomator2.0以来它需要由Gradle构建,我可以运行我的简单测试,它只通过AndroidStudio或命令行按下主页按钮通过“gradlew.batcC”,我想知道如何使用adb命令运行它?我试过了adbshellaminstrument-wtest.simple.uiatest/android.test.InstrumentationTestRunner按照建议here,但我得到INSTRUMENTATION_STATUS:id=ActivityManagerServiceINSTRUMEN