我有一个使用Mockito、Hamcrest和Espresso来帮助测试的Android项目。无论我尝试使用Gradle构建文件做什么,当我尝试在完成gradleandroidTestCompile.这是我当前的配置:dependencies{compileproject(':GameCore')androidTestCompilefiles('libs/espresso-1.1.jar','libs/testrunner-1.1.jar','libs/testrunner-runtime-1.1.jar')androidTestCompile('junit:junit:4.11','
我正在使用Espresso2测试我的Android应用。中间我看到测试随机失败并显示此Espresso失败消息:失败:testLongPressXXXXX(com.company.xxx.tests.testSuite.Test)-----开始异常-----android.support.test.espresso.NoMatchingViewException:在层次结构中找不到匹配的View:id:com.company.xxx:id/xxx_view_id查看层次结构:+>DecorView{id=-1,visibility=VISIBLE,width=729,height=31
这是关于Espresso的。我在模拟器上成功运行了集成测试。我认为有些测试失败是因为它运行得太快了。有没有办法降低执行/播放速度? 最佳答案 测试失败不可能导致速度加快。Espresso可以将所有测试操作与被测应用同步。默认情况下,Espresso会等待当前消息队列中的UI事件处理完毕,并默认AsyncTasks完成,然后再继续下一个测试操作。但是,如果这对您的应用程序来说还不够,您可以告诉Espresso何时空闲,何时不空闲。为此,您必须:实现IdlingResource界面。通过在测试设置中调用Espresso.register
我有以下Espresso测试。如果我自己运行它总是通过,但是当我一起运行类中的所有测试时它总是失败。还有一点奇怪的是,它曾经作为套件的一部分工作。我不确定为什么现在它停止工作了。这一定是我做过但我不知道是什么的事情。@TestpublicvoiditemHasImage_ShowsImage(){closeSoftKeyboard();if(mItem.getImageUrl()!=null){onView(withId(R.id.edit_item_image)).perform(scrollTo()).check(matches(isDisplayed()));}}我得到的错误是:
我目前设置了Travis-CI,以便在我的Android设备的每个版本上运行gradleConnectedCheck任务并执行我的所有单元测试。我已经能够成功设置它。我现在正尝试使用Espresso构建一些功能测试,目前我在设置Travis时遇到了很多困难,以便我的espresso测试可以与Travis的模拟器交互。我该如何设置Travis,使其模拟器的工作方式与我在本地工作站上使用的模拟器完全一样?这是我用来构建模拟器的.travis.yml的一部分。language:androidjdk:oraclejdk7env:matrix:-ANDROID_TARGET=android-19
我正在创建Android应用程序。我正在使用Espresso进行测试。我有一个使用以下方法的Activity:publicvoidrender(Reciperecipe){//drawtherecipetotheactivity}我想测试这个方法是否正常工作。解决方案1无效我测试了以下内容@TestpublicvoidviewPaintsRecipes(){finalActivityactivity=activityRule.launchActivity(newIntent());((MainActivity)activity).render(Arrays.asList(newReci
有没有人在使用Gradle(AndroidStudio)构建时成功地让Robolectric和Espresso(一起)工作?我已经让Robolectric在AndroidStudio中工作,这主要归功于PeterFriese的帖子http://www.peterfriese.de/android-testing-with-robolectric/,但由于instrumentRunner/instrumentTest冲突,我不确定如何集成Espresso。理想情况下,我的目录结构如下:|--src└──main(applicationsource-exists)└──test(Robol
我正在使用Junit4和Espresso进行测试。我在espresso测试中遇到了一个奇怪的问题——当我调用onView时,有时一切都会按预期执行,但有时我的测试会卡住,60秒后我会得到类似“android.support.test.espresso.AppNotIdleException:Looped在60秒内进行63次迭代。以下空闲条件失败ASYNC_TASKS_HAVE_IDLED"例如:onView(withId(R.id.zone_button_continue)).perform(click());onView(withId(R.id.loginButton)).check
我想在我的androidTest模块中保留一个Sting和Raw文件,并在Espresso测试中需要时读取它。我将res文件夹保存在androidTest下,并且能够同步并为其生成R文件。但是当我尝试使用访问字符串资源时getTargetContext.getString(R.string.product_name)或使用mAcitivityRule.getActivity.getString(R.string.product_name)我得到一些随机值,它是偶数没有在资源文件中的任何地方使用。Stringoutput:"res/drawable-v21/abc_action_bar_
我有一个扩展LinearLayout的PinCodeView。我的init()方法中有以下代码。DigitEditText扩展EditText并且只接受一个数字。此View将用于接收4位长的确认码。privatevoidinit(){...for(inti=0;i我已经创建了res/values/ids.xml,这是它的内容:现在,在Espresso中,我想捕捉每个DigitEditText并在其中放入一个数字。我怎么能做到这一点?我看到有两种方法,withTagKey()和withTagValue()但我不知道如何让它们起作用。我认为这样的事情可能有效,但似乎我无法将0分配给with