草庐IT

android - 如何获取移动应用程序 (Android/iOS) 中用于移动自动化测试的 ui 元素的 ID、名称或 x 路径?

我想知道如何获取移动应用程序中使用的UI元素的ID或名称,这些元素用于移动自动化测试,如appium、monkey-talk、xamarian等。 最佳答案 我的解释是针对我的系统(Windows7)的,但我的解释也应该很容易翻译到其他系统。先决条件:当您想进行Android自动化测试时,您应该始终安装AndroidSDK,因此我假设您已经这样做了。让我们调用sdk文件夹的路径(包括sdk文件夹本身)运行/SDKManager.exe.选择最新的AndroidSDK工具和AndroidSDK平台工具并安装它们连接您要测试的设备:运行

java - 导入 Android 库 AAR - 无类定义

我正在使用AndroidStudio。我正在编写一个名为检测器的Android库。它在创建它的项目中完美运行。compileproject(':detector')我想将它生成的AAR文件导入到另一个项目中。我这样做:File>New>NewModule>Import.JAR/.AARPackage然后我在新项目应用程序build.gradle中添加相同的行:compileproject(':detector')清理和构建后,我运行应用程序并收到此错误:11-1806:32:14.15121283-21283/testing.com.testD/ResourcesManager:For

android - 无法在要在 Firebase 测试实验室上运行的 Espresso 脚本中找到检测不同设备相机按钮的解决方案

我必须使用Espresso创建脚本以在Firebase测试实验室中测试我的应用。我的应用程序使用相机来捕捉图像,我已经打开了默认的相机应用程序。为了在我的设备上进行测试,我给出了我正在使用的测试设备的包名称。问题是不同的Android设备的相机应用程序包名称不同,我们不知道每个。硬编码包名称也不好。我已经搜索过了,但找不到找到解决方案的方法。提前致谢。 最佳答案 我认为在实际的相机应用中没有什么好的方法可以做到这一点,因为相机应用通常因设备型号和Android版本而异。如何在测试中伪造这种依赖性?通过抽象调用相机应用程序的代码,或者

android - 在没有设备的情况下测试和部署 Android 应用程序真的是个坏主意吗?

我没有安卓设备,但想部署一个应用程序。在模拟器中测试后部署是否合理,还是测试不够?如果没有,谁能推荐我可以在ebay上买到的非常便宜的设备,或者有利于开发目的的东西? 最佳答案 您可以设置具有不同SD卡大小、屏幕分辨率和操作系统版本的模拟器,但仍然手机的可变性要大得多(例如,不同的框架、运营商锁定选项)。除此之外,总有那些你没有想到的情况。手机电池电量耗尽、信号丢失或屏幕旋转(您如何测试您的应用是否能优雅地处理这些问题?)只是我现在考虑的部分情况。还有Android市场评级问题:如果您的应用未经测试并开始在多部手机上崩溃,那么您将获

Android Test测试前提条件

在Android开发人员中,我看到testPreconditions()方法应该在所有测试之前启动。但在我的应用程序测试中,它就像一个正常的测试。它不会在所有测试之前运行。有什么问题吗?这是来自android开发人员的关于testPreconditions()的描述:“先决条件测试在执行其他测试之前检查初始应用程序条件。它类似于setUp(),但开销更少,因为它只运行一次。” 最佳答案 实际上,testPreconditions()只是另一个单元测试。这是DiegoTorresMilano所著的《Android应用程序测试指南》中的

android - 测试 Activity 是否返回预期结果

我有以下Activity:packagecodeguru.startactivityforresult;importandroid.app.Activity;importandroid.content.Intent;importandroid.os.Bundle;importandroid.view.View;importandroid.widget.Button;publicclassChildActivityextendsActivity{@OverridepublicvoidonCreate(BundlesavedInstanceState){super.onCreate(sav

java - Android UIAutomator 长按设备

我想在指定时间长按指定点。不幸的是,类中没有像长按这样的方法:UiDevice我可能可以编写自己的方法,如下所示:privatevoidlongClick(intx,inty,longtime){android.graphics.Pointpoint=newandroid.graphics.Point(x,y);android.graphics.Point[]points=newandroid.graphics.Point[2];points[0]=point;points[1]=point;getUiDevice().swipe(points,time/5);//accordingt

android - 单元测试失败时停止 gradle 构建

我找到了很多关于如何在单元测试失败时继续gradle构建的帖子,但是我找不到任何关于如何在测试失败时停止构建失败的帖子。是否可以在单元测试失败时停止调试构建? 最佳答案 不幸的是,已接受答案的解决方案并未解决此问题。我发现从Gradle4.6开始,有一个用于测试设置的failFast设置。将此添加到build.gradle将停止执行测试用例:test{failFast=true}您可以在officialreleasenotes中阅读更多相关信息和文档。 关于android-单元测试失败时

android - 在 Android 上使用 Espresso 测试 EditText View 是否没有设置错误文本?

我知道如何测试是否在EditText中设置了错误文本:editText.check(matches(hasErrorText("")));现在我想测试EditText是否没有设置错误文本。我试过这个,但它不起作用。editText.check((matches(not(hasErrorText("")))));有人知道怎么做吗?谢谢! 最佳答案 我不认为这是可能的,具体取决于你想要什么,我会使用自定义匹配器:publicstaticMatcherhasNoErrorText(){returnnewBoundedMatcher(Edi

android - 使用 Espresso 测试 Activity 和特定 fragment

我的Activity正在托管两个fragment。在onCreate()中,我确定将显示哪个fragment。@OverrideprotectedvoidonCreate(BundlesavedInstanceState){requestWindowFeature(Window.FEATURE_NO_TITLE);getWindow().setFlags(WindowManager.LayoutParams.FLAG_FULLSCREEN,WindowManager.LayoutParams.FLAG_FULLSCREEN);super.onCreate(savedInstanceSt