Articles of android espresso

Espresso和postDelayed

我有一个使用postDelayed调用的活动: public class SplashActivity extends Activity { private Handler handler = new Handler(); @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(…); handler.postDelayed(new Runnable() { public void run() { finish(); } }, 3000L); } } 这在app启动时运行,我需要导航它和我的登录屏幕。 但是,UIController的loopMainThreadUntilIdle似乎没有将处理程序中的基础MessageQueue考虑在内。 因此,当队列中仍有消息时,此操作立即结束。 onView(withId(R.id.splash_screen)).perform(new ViewAction() { @Override public Matcher getConstraints() { return isAssignableFrom(View.class); } @Override public String getDescription() { return “”; […]

Android / Gradle espresso测试没有启动活动

我难以说服新的Android构建系统运行测试。 在运行测试时,它给Unable to resolve activity for: Intent错误已在其他问题中讨论过,但没有任何内容可以修复我的问题。 我已经删除它,以便我的测试包完全不依赖于我的主程序包( com.wealdtech.app ),但仍然存在启动活动的问题。 我的测试活动: package com.wealdtech.test; import android.app.Activity; import android.os.Bundle; public class TileLayoutTestActivity extends Activity { @Override public void onCreate(final Bundle savedInstanceState) { super.onCreate(savedInstanceState); } } 我的测试class: package com.wealdtech.test; import android.test.ActivityInstrumentationTestCase2; public class TileLayoutTest extends ActivityInstrumentationTestCase2 { public TileLayoutTest() { super(TileLayoutTestActivity.class); } @Override protected void setUp() throws Exception […]

使用Espresso运行检测测试:预validation类中的类ref解析为意外实现

我正在使用google-espresso测试平台Kitkat上的系统应用程序联系人。 我的测试项目位于#android-dir#/ cts / tests / tests / contactTest。 这是.mk: LOCAL_PATH:= $(call my-dir) include $(CLEAR_VARS) # don’t include this package in any target LOCAL_MODULE_TAGS := optional # and when built explicitly put it in the data partition LOCAL_MODULE_PATH := $(TARGET_OUT_DATA_APPS) LOCAL_JAVA_LIBRARIES := android.test.runner LOCAL_STATIC_JAVA_LIBRARIES += librarycontacts LOCAL_CERTIFICATE := shared LOCAL_SRC_FILES := $(call all-java-files-under, src) LOCAL_PACKAGE_NAME […]

在浓缩咖啡测试时确定片段更改

我在android中测试我的应用程序,由1个主要活动和我们导航的多个片段组成。 对于我的测试,我使用浓缩咖啡,点击特定按钮后,我想检查当前片段是否已更改(带按钮的部分是否正常)。 那么,如何在浓缩咖啡中检查片段是否仍然与点击按钮之前相同?

由ActivityTestRule实例化引起的java.lang.IncompatibleClassChangeError

我在我的Android项目中添加了espresso测试,并在创建ActivityTestRule的行上获得了IncompatibleClassChangeError。 我如何找出导致它的原因? 以下是导致错误的代码行:(HomePageScreenTest.java:27) @Rule public ActivityTestRule homePageActivityTestRule = new ActivityTestRule(HomePageActivity.class); 这是错误: java.lang.IncompatibleClassChangeError: com.example.rocklee.mehmvp.HomePage.HomePageActivity at dalvik.system.DexFile.defineClassNative(Native Method) at dalvik.system.DexFile.defineClass(DexFile.java:226) at dalvik.system.DexFile.loadClassBinaryName(DexFile.java:219) at dalvik.system.DexPathList.findClass(DexPathList.java:321) at dalvik.system.BaseDexClassLoader.findClass(BaseDexClassLoader.java:54) at java.lang.ClassLoader.loadClass(ClassLoader.java:511) at java.lang.ClassLoader.loadClass(ClassLoader.java:469) at com.example.rocklee.mehmvp.HomePage.HomePageScreenTest.(HomePageScreenTest.java:27) at java.lang.reflect.Constructor.newInstance(Native Method) at java.lang.reflect.Constructor.newInstance(Constructor.java:288) at org.junit.runners.BlockJUnit4ClassRunner.createTest(BlockJUnit4ClassRunner.java:217) at org.junit.runners.BlockJUnit4ClassRunner$1.runReflectiveCall(BlockJUnit4ClassRunner.java:266) at org.junit.internal.runners.model.ReflectiveCallable.run(ReflectiveCallable.java:12) at org.junit.runners.BlockJUnit4ClassRunner.methodBlock(BlockJUnit4ClassRunner.java:263) at org.junit.runners.BlockJUnit4ClassRunner.runChild(BlockJUnit4ClassRunner.java:78) at org.junit.runners.BlockJUnit4ClassRunner.runChild(BlockJUnit4ClassRunner.java:57) at org.junit.runners.ParentRunner$3.run(ParentRunner.java:290) at org.junit.runners.ParentRunner$1.schedule(ParentRunner.java:71) at org.junit.runners.ParentRunner.runChildren(ParentRunner.java:288) at org.junit.runners.ParentRunner.access$000(ParentRunner.java:58) […]

Espresso:Recyclerview滚动到结束

有没有办法使用Espresso滚动到recyclerview的末尾? 有一个带有文本的项目,我们说’Text XYZ’,而recyclerview有一个id recycleler_view。 此项恰好是回收站视图的最后一项。 我试过了 onView(withId(R.id.recycler_view)).check(matches(isDisplayed())).perform(RecyclerViewActions.scrollTo(withText(“Text XYZ”)),click()); 但这似乎不起作用。 有任何想法吗?

如何使用Espresso测试Action Bar上的主页按钮?

我已启用主页按钮返回上一个视图。 简单地说,这样做: getActionBar().setDisplayHomeAsUpEnabled(true); 我正在使用com.android.support:appcompat-v7:21.0.2的最新版本。 但是,当我使用下面的代码时,它不会抛出exception。 Espresso.onView(ViewMatchers.withId(android.R.id.home)).perform(ViewActions.click()); Espresso.onView(ViewMatchers.withId(R.id.home)).perform(ViewActions.click()); 例外: com.google.android.apps.common.testing.ui.espresso.NoMatchingViewException: No views in hierarchy found matching: with id: is …

Espresso:如何进行自定义滑动,例如swipeTop或swipeBottom

到目前为止我们可以做到: swipeLeft swipeRight swipeUp 刷下 我们如何swipeTop(一直到顶部)或swipeBottom(一直到底部)是expresso。 如果这些方法已经存在,请举个例子。

Android:启用了检查按钮

我在测试我的应用时遇到问题。 我创建了一个espresso测试,它应该会失败,因为每当我在模拟器中启动我的应用程序时,我都会得到预期的行为。 有我的测试: onView(withText(“wrong answer”)).perform(click()); onView(withId(R.id.nextQuestionButton)).check(matches(isEnabled())); 在启动测试时,没有报告任何内容,而在单击其文本为“错误答案”的radioButton时,不应启用nextQuestionButton。

Android – Espresso – 滚动到非列表查看项目

是否有滚动到非列表的一般方法查看屏幕上尚未显示的项目? 没有任何预防措施,Espresso将指示“层次结构中没有视图与id匹配….. 我find了这个答案……这是最好的方法吗? onView( withId( R.id.button)).perform( scrollTo(), click());