草庐IT

espresso

全部标签

android - 如何使用 Espresso 在特定位置测试适配器中的项目

我正在尝试使用Espresso(2.0)来验证列表适配器项中给定位置的文本是否正确,但我终其一生都无法找出正确的调用方法。我的适配器类型(IconRowAdapter)包含一个IconRow对象列表。每个IconRow都有一个返回该项目文本的getText()方法。下面是非Espresso工作测试代码,用于验证适配器中位置0处的IconRow对象是否具有预期的文本(“艺术家”)。publicvoidtestHomeActivityMenu(){ListViewlist=(ListView)getActivity().findViewById(R.id.item_list);IconRo

android - 使用 Espresso 进行测试时,如何在 Android 上的 NavigationView 中单击菜单项?

如何使用Espresso从设计库中单击NavigationView中的菜单项?它在整个菜单可见的较大设备上工作正常,但在横向或较小的设备上,我的菜单底部不在屏幕上,我无法找到滚动/滑动到这些menuItems的方法,以便我可以单击它们。调用:onView(withText(R.string.contact_us)).perform(scrollTo()).check(matches(isDisplayed())).perform(click());生成以下内容:Causedby:java.lang.RuntimeException:Actionwillnotbeperformedbec

android - 将 InstrumentationTestRunner 和 AndroidJUnitRunner 与 Robotium 和 Espresso 一起使用

我们将Robotium与android.test.InstrumentationTestRunner一起用于我们的测试。尽管如此,我们还是想用Espresso替换Robotium,但我们仍然对此有一些疑问,因为我们有一台带有Jenkins的机器用于CI。Espresso使用android.support.test.runner.AndroidJUnitRunner而Robotium使用前面提到的,首先,我们希望能够同时使用这两个测试框架。可能吗?我们如何在build.gradle文件中指定它?我们如何配置我们的jenkins机器以针对不同的测试框架执行不同的作业?我知道Espresso

Android:Espresso,在层次结构中找不到匹配的 View

我正在我的Activity中测试一个fragment的启动,所以在执行了一个将要启动该fragment的按钮后,我测试了在启动的fragment中View中是否存在一个文本,但是测试失败了,即使该fragment在我的手机上启动,甚至在View层次结构中也显示该文本存在:ViewHierarchy:+--------->AppCompatTextView{id=2131886318,res-name=text3_textView,visibility=VISIBLE,width=768,height=68,has-focus=false,has-focusable=false,has-

安卓 Espresso : Make assertion while button is kept pressed

我是Android上的Espresso的新手,我遇到了以下问题:我希望Espresso在按钮上执行长按(或其他操作),当按钮一直被按下时,我想检查不同View的状态。在(或多或少)伪代码中:onView(withId(button_id)).perform(pressButtonDown());onView(withId(textBox_id)).check(matches(withText("Buttonispressed")));onView(withId(button_id)).perform(releaseButton());我尝试使用MotionEvents.sendDown

android - Espresso : AppNotIdleException

当我登陆一个页面时,我不断收到这个错误。有什么解决方案?android.support.test.espresso.AppNotIdleException:Loopedfor4539iterationsover60SECONDS.ThefollowingIdleConditionsfailed.atdalvik.system.VMStack.getThreadStackTrace(NativeMethod)atjava.lang.Thread.getStackTrace(Thread.java:580)atandroid.support.test.espresso.base.Defau

android - 无法在要在 Firebase 测试实验室上运行的 Espresso 脚本中找到检测不同设备相机按钮的解决方案

我必须使用Espresso创建脚本以在Firebase测试实验室中测试我的应用。我的应用程序使用相机来捕捉图像,我已经打开了默认的相机应用程序。为了在我的设备上进行测试,我给出了我正在使用的测试设备的包名称。问题是不同的Android设备的相机应用程序包名称不同,我们不知道每个。硬编码包名称也不好。我已经搜索过了,但找不到找到解决方案的方法。提前致谢。 最佳答案 我认为在实际的相机应用中没有什么好的方法可以做到这一点,因为相机应用通常因设备型号和Android版本而异。如何在测试中伪造这种依赖性?通过抽象调用相机应用程序的代码,或者

android - 在 Android 上使用 Espresso 测试 EditText View 是否没有设置错误文本?

我知道如何测试是否在EditText中设置了错误文本:editText.check(matches(hasErrorText("")));现在我想测试EditText是否没有设置错误文本。我试过这个,但它不起作用。editText.check((matches(not(hasErrorText("")))));有人知道怎么做吗?谢谢! 最佳答案 我不认为这是可能的,具体取决于你想要什么,我会使用自定义匹配器:publicstaticMatcherhasNoErrorText(){returnnewBoundedMatcher(Edi

android - 使用 Espresso 我如何检查警报对话框中的项目数

我有一个显示多个项目的警告对话框。privateString[]choices;//populatedexternallyAlertDialog.Builderbuilder=newAlertDialog.Builder(getActivity());builder.setItems(choices,newDialogInterface.OnClickListener(){@OverridepublicvoidonClick(DialogInterfacedialog,intwhich){_callback.onChoiceSelected(which);dialog.dismiss(

android - 使用 Espresso 测试 Activity 和特定 fragment

我的Activity正在托管两个fragment。在onCreate()中,我确定将显示哪个fragment。@OverrideprotectedvoidonCreate(BundlesavedInstanceState){requestWindowFeature(Window.FEATURE_NO_TITLE);getWindow().setFlags(WindowManager.LayoutParams.FLAG_FULLSCREEN,WindowManager.LayoutParams.FLAG_FULLSCREEN);super.onCreate(savedInstanceSt