草庐IT

espresso

全部标签

android - 模拟器上的 Gradle JUnit Espresso connectedAndroidTest java.lang.IncompatibleClassChangeError

我有一个静态方法的简单单元测试并在模拟器上运行它们。(目标是在云CI上运行,所以我在模拟器上测试。)Gradle2.2.1模拟器Android5.0我在控制台上使用这些步骤。androidcreateavd--force-ntest-t"android-21"emulator-avdtest-no-skin-no-audio-no-window&adb等待设备adbshell输入keyevent82&gradlecleaninstallDebuggradleconnectedAndroidTest构建.gradledependencies{...androidTestCompile('

Android espresso NestedScrollView,如何滚动到底部

我正在尝试使用Espresso测试NestedScrollView,但出现错误:“将不会执行操作,因为目标View与以下一个或多个约束不匹配:至少90%的View区域显示给用户。”我知道这个错误是因为Android没有检测到我想要点击的按钮,也就是说,我需要滚动到底部才能看到该按钮。我还读到scrollTo()不适用于NestedScrollView,所以我不能使用它。我想我必须滚动到NestedScrollView的底部才能看到按钮,我对此既不确定也不知道该怎么做。我想点击红色按钮,但它不可见。我看过几个堆栈问题和一些教程,但我不知道如何滚动到嵌套的底部。应用工具栏的代码是:`Nes

android.support.test.espresso.NoActivityResumedException : No activities in stage RESUMED

我正在尝试为我的Activity编写测试用例。我有几个Activity,其中一个没有问题,而当我尝试对其他ActivityTest类运行测试时出现以下错误。android.support.test.espresso.NoActivityResumedException:NoactivitiesinstageRESUMED.Didyouforgettolaunchtheactivity.(test.getActivity()orsimilar)?这是我所有测试用例都失败的类:@RunWith(AndroidJUnit4.class)@LargeTestpublicclassLocatin

Android espresso 测试失败,出现 UnknownServiceException : CLEARTEXT

我们的Android9UI测试失败了,因为我们的测试环境不使用HTTPS。问题是我们正在从espresso测试进行网络调用(例如直接在后端创建全新用户以用于测试)这意味着它们在espresso测试应用程序上运行。将networkSecurityConfig添加到应用程序list中没有帮助,因为问题不是应用程序而是espresso应用程序。我该如何解决这个问题?espresso应用程序是否有list,我可以在其中添加list或以任何方式以编程方式更改此权限?我的问题不同于CLEARTEXTcommunicationnotsupportedonRetrofit和Android8:Clear

java - 如何在 Espresso 中允许繁忙的工作线程

我正在尝试测试应用程序的进度指示器,它在View模型获取数据时显示不确定的进度指示器。为了对此进行测试,我正在模拟返回数据的提供程序并使其阻塞,直到我的测试给出告诉它继续进行。基本设置如下所示:@TestpublicvoidtestProgressIndicator(){injectProvider(mockProvider);startTestActivity();//Themockprovidernowrunsonaworkerthreadandwon'tfinish//untilwetellitto.//Weshouldnowseeaprogressindicator.onVie

java - 如何使用 Espresso + JMockit

我想使用Espresso和JMockito.但我不运行测试。如果你有解决办法,请帮助我。我写了一些文件(build.gradle(app,project),Testjava)如下。build.gradle(应用程序)applyplugin:'com.android.application'android{compileSdkVersion22buildToolsVersion"22.0.1"defaultConfig{applicationId"burning.tutorial"minSdkVersion21targetSdkVersion22versionCode1versionNa

android - 检查是否显示了数组中 View 中的资源 ID 并单击它 (Android-Espresso)

我有以下情况。我们使用Gherkin语言通过Espresso驱动我们的原生UI自动化。在我们的Gherkin系列中,我们有一行叫做:AndItaponbutton"Next"其中“Next”是我们传递到胶水代码中的变量字符串(我们使用的是Cucumber框架)。碰巧,我们的应用程序有许多具有不同资源ID的“下一步”按钮。我最终使用了带有如下变量的小cucumber线:AndItaponbutton"Nextinscreen1"AndItaponbutton"Nextinscreen2"现在我只想在我的代码中使用Gherkin变量“Next”。我得到一个整数数组,其中包含来自所有“下一步

android - 单击 espresso 中的 FloatingActionButton

尝试在espresso测试中点击FloatingActionButton。onView(withId(R.id.actionButton)).perform(customClick())我的方法customClick:funcustomClick():ViewAction{returnactionWithAssertions(CustomGeneralClickAction(Tap.SINGLE,GeneralLocation.VISIBLE_CENTER,Press.FINGER))}同时创建类CustomGeneralClickAction并进行一些更改:Matcherstanda

android - Espresso - 如何将 typeText 切换为英语或其他语言输入模式

我正在使用Espresso来实现我的应用程序的自动测试框架。但是在我设计的一些测试用例中,我发现我的测试总是失败,根本原因不在我的功能实现代码上的测试代码中。根本原因是在android输入法模式下,有时候是中文输入模式,而我输入的文字是英文,那么输入值就会失败。所以我想知道如何将当前的typeText输入法模式从中文切换为英文,或者如何在不手动配置的情况下确保输入法模式为英文?我相信这是一个重要的要求,因为当我们在我们的应用程序中支持多种语言时,我们需要此功能在测试期间自动切换到所需的语言。以下是我的代码,如果默认输入模式是英文,没有任何问题。onView(withId(R.id.en

java - 是否可以使用 Espresso 的 IdlingResource 等待某个 View 出现?

在我的测试中,我有一个阶段,在按下按钮后,应用程序会执行大量异步计算并向云服务发出请求,之后它会显示特定View。是否可以使用Espresso的IdlingResource实现来等待某个View出现?我已阅读答案here并且评论似乎建议您可以改用IdlingResource,但我不明白该怎么做。Espresso似乎没有任何内置的方法来处理长时间的操作,但不得不编写自己的等待循环感觉就像一个hack。有什么方法可以解决这个问题,还是我应该按照链接线程中的答案建议的那样做? 最佳答案 AtteBackenhof的解决方案有一个小错误(或