android-espresso相关内容

Android Espresso 不等待片段加载

我刚刚开始使用 Espresso 来测试 Android 应用,但遇到了一些问题.我有一个带有按钮的 Activity,该按钮以通常的方式替换片段: public void onClick(View v) {最终 FragmentTransaction t = getFragmentManager().beginTransaction();t.setCustomAnimations(R.anim ..
发布时间:2021-11-02 22:28:50 移动开发

如何使用 Espresso 将时间设置为 MaterialDateTimePicker

我正在尝试使用 Espresso 创建简单的 UI 测试来为新创建的项目设置日期. 项目正在使用 https://github.com/wdullaer/MaterialDateTimePicker,但它显示对话框片段具有复杂的用户界面,没有什么可坚持的. 我想创建自定义 ViewAction 以设置类似于来自 Espresso 的 PickerActions 的日期或时间. 有 ..
发布时间:2021-11-02 22:28:42 移动开发

在 Espresso 测试下取消或覆盖在活动中进行的 API 调用

我有一个 Activity,它在 onCreate() 生命周期方法期间执行 API 调用.如果这个调用失败(它通常会在调试或测试环境中失败),一个 ViewStub 就会膨胀,作为一个错误屏幕.这个 ViewStub 覆盖了 Activity 的其余部分. 这会导致在使用 Espresso 执行 UI 测试时出现问题.我希望能够取消或控制此请求的结果,以便我可以为其编写可预测的测试. ..
发布时间:2021-11-02 22:28:39 移动开发

如何在 Android 测试中创建模拟服务?

我有一个服务(我们称之为 A),它依赖于服务 B 和 C. 我想对 A 进行单元测试,因此我希望捕获从服务发出的任何意图,这些意图将启动 B 或 C,并将结果替换为服务的模拟实例.但是,Android 的测试设置似乎没有明显的实现方式. Espresso 意图似乎与此最接近,但它似乎并未涵盖与服务的绑定.有人知道怎么做吗? A 正在通过诸如...之类的代码获取 B 和 C 的活页 ..
发布时间:2021-11-02 22:28:33 Java开发

java.lang.NoSuchMethodError:没有静态方法 registerDefaultInstance 与 Firebase 性能和 Espresso 仪器测试

当我添加 implementation 'com.google.firebase:firebase-perf-ktx:19.1.0' 时,我无法启动 espresso 检测测试(“应用"方案构建正常).当我尝试开始 Espresso 测试时,我有 测试运行失败:进程崩溃.java.lang.NoSuchMethodError: 在类 Lcom/google/protobuf/GeneratedM ..

如何在 Espresso 的仪器测试中注入模拟活动演示者

我已经尝试了一个星期.我已经抓取了所有可用的文章,但它们的实现或示例不足或停留在 Espresso 测试的步骤上. 我的 Android 应用程序遵循 MVP 架构(并且使用 Java) 场景:[仅举一个例子]我有一个 HomeActivity,它使用 Dagger2 获取一个 HomePresenter.(提供通过 HomeComponent 中的 void inject(HomeA ..
发布时间:2021-09-04 20:20:40 移动开发

Android Navigation Instrumentation测试引发方法必须在主线程上调用方法addObserver

我有两个片段,一个是我图中的家庭片段.单击一个按钮后,用户将导航到第二个片段.通过将用户导航到第二个片段并显示文本,可以按预期工作.因此该图很好. 现在我想编写一个仪器测试. @RunWith(AndroidJUnit4 :: class)类TransitionTest {@测试有趣的testNavigationToSecondFragment(){val navController = ..
发布时间:2021-05-28 19:39:54 其他开发

将Dagger与Espresso结合使用

我打算在我的应用程序多模块上创建Espresso测试,并且即将创建第一个Espresso测试,但是我看到的是在我的应用程序上我没有 AppComponent在哪里可以伪造.由于要在功能模块上添加测试,因此从现在开始我将在其中创建 TestApp , TestRunner . 我的功能模块上有一个 FeatureComponent ,它是通过 ComponentFactory 从 App 注入 ..
发布时间:2021-04-28 18:50:26 移动开发

如何在UI测试中检查当前活动

对于测试,我使用Espresso和Barista我有一个测试,需要按一个按钮打开另一个屏幕.如何检查此屏幕是否打开?我需要打开屏幕吗? 我可以以某种方式检查屏幕链吗?要了解屏幕是否按我需要的顺序打开? 如果有人抛出指向Android上UI测试良好教程的链接,我将不胜感激. 解决方案 一个简单的解决方案是仅检查新屏幕上要显示的元素,如下所示: onView(withId(R. ..
发布时间:2021-04-04 19:13:27 移动开发

使用动态功能为Android项目创建单元和仪表测试

我有一个项目,其中有主:app软件包.除此之外,该应用程序在同一软件包中包含两个动态功能::features:A和:features:B. 这里的问题是由于以下错误,我无法运行单元和仪表测试(Espresso,UI Automator): "AAPT:错误:找不到资源字符串/应用程序名称(aka com.app.A.test:字符串/应用程序名称)." 当我运行测试时(在这种情况下为U ..

在Android Espresso测试中断言异常

我在Espresso中进行了一项测试,该测试需要断言某个操作会引发异常. 然而,Espresso框架似乎吞下了原始异常,只出现了一个 PerformException . 解决方案 最终,我找到了一种方法.我创建了一个自定义的Hamcrest匹配器,可让您验证嵌套异常. 公共类NestedExceptionMatcher扩展了TypeSafeMatcher. ..
发布时间:2021-04-04 19:13:21 移动开发

如何使用Espresso存根Intent.createChooser Intent

问题 我的应用程序中有一个图像,并且正在将其共享给其他任何可以处理图像共享的应用程序,并且该功能正常运行. 我正在编写一个Espresso UI测试以拦截意图,并确保它具有正确的操作和其他功能,但似乎无法使其起作用. 代码 这是创建意图时的代码: Intent intent = new Intent(Intent.ACTION_SEND);intent.putExtra ..
发布时间:2021-04-04 19:13:15 移动开发