Articles of 测试

测试一个名为setResult的活动

我正在为一个活动编写测试(我的测试类扩展了ActivityInstrumentationTestCase2),我已经编写了一些基本的测试并且工作正常。 但是我的活动完成时会通过setResult(结果代码,Intent i)将额外数据返回给调用活动。我想用仪器做什么让我的活动完成,然后检查它在setResult调用中传递的内容。 是否有一些框架提供了这样做的方式? 我还没有find任何东西,一种方法是子类化活动类并覆盖setResult,让它记住并公开传递给setResult的内容(原来setResult是final,所以你也不能这样做) ,似乎应该有更好的方法。

如何在设备上安装unsigned android应用程序?

目前,一个开发团队正在开发Android应用程序,在开发过程中,测试人员必须测试当前状态并报告问题。 到目前为止,我只是通过在我的电脑上连接测试仪的设备并在IDE中运行来安装应用程序。 这样,如果必须每天多次在多个设备上安装应用程序,我们会浪费大量时间。 我想要的是向测试团队发送.apk文件,让他们自己安装并运行应用程序。 有谁知道最好的方法是什么? 谢谢!

用浓缩咖啡测试订单

有没有办法在android中设置测试运行顺序? 我使用Espresso框架,需要测试它们之间的许多活动和转换。 我想为这些活动编写不同的测试,但我需要一个特定的命令来运行这些测试。

浓咖啡如何等待一段时间(1小时)?

在我的测试案例中,我必须记录1小时,在机器人solo.sleep(600000)完成了我的工作,但在浓缩咖啡中,我对IdlingResource概念感到困惑。 我必须开始录音并等待一段时间(取决于测试types)15分钟,60分钟等。 机器人中的等效代码 solo.clickOnView(solo.getView(“start_record”)); solo.sleep(duration * 60 * 1000); solo.clickOnView(solo.getView(“stop_record”)); 我尝试在浓缩咖啡中使用它 @RunWith(AndroidJUnit4.class) @SmallTest public class AaEspressoTest { private static final String LAUNCHER_ACTIVITY_FULL_CLASSNAME = “com.absd.rec.RecorderActivity”; private static Class launcherActivityClass; private Solo solo; private static CoreRecordingTest skyroTestRunner; private static Class activityClass; static { try { activityClass = (Class) Class.forName(LAUNCHER_ACTIVITY_FULL_CLASSNAME); } catch (ClassNotFoundException e) { throw new RuntimeException(e); […]

Android Studio Espresso测试错误:空测试套件

尝试在Android Studio中执行测试时,我一直遇到以下错误:测试运行失败:无法find以下内容的检测信息:ComponentInfo {.test / android.support.test.runner.AndroidJUnitRunner} 我的测试类在androidTest / java目录中并且有一个构造函数。 我的build.gradle也是正确的。 任何帮助表示赞赏。 测试类 @RunWith(AndroidJUnit4.class) @LargeTest public class AndroidUITests extends ActivityInstrumentationTestCase2{ private UserActivity userActivity; public AndroidUITests() { super(UserActivity.class); } @Before public void setUp() throws Exception { super.setUp(); injectInstrumentation(InstrumentationRegistry.getInstrumentation()); userActivity = getActivity(); } @Test public void testPhoneIconIsDisplayed() { // When the phone_icon view is available, // check that it […]

如何从Android Oreo中禁用espresso测试的新自动填充function

使用sdk 26在Android设备上运行测试会导致它们失败,因为新的自动填充function会在espresso尝试点击它们时隐藏字段。 我在firebase测试实验室运行我的测试,所以我不能在我的测试设备上手动禁用它们。 一些图片: 1.单击用户名字段前可以看到密码。 2.单击用户名字段后,此自动填充对话框将隐藏密码字段: 3.登录后显示另一个“填充”对话框: Espresso无法点击现在的密码字段,因为自动填充对话框隐藏了我的字段并fail 。 使用AutofillManager#disableAutofillServices()仅禁用#2。 对话但是#3。 还在那里。 如何在测试设备上禁用自动填充?

Android模拟器的“好”程度如何?

正如标题所说,Android模拟器有多“好”? 我没有Android手机但是可以纯粹使用模拟器作为测试环境进行开发吗? 我最初的问题是: 仿真器是否像普通的Android手机一样响应(当然这取决于确切的手机,但一般而言)? 有没有办法控制模拟器上的内存? 有没有人在手机上标记过但不是模拟器? 或相反亦然? 您的正常测试程序是什么?在整个测试过程中,或者仿真器在最后进行测试和电话测试? 对于任何反馈,我们都表示感谢。 谢谢,

一只猴子在搞乱我的Android手机究竟是什么?

通过Android apis查看我发现了一个方法调用isUserAMonkey() ,如果手机被猴子弄乱,它会返回true 。 这是一个玩笑,还是用于什么?

Espresso:如何测试SwipeRefreshLayout?

我的应用程序在SwipeRefreshLayout上完成向下滑动时重新加载数据。 现在我尝试使用Android Test Kit / Espresso进行测试,如下所示: onView(withId(R.id.my_refresh_layout)).perform(swipeDown()); 不幸的是,这失败了 android.support.test.espresso.PerformException: Error performing ‘fast swipe’ on view ‘with id: my.app.package:id/my_refresh_layout’. … Caused by: java.lang.RuntimeException: Action will not be performed because the target view does not match one or more of the following constraints: at least 90 percent of the view’s area is displayed to the user. Target […]

Android Studio“未find任何测试”

有没有人能够在Android Studio中运行测试(从GUI而不是终端),我无法从GUI运行测试。 每次我尝试通过GUI运行测试时,我只会收到以下消息: 我可以使用以下命令从终端运行测试: ./gradlew connectedAndroidTest 我在Mac OSX上运行带有插件0.9.0的Gradle 1.11的 Android Studio 0.5.2 我的项目结构如下; MyProject/ src/ androidTest/ java/ com.myproject.app.test/ … (tests source code) … main/ java/ com.myproject.app/ … (source code) … res/ … (resources code) … build.gradle 我的build.gradle文件类似于以下内容: … android { compileSdkVersion 19 buildToolsVersion “19.0.1” defaultConfig { versionCode 12 versionName “2.0” minSdkVersion 9 targetSdkVersion 19 testPackageName […]