草庐IT

espresso

全部标签

java - 如何使用 Espresso 访问 RecyclerView ViewHolder?

我想测试我的RecyclerView的每个ViewHolder中包含的文本:@RunWith(AndroidJUnit4.class)publicclassEspressoTest{privateActivitymMainActivity;privateRecyclerViewmRecyclerView;privateintres_ID=R.id.recycler_view_ingredients;privateintitemCount=0;//TODO:WhatisthepurposeofthisruleasitrelatestotheTestbelow?@RulepublicAct

android - 针对不同设备的不同 Espresso 测试

我有一个具有不同布局的应用程序-适用于平板电脑、普通纵向和小型。如何为每种设备类型编写和执行不同的测试套件? 最佳答案 使用必须评估为真才能运行的条件来注释您的测试是一种方法。存储库AndroidTestRules帮助你这样做:@Test@IgnoreWhen(device=Form.Tablet.class)publicvoidphoneCanMakeACall(){//Runtestthatonlyappliestophones.}只需按照README中的步骤操作即可。这些步骤还向您展示了如何创建更多条件以添加到这些条件中alr

android - 无法使用 Espresso 滚动导航 View

在使用Espresso进行仪器测试时,我无法滚动到导航View的最后几行。尝试过如下步骤:onView(withText("社区准则")).perform(scrollto(),click());有没有办法实现滚动? 最佳答案 您可以在导航View上执行“swipeUp”:onView(isAssignableFrom(NavigationView.class)).perform(swipeUp()); 关于android-无法使用Espresso滚动导航View,我们在StackOve

android - 在使用 uiautomator 和 espresso 执行 AndroidTest 之前,如何在 Android 设备上设置允许模拟位置?

基本上每次我必须执行一个使用模拟位置提供程序的AndroidTest时,我需要手动选中设备模拟器上的框:设置-->模拟位置。如何直接从android测试中自动执行此任务?有没有办法使用espresso/uiautomator/其他东西? 最佳答案 我设法以我想要的方式做到了。感谢评论中发布的链接。我在我的gradle文件中添加了以下fragment:taskenableMockLocationForTestsOnDevice(type:Exec){Propertiesproperties=newProperties()propert

android - 如何将 Espresso UI 测试编译成一个版本?

我目前正在尝试将Espresso测试添加到releaseAPK中。在我们的案例中,我们必须测试正在发布的实际内容,因此UI测试必须包含在发布中。所以我的主要问题是:如何最好地完成这项工作?到目前为止,互联网上的研究没有给我任何结果。我已经尝试将构建脚本中的androidDebugTest更改为compile:compile'com.android.support.test.espresso:espresso-core:2.2.2',{excludegroup:'com.android.support',module:'support-annotations'}还有这里:compile'

java - 使用 Espresso stub 在测试 Activity 的 onCreate 期间启动的 Intents

我正在测试一个在其onCreate()期间启动另一个Activity的Activity。第二个Activity由startActivityForResult()启动,然后主Activity等待onActivityResult()。我正在尝试使用Espresso对此进行测试,尝试使用intending()对第二个Activity进行stub,并使用intended()验证它是否发生。尽管espresso-intents似乎并非设计用于处理从onCreate()方法(seethewarninginthelastparagraphshere)中启动的Intent。有没有人设法对从onCrea

android - 使用 Spoon/Espresso (android-test-kit) 通过命令行传递变量

我正在运行Espresso用Spoon测试.如何在运行时将值传递给我的测试?我做过的事likethis之前,但我的Espresso测试中没有onCreate。那么,我应该如何传递它们呢?目前我正在通过命令运行我的测试:gradlespoon 最佳答案 您是否考虑过使用部署到每个测试设备或可通过中央网络位置访问的响应文件?可以在Espresso测试的setUp()方法中读入和解析响应文件,以配置您为单个测试所需的任何参数。响应文件的格式可以是纯文本或XML格式。如果您有许多测试用例类,例如ActivityInstrumentation

android - 如何在 Espresso 中测试 ActionMenuItemView 的图标

我在操作栏中有一个按钮,其图标根据bool值更改。我想检查使用了哪个可绘制资源。这是更改图标的代码:@OverridepublicvoidonPrepareOptionsMenu(Menumenu){super.onPrepareOptionsMenu(menu);MenuItemitem=menu.findItem(R.id.menu_favorite);if(mIsFavorite)item.setIcon(R.drawable.ab_icon_on);elseitem.setIcon(R.drawable.ab_icon_off);}当需要改变图标时,菜单失效://request

在没有应用程序源代码的情况下使用 espresso 进行 Android 自动化

如果没有源代码,是否无法使用espresso自动化android应用程序。Gradle需要这样的结构:src/main/src/androidTest/但我想在不同版本的应用程序上运行这些自动化测试?这是否可以仅通过安装应用程序并运行测试来实现?这里说不可能:AutomationofAndroidAPKwithEspresso 最佳答案 答案是肯定的,您可以在没有应用源代码的情况下使用Espresso运行自动化测试。Espresso基于Android仪器框架,这意味着自动化测试被内置到单个测试apk中。此测试apk与普通应用apk不

android - Espresso 检查 View 要么 doesNotExist 要么 not isDisplayed

以下语句不起作用,因为doesNotExist()返回ViewAssertion而不是匹配器。没有try-catch有什么办法让它工作吗?.check(either(matches(doesNotExist())).or(matches(not(isDisplayed())))); 最佳答案 如果要检查层次结构中是否不存在View,请使用以下断言。ViewInteraction.check(doesNotExist());如果要检查View是否存在于层次结构中但未显示给用户,请使用以下断言。ViewInteraction.check