android-espresso相关内容
我的一位 QA 工程师正在为一个应用程序提供相当大的代码库和许多不同的 SharedPreferences 文件.前几天他来找我询问如何在测试运行之间重置应用程序状态,就好像它已经被卸载-重新安装一样. 看起来 Espresso(他正在使用)和 Android 测试框架本身都不支持它,所以我不知道该告诉他什么.拥有清除所有不同 SharedPreferences 文件的本机方法将是一个非常脆
..
我正在寻找一种使用 JUnit4 和 ActivityTestRule 测试活动的方法,但使用不同的应用程序类(例如模拟或继承).我能够使用清单合并和 tools:replace="android:name" 在 androidTest/AndroidManifest.xml 中的应用程序标记上为库项目获取此信息.但是,这不适用于应用程序. 知道如何做到这一点吗? 解决方案 您可以使
..
尝试用 ViewPager 做一些测试. 我想在选项卡之间滑动,并且在滑动完成之前我不想继续.但是似乎没有办法关闭视图寻呼机的动画(开发者选项下的所有动画都被禁用). 所以这总是导致测试失败,因为视图分页器还没有完成它的动画,所以视图还没有完全显示: //向左滑动onView(withId(R.id.viewpager)).check(matches(isDisplayed())).
..
我在操作栏中创建了一个菜单: @Override公共布尔 onCreateOptionsMenu(菜单菜单){menu.add(Menu.NONE, 98,Menu.NONE,R.string.filter).setIcon(R.drawable.ic_filter_list_white_48dp).setShowAsAction(MenuItem.SHOW_AS_ACTION_IF_ROOM)
..
看起来 CoordinatorLayout 破坏了 Espresso 操作的行为,例如 scrollTo() 或 RecyclerViewActions.scrollToPosition(). NestedScrollView 的问题 对于这样的布局:
..
我正在尝试使用 Espresso 单击列表视图中的文本.我知道他们有本指南,但我不知道如何制作这项工作通过寻找文本.这是我试过的 Espresso.onData(Matchers.allOf(Matchers.is(Matchers.instanceOf(ListView.class)), Matchers.hasToString(Matchers.startsWith("ASDF")))).p
..
是否可以使用 android espresso 框架跨多个活动编写测试? 解决方案 是的,这是可能的.在他们在这里演示的示例之一中 https://github.com/googlesamples/android-testing/blob/master/ui/espresso/BasicSample/app/src/androidTest/java/com/example/android/
..
我的套件中有一个失败的测试,现在我正在使用 Android Orchestrator,但我得到的只是这条消息: 测试仪器进程崩溃.查看com.something.something_detail.SomeActivityTest#testAddSucceeds_activityIsFinished.txt详情 我不知道如何访问该文件.有什么帮助吗? 解决方案 您可以在设备上的
..
我已经玩了几个星期的 Espresso 测试,最后我决定开始测试 Fragment. 我立即遇到了问题,如何获取当前活动? 我的应用程序使用登录数据,因此我无法使用测试规则启动活动.简单的说,在做espresso测试的时候有没有类似getActivity()的东西? 解决方案 我通常是这样理解的,它看起来(并且可能是)hacky 但是,嘿,它有效 import static
..
使用 Espresso 更新 EditText 很容易,但我找不到更改文本的方法(例如使用 TextView.setText("someText"); 方法)在测试过程中. ViewAction.replaceText(stringToBeSet); 不起作用,因为它应该是一个 EditText 解决方案 您可以考虑实现自己的 ViewAction. 这是来自 espresso
..
我想测试我的 RecyclerView 的每个 ViewHolder 中包含的文本: @RunWith(AndroidJUnit4.class)公共类 EspressoTest {私人活动 mMainActivity;私有 RecyclerView mRecyclerView;private int res_ID = R.id.recycler_view_ingredients;私人 int i
..
我想为 Android 应用编写具有深层链接案例的测试 使用 UI 测试框架 (Espresso) - 仅使用 ACTION_VIEW 意图启动应用程序并检查打开屏幕上的所有视图. 但是看起来 Espresso(甚至 espresso-intents)没有这个功能,需要定义 Activity 类. 我尝试过这种方式,但它不能正常工作,因为启动了两次应用程序 - 使用 AppLaunch
..
我正在尝试检查 Espresso 是否显示了视图.这是一些伪代码来显示我正在尝试的内容: if (!Espresso.onView(withId(R.id.someID)).check(doesNotExist()){//然后做点什么} 别的 {//什么都不做,或者你有什么} 但我的问题是 .check(doesNotExist()) 不返回布尔值.这只是一个断言.使用 UiAutomator
..
我是 Espresso 测试的新手,但似乎没有任何方法可以测试可绘制更改. 我有一个教程,它是一个 ImageView Drawable 幻灯片“塞进"半透明的 TextView.在我的测试中,我想确保在按下下一个按钮时,正确的 Drawable 已插入到教程的 ImageView 中. 没有默认的 Matcher 来检查 Drawable,所以我开始使用 https://stacko
..
我在导入某些 Android UI 测试框架类时遇到问题 - 我就是不知道出了什么问题! 这是我的课: @RunWith(AndroidJUnit4.class)@大测试公共类 ExampleUnitTest {@规则公共 ActivityTestRulemActivityRule = new ActivityTestRule(MainActivity.class);@测试公共无效 lis
..
我在开发者选项中关闭了所有动画.但是我在尝试单击其中一个按钮时仍然遇到此异常. 我的应用确实处于活动状态,并没有完全空闲,但我无法更改它. android.support.test.espresso.AppNotIdleException: Looped for 6930迭代超过 60 秒.以下空闲条件失败.在 dalvik.system.VMStack.getThreadStackTra
..
基本上每次我必须执行使用模拟位置提供程序的 AndroidTest 时,我都需要手动选中设备模拟器上的框:设置--> 模拟位置.如何直接从 android 测试自动化这个任务?有没有办法使用浓缩咖啡/uiautomator/其他东西? 解决方案 我设法以我想要的方式做到了这一点.感谢在评论中发布的链接.我在我的 gradle 文件中添加了以下代码段: task enableMockLoc
..
是否可以使用浓缩咖啡检查背景颜色是否与给定颜色匹配? 更新: 我做了一个自定义匹配器,类似于@Irfan 建议的,谢谢! public static MatcherbackgroundShouldHaveColor(int expectedColor) {返回 buttondShouldHaveBackgroundColor(equalTo(expectedColor));}私有静态
..
我用 Espresso Recorder 录制了一次浓缩咖啡测试.我想在我的应用中测试一些位置更改. 目前我正在使用此代码模拟该位置: LocationManager lm = (LocationManager) context.getSystemService(Context.LOCATION_SERVICE);标准标准=新标准();标准.setAccuracy( Criteria.AC
..
我知道 Espresso 可以按边界点击 UiAutomator 可以.(x 和 y 坐标)我已经通读了文档,但似乎找不到它.任何帮助表示赞赏.谢谢 编辑 我发现 这个链接,但没有示例如何使用它,我主要关心的是 UiController 是什么或如何使用它. 解决方案 Espresso 有 GeneralClickAction,这是ViewActions的底层实现click()、d
..