草庐IT

espresso-contrib

全部标签

安卓测试。如何使用 Espresso 更改 TextView 的文本

用Espresso更新EditText很容易,但我找不到更改文本的方法(比如TextView.setText("someText");方法)在测试过程中。ViewAction.replaceText(stringToBeSet);不起作用,因为它应该是EditText 最佳答案 您可以研究实现自己的ViewAction。这是来自espresso库的replaceTextviewaction的修改版本,用于TextView。publicstaticViewActionsetTextInTextView(finalStringvalue

android - 片状 Espresso 测试

不知道为什么espresso间歇性地找不到清晰可见的元素。它失败了:failed:android.support.test.espresso.NoMatchingViewException:Noviewsinhierarchyfoundmatching:withid:com.justyoyo.staging.debug:id/content_loading_progress_bar这真令人沮丧,因为无论我是在本地物理设备、AWS设备场还是在Genymotion的模拟器上运行测试都无关紧要。在检查元素是否可见之前添加显式等待SystemClock.sleep(5000);也没关系。我连续

android - Android Espresso 内部 Dagger 工厂类的 NoClassDefFoundError

我正在尝试将Espresso测试框架添加到我的项目中。但是,我被这个NoClassDefFoundError困扰了3天。通过Google搜索后,我发现测试APK默认使用DEBUG构建类型。出于某种原因,我需要为调试构建类型设置Proguard。但是,在运行我的测试配置时出现以下错误:06-0215:27:01.10519436-19457/com.lingyue.YqgAndroidE/TestLoader:Couldnotfindclass:android.support.test.espresso.base.UiControllerModule_ProvideUiControlle

Android Espresso 不等待 UI 完成

我有一个测试需要打开android.support.v7.preference.ListPreference对话框,选择一个选项,打开NavDrawer并从抽屉中选择一个项目。对话框定义如下:Espresso像这样打开它:onView(withText(mActivityRule.getActivity().getResources().getString(R.string.pref_title_VALUE)).perform(click());这确实会打开ListPreference,但不会阻塞并且测试中的下一行会立即运行。//clickonsettingonView(withTex

android - 使用 espresso 在 Web View 中查找多个元素

我正在测试一个混合应用,其中每个View都有一个WebView。在其中一个WebView中,我有一个具有相同属性的元素列表。它们具有相同的xpath定位器,类似于://h4[contains(@data-role,'product-name')]我想创建这些元素的列表并遍历它们,计算它们,获取它们的属性。在文档中,我找到了两个类似的方法:findElement(locator,value)和findMultipleElements(locator,value)虽然我完全不清楚如何使用它。我试图找到关于它的示例,但没有成功。有人可以帮我吗? 最佳答案

android - 使用 Espresso on Emulator 在 Android Studio 中测试互联网连接错误处理

我正在使用Espresso在模拟器上为AndroidStudios测试中的应用程序编写Instrumentation测试。我需要在测试中禁用互联网,以确保当用户没有可用互联网时我的错误处理功能可以正常工作。我到处寻找一种简单的方法来以编程方式从模拟设备禁用互联网。这是我最接近的,但不起作用。WifiManagerwifiManager=(WifiManager)mActivityRule.getActivity().getSystemService(Context.WIFI_SERVICE);wifiManager.setWifiEnabled(false);即使在@Before代码块

android - 如何在 Espresso UI 自动化测试中检查 MenuItem 是否启用/禁用

我正在使用EspressoforAndroid编写UI自动化测试,遇到了一个我目前还没有任何解决方案的场景。在一个Fragment中,我有一个带有单个项目的OptionsMenu。MenuItem的状态是根据API响应的值设置的。@OverridepublicvoidonPrepareOptionsMenu(Menumenu){super.onPrepareOptionsMenu(menu);menu.clear();getActivity().getMenuInflater().inflate(R.menu.menu_cancel_order,menu);MenuItemcancel

android - 如何使用 Espresso 在 Instrumentation 测试中注入(inject) Mocked Presenter of Activity

我已经试了一个星期了。我已经抓取了所有可用的文章,但它们的实现或示例不尽如人意或停留在Espresso测试的步骤。我的Android应用程序遵循MVP架构(并且是在Java中)场景:[仅举一个例子]我有一个使用Dagger2获取HomePresenter的HomeActivity。(在通过HomeComponent中的voidinject(HomeActivityactivity)公开的HomeModule中提供方法。在我的HomeActivity的espressoTest中,我想注入(inject)一个mockpresent。我没有通过AppComponent在AppModule中公

android - SQLite 数据库迁移似乎仅部分适用于 Espresso 测试

我们有一个SQLite数据库和一个相应的SQLiteOpenHelper子类。这个助手有一个onDowngrade实现,我想为其编写一个Espresso测试。完整的onDowngrade实现可用here.这是它的简化版本:@OverridepublicvoidonDowngrade(SQLiteDatabasedb,intoldVersion,intnewVersion){db.execSQL("CREATETABLEIFNOTEXISTSfoo_tmp(_idintegerprimarykey,bartextnotnull,baztextnotnull);");db.execSQL(

android - 如何使用 Espresso 等待另一项 Activity 开始?

我如何进行测试以在单击按钮时等待Activity启动?我的测试非常简单:publicvoidtestStartsNewActivity(){onView(withId(R.id.button)).perform(click());//assertnewActivityislaunched}谢谢! 最佳答案 断言新Activity已启动与断言属于该新Activity的View显示在屏幕上一样简单。检查this更多sample。附加信息:Bydefault,EspressowaitsforUIeventsinthecurrentmess