我正在为使用Conductor编写的应用编写Espresso测试.我想为每个测试指定启动哪个Controller,这样我就不需要让Espresso从每个测试的开始Activity开始点击应用程序。由于只有一个Activity,SO或谷歌上关于Conductor的信息不多,我能找到的最接近的是this题?或者这是不可能的?我试过使路由器静态并添加一个getter以尝试设置特定的根以进行测试但没有成功。android.view.ViewRootImpl$CalledFromWrongThreadException:Onlytheoriginalthreadthatcreatedaviewh
我正在尝试运行Androidespresso测试,但它们一直失败并显示java.lang.NoClassDefFoundError:com.blokura.testexample.app.MainActivity我正在使用JakeWharton的doubleespresso插件。我尝试了Jake的设置,如githubrepo所示和deckard没有运气。我不知道我错过了什么。这是项目结构这是build.gradle文件的源代码:applyplugin:'android'android{packagingOptions{exclude'LICENSE.txt'exclude'META-I
我正在尝试将我的一些Robotium单元测试转换为使用Espresso,但在通过测试更新UI时遇到了问题。该测试针对的是一个fragment,该fragment是一种显示来自对象的数据的表单。该fragment有一个方法“BaseFragment.object_set(object)”,然后它将更新UI组件(有很多TextView.setText(object.getField())).当我在测试中运行以下命令时...BaseFragmentfragment=(BaseFragment)getFragment(activity);fragment.object_set(object);
我正在用espresso进行测试,并且我在一个页面中有多个AdapterViews,例如,当我使用id:R.id.list1、R.id.list2时onData(withMainValue("xx")).check(匹配(isDisplayed()))publicstaticMatcherwithMainValue(finalStringvalue){returnnewBoundedMatcher(GuessYouLikeGoodItem.DataEntity.class){@OverridepublicvoiddescribeTo(Descriptiondescription){de
我想为我的Android应用程序创建一个测试。每当它失去焦点时,它就应该做点什么。因此,我想通过按2次概览按钮(主页按钮旁边的按钮)来对此进行测试。但是我怎样才能用Espresso做到这一点呢?我尝试了一些键码来按下,但没有一个起作用(不幸的是,表中没有KEY_OVERVIEW)。那么我该如何测试呢?谢谢,尼克拉斯 最佳答案 这对于espresso是不可能的,espresso用于在您的应用内进行UI测试,但不能与外部UI元素交互。如果你想按下概览(或后退或任何其他系统)按钮,你可以使用ui-automator:UiDevicemDe
我正在尝试为设置中的PreferenceFragmentsfragment编写测试。然而,我一直收到这个错误:android.support.test.espresso.NoMatchingViewException:在层次结构中找不到匹配的View:可从类分配:类android.widget.AdapterView测试代码如下:@RunWith(AndroidJUnit4.class)@SmallTestpublicclassSettingsFragmentTest{@RulepublicActivityTestRulemActivityRule=newActivityTestRul
我在我的项目中使用Espresso进行UI测试。我想拍摄每个Activity(屏幕)的屏幕截图。我正在使用GoogleCloudTestLab的ScreenShooter进行屏幕截图。ScreenShotter.takeScreenshot("main_screen_2",getActivity());但它只截取了我在ActivityTestRule中定义的第一个Activity的屏幕截图。如何在同一个测试用例中拍摄其他Activity的屏幕截图。 最佳答案 我的理解是ActivityTestRule旨在仅测试测试用例中的一个Act
在Espresso测试中,我想获取对我的ViewPager的引用,以便我可以将IdlingResource附加到它。但是findViewById返回null,即使我之前确认ViewPager已显示。//PassesonView(withId(R.id.viewPager)).check(matches(isDisplayed()));Activityactivity=activityTestRule.getActivity();assertNotNull(activity);//FailsassertNotNull(activity.findViewById(R.id.viewPage
当使用./gradlewconnectedDebugAndroidTest运行Espresso测试时,我们遇到了这个问题:com.android.build.api.transform.TransformException:com.android.ide.common.process.ProcessException:java.util.concurrent.ExecutionException:com.android.dex.DexIndexOverflowException:methodIDnotin[0,0xffff]:65536因为我们在主应用程序中使用Multidex,并且只
JakeWharton发表了精彩的演讲,他提出了一些巧妙的方法来改进我们的UI测试,方法是从测试中抽象出我们如何执行UI的细节:https://news.realm.io/news/kau-jake-wharton-testing-robots/他给出的一个示例是如下所示的测试,其中PaymentRobot对象包含有关如何将付款金额和收款人输入UI的详细信息。把那个地方放在一个地方很有意义,所以当UI不可避免地发生变化时(例如重命名字段ID,或从TextEdit切换到TextInputLayout),它只需要在一个地方更新而不是整个系列的测试。它还使测试更加简洁和可读。他建议使用Kot