草庐IT

espresso

全部标签

android - 有什么方法可以知道 Espresso 是否已经开始一项 Activity ?

我正在使用Espresso进行Activity转换测试,但我不知道这是否是最好的方法:publicvoidtestStartLogin(){onView(withId(R.id.register)).perform(click());onView(withId(R.id.login_password)).check(matches(isDisplayed()));onView(withId(R.id.login_show_password)).check(matches(isDisplayed()));}最后两个来自第二个Activity,但这对我来说看起来很糟糕。有什么不同的方法吗?

Android Espresso - 网络浏览器

我有一个问题我想测试单击按钮后是否使用espresso启动网络浏览器。问题是:是否有可能测试这样的东西?如果是这样,我该怎么做? 最佳答案 虽然这是一个老问题,但只是发帖在这里帮助其他人。我有同样的情况,我想验证一个特定的url是否在浏览器中启动。我从这个link得到了真正的帮助我使用这段代码让它工作:Intents.init();MatcherexpectedIntent=allOf(hasAction(Intent.ACTION_VIEW),hasData(EXPECTED_URL));intending(expectedInt

Android UI 测试 Fingerprint with Espresso

我有一个Android指纹实现,我想用Espresso添加UI测试。我找不到解决方案的一个问题是如何模拟手指的扫描。有一个adb命令adb-eemufingertouch应该可以在模拟器上运行。关于如何将类似的东西与Espresso集成有什么想法吗? 最佳答案 来自thisquestion可以发送到模拟器:Runtime.getRuntime().exec("adb-eemufingertouch1")我预计,虽然不能显示任何工作,但在真实设备上伪造指纹需要某种特殊的安全魔法。编辑:这在espresso测试中不起作用。

android - TextView 中的 Espresso withText 与所选 View 不匹配

我遇到了Espresso的奇怪测试失败。下面是在显示的Dialog中测试一个TextView。我收到以下错误:com.google.android.apps.common.testing.ui.espresso.base.DefaultFailureHandler$AssertionFailedWithCauseError:'withstringfromresourceid:'doesn'tmatchtheselectedview.Expected:withstringfromresourceid:[my_content]value:TestContentAvailableGot:"T

android - 包含 espresso-contrib :2. 0 时的 java.lang.IncompatibleClassChangeError

我有一个android.support.v7.widget.RecyclerView的子类。当我使用应用程序和测试时它工作正常。但是,当我在我的gradle应用程序文件中包含espresso-contrib时,当我尝试运行相同的测试时出现异常。该应用程序仍然有效。同样的问题出现在sdk版本21和22,在armv模拟器和设备上。使用x86模拟器它会出现段错误。GradleandroidTestCompile'com.android.support.test.espresso:espresso-contrib:2.0'异常java.lang.IncompatibleClassChangeE

android - 确定 Espresso 测试时的 fragment 变化

我正在android中测试我的应用程序,该应用程序由1个主要Activity和我们在其中导航的多个fragment组成。对于我的测试,我使用espresso,在单击特定按钮后,我想检查当前fragment是否已更改(带按钮的部分没问题)。那么,我怎样才能在espresso中检查fragment是否仍然与单击按钮之前相同? 最佳答案 如果你真的想这样做,你可以这样做FragmentManagerfragmentManager=getActivity().getFragmentManager()并从fragmentManager获取有关

android - Espresso 在 View 中卡住并带有循环动画

我有一个View,其中一个元素在无限循环中使用以下动画:当Espresso打开我的Activity时,它能够执行一些操作但很快就死机了。我想Espresso正在等待UI线程变为空闲状态,而这种情况从未发生过。我测试此View以实现禁用动画的机制的唯一方法是什么?我可以让另一个类处理动画,这将被模拟以进行测试。或者构建时间条件。编辑:我还没有创建一个示例项目来尝试重现该问题,但同时这里有一些进一步的细节:1)我正在使用JakeWharton的ActivityRule让我的Activity自动启动(https://gist.github.com/JakeWharton/1c2f2cadab

android - 如何让 Spoon 为 Espresso 测试截屏?

我一直在努力关注theinstructionsongettingSpoon1.1.14totakescreenshotsforfailingEspressotests.使用customEspressoFailureHandler进行配置的最佳方式是什么?? 最佳答案 这是我目前的做法:publicclassMainScreenTestextendsBaseStatelessBlackBoxEspressoTest{publicMainScreenTest(){super(LaunchActivity.class);}publicvo

android - 如何让 Espresso 等到数据绑定(bind)用数据模型更新了 View ?

我正在我的Android应用程序上运行Espresso测试。测试很不稳定。它可以可靠地断言数据模型已更新。我的问题是ViewMatchers无法匹配View中的相同值,因为ViewDataBinding尚未更新View。(至少大部分时间测试运行。)当ViewDataBinding在View上没有未决更改时,是否存在IdlingResource之类的东西变为空闲?我的解决方法是结合调用executePendingBindings()和一个小的Thread.sleep(...) 最佳答案 Espresso在执行View检查之前执行wai

android - 尝试单击导航按钮时出现 Espresso AmbiguousViewMatcherException

我正在尝试做的测试:进行购买,记下标题,然后返回主页Activity,然后按“home_image”,这是一个图像按钮。我的问题是无法导航home_image。我按下它,我得到了一个伪造的重复ID。我相信重复ID指的是具有相同ID的不可见fragment。为什么在测试开始时这不是问题很奇怪。抱歉,由于文本限制,不得不截断日志。我想做的只是直接启动家庭Activity,但这个套件做简单的事情是一件痛苦的事。即使是滑动命令也会出现此错误!第一次使用所有这些按钮时,我认为这是espresso中的一个错误,我需要解决这个问题。感谢您的想法!mSectionsPagerAdapter=newSe