Articles of espresso

多模块Android项目中的全局代码覆盖:合并代码覆盖率报告(单元和UI测试)

我有一个Android应用程序,它由2个模块组成: 应用 – 用户界面 子模块 – 具有大部分业务逻辑 对于他们每个人,我都有一个gradle任务来validation代码覆盖率: 应用程序:UI代码覆盖率(Espresso) 子模块:unit testing代码覆盖率 作为客户端的要求, 我需要合并这两个报告以获得应用程序的整体/全局代码覆盖率 。 注意:我正在使用Gradle 3.1.2版。 App Gradle文件: apply plugin: ‘jacoco’ android { testBuildType “uiTest” … buildTypes { debug { applicationIdSuffix “.debug” versionNameSuffix “-debug” debuggable true minifyEnabled false shrinkResources false proguardFiles getDefaultProguardFile(‘proguard-android.txt’), ‘proguard-rules.pro’ matchingFallbacks = [‘debug’] } // TESTS // unitTest will be used to […]

Espresso Tests无法访问类文件

我在尝试运行ui测试时遇到以下错误。 /Users/etiennelawlor/workspace/MovieHub/app/src/androidTest/java/com/etiennelawlor/moviehub/MoviesFragmentTest.java Error:(34, 28) error: cannot access AppCompatActivity class file for android.support.v7.app.AppCompatActivity not found Error:(34, 58) error: cannot infer type arguments for ActivityTestRule Error:(41, 41) error: cannot access IdlingResource class file for android.support.test.espresso.IdlingResource not found Error:(51, 40) error: cannot access RecyclerView class file for android.support.v7.widget.RecyclerView not found Error:Execution failed for task ‘:app:compileDebugAndroidTestJavaWithJavac’. Compilation failed; see […]

如何使用React Native的Espresso UI测试?

我正在尝试在我的React Native Android应用程序上使用Espresso进行一些UI测试,以使用Fastlane的Screengrab。 我已按照本教程在现有应用程序中集成React Native以便能够编写测试。 但是当我开始编写UI测试时,我无法find要编写的内容以及如何定位组件并执行单击操作。 我find了这篇文章,其中有人举例说明如何为React Native编写Espresso Test,但它对我不起作用…我的组件都没有设置资源ID,所以我不知道如何执行某些操作我的应用程序。 如果有人可以帮我在React Native应用程序上用Espresso编写UI测试,或者给我另一个解决方案来获取我的Android应用程序的自动截图,那将是非常棒的。 如果您有任何疑问,请告诉我。

如何旋转活动,我的意思是:使用Espresso改变屏幕方向?

我已经决定使用Google的Espresso进行应用程序测试的测试标准之一是: 测试应在屏幕方向旋转后保持活动状态 使用Espresso时如何旋转屏幕? 我尝试了以下Robotium代码(是的,我在我的Espresso测试中放置了Robotium代码,所以起诉我) solo.setActivityOrientation(solo.LANDSCAPE); solo.setActivityOrientation(solo.PORTRAIT); 但是当我在Espresso测试中运行它时,它会崩溃应用程序。 有没有办法做到这一点? 在此先感谢您的帮助

Espresso测试错误:AppNotIdleException

我关闭了开发者选项的所有animation。 但是当我尝试点击其中一个按钮时,我仍然会遇到此exception。 我的应用程序确实是活跃的,并没有完全闲置,但我无法改变它。 android.support.test.espresso.AppNotIdleException: Looped for 6930 iterations over 60 SECONDS. The following Idle Conditions failed . at dalvik.system.VMStack.getThreadStackTrace(Native Method) at java.lang.Thread.getStackTrace(Thread.java:580) at android.support.test.espresso.base.DefaultFailureHandler.getUserFriendlyError(DefaultFailureHandler.java:92) at android.support.test.espresso.base.DefaultFailureHandler.handle(DefaultFailureHandler.java:56) at android.support.test.espresso.ViewInteraction.runSynchronouslyOnUiThread(ViewInteraction.java:184) at android.support.test.espresso.ViewInteraction.doPerform(ViewInteraction.java:115) at android.support.test.espresso.ViewInteraction.perform(ViewInteraction.java:87)

connectedAndroidTest如何运行特定的testing

我是一家创业公司的QA。 我的开发人员安装程序在Android项目中进行testing。 他还设置了Jenkins Jobs来在CI env中运行这些testing。 这是Jenkins作业下“生成” – >“调用Gradle”脚本中的“任务”字段中给出的命令。 干净的assemblerDebug connectedAndroidTest testDebug 我想创build我自己的Jenkins作业来运行不同types的testing。 有没有一种方法可以通过运行“connectedAndroidTest”命令来过滤我的testing? 我尝试使用如下的shell脚本,但它没有工作。 adbshell我的仪器-w / 我收到以下错误信息:[执行烟雾testing套件] $ / bin / bash -xe /var/folders/qr/vtm32_d56vz0hgwg5ppdbswc00007q/T/hudson1779650135635362469.sh + adb shell am instrument -w''class com.draysonwireless.airmapandroid .rewards / BonusTest.java /var/folders/qr/vtm32_d56vz0hgwg5ppdbswc00007q/T/hudson1779650135635362469.sh:第2行:adb:command not found构build步骤'Execute shell'标记为失败已完成:FAILURE

Android:检查button已启用

我在testing我的应用程序时遇到问题。 我创build了一个应该失败的espressotesting,因为无论何时在模拟器中启动我的应用程序,我都会得到预期的行为。 有我的testing: onView(withText("wrong answer")).perform(click()); onView(withId(R.id.nextQuestionButton)).check(matches(isEnabled())); 当启动testing时,没有任何事情被报告,而nextQuestionButton 不应该在点击文本为“错误答案”的radioButton时被启用。

在Android上使用EspressotestingEditText错误

我想testing一个EditText字段是否有错误(使用editText.setError(“Can not be blank!”))。 我用新的AndroidStudio 2.2function创build了一个Espressotesting用例来loggingEspressotesting。 所以代码几乎是自动生成的。 但现在它只检查是否显示editText。 @RunWith(AndroidJUnit4.class) public class CreateNoteActivityTitleCannotBeBlank { @Rule public ActivityTestRule<CreateNoteActivity> mActivityTestRule = new ActivityTestRule<>(CreateNoteActivity.class); @Test public void createNoteActivityTitleCannotBeBlank() { ViewInteraction floatingActionButton = onView( allOf(withId(R.id.fab_add_note), withParent(allOf(withId(R.id.activity_create_note), withParent(withId(android.R.id.content)))), isDisplayed())); floatingActionButton.perform(click()); ViewInteraction editText = onView( allOf(withId(R.id.tiet_note_title), childAtPosition( childAtPosition( withId(R.id.til_title), 0), 0), isDisplayed())); editText.check(matches(isDisplayed())); } private static Matcher<View> childAtPosition( final Matcher<View> parentMatcher, final […]

使用onView(withId(…))时,用Espresso单击操作栏中的菜单项

我正在使用Espresso进行testing,首先打开操作栏: openActionBarOverflowOrOptionsMenu(getInstrumentation().getTargetContext()); 一切都OK到这里,但是我想点击一个选项菜单: onView(withId(R.id.action_menu)).perform(click()); 菜单布局xml有一个ID为“action_menu”的选项。 我得到一个错误: android.support.test.espresso.NoMatchingViewException: No views in hierarchy found matching: with id: ***.********.******.android.debug:id/action_menu If the target view is not part of the view hierarchy, you may need to use Espresso.onData to load it from one of the following AdapterViews:android.support.v7.widget.ListPopupWindow$DropDownListView{43fd3f58 VFED.VC. .F…… 24,24-612,168} 我通过使用以下步骤来完成工作: onView(withText(R.string.action_report)).perform(click()); 我想知道什么是错的编号虽然。 有任何想法吗?

如何使用React Native的Espresso UItesting?

我正在尝试在我的React Native Android应用程序上使用Espresso进行一些UItesting,以使用Fastlane的Screengrab。 我遵循本教程将React Native集成到现有的应用程序中,以便能够编写testing。 但是当我开始编写我的UItesting时,我无法find写什么,以及如何定位组件,并执行一个单击它。 我发现这个职位,有人举例说明如何编写Espresso Test for React Native,但它不适用于我…我的组件都没有设置资源ID,所以我不知道如何执行一些操作我的应用程序。 如果有人能够帮助我在React Native应用程序上使用Espresso编写UItesting,或者给我另一个解决scheme,以获取我的Android应用程序的自动截图,那将是非常棒的。 如果您有任何问题,请告诉我。