gpt4 book ai didi

android - Espresso 自动和手动同时测试

转载 作者:行者123 更新时间:2023-11-28 20:40:44 28 4
gpt4 key购买 nike

我正在为一个通过 NFC 标签与仪器交互的 Android 应用编写 Espresso 自动化测试。在 NFC 读取和与仪器的手动交互期间,我想将 Espresso 测试暂停 3-4 分钟。我们可以在 Espresso 测试期间同时进行自动和手动交互吗?是否可以选择闲置资源,因为在暂停期间会发生 UI 更改?

最佳答案

好吧,我不明白同时进行自动化和手动测试,理论上自动化测试应该加快检查用户与应用程序交互的过程,并减轻手动测试人员的一些工作。

在运行自动化 Espresso 测试的过程中进行手动测试确实是个坏主意。中断测试或更改应用程序状态非常容易,这会导致测试失败。

2015 年谷歌测试自动化大会上公布了 Barista - Espresso 测试记录器。

在 Espresso 中,我看到了三种可能的测试方式:

  1. 制作自定义 Idling 资源类并注册它。
  2. 使用 Java 空闲方法,如 Thread.sleep(240000);
  3. 编写您想要的所有自动化测试,然后运行它们。最后做选定的手动测试。

编辑:根据您的问题,最好的办法是使用Thead.sleep(milliseconds)。它会停止测试所需的时间,例如 3 或 4 分钟。

但 Espresso 测试以随机顺序运行,因此请像这样重新配置现有配置:

build.gradle 中,在 android -> defaultConfig 中声明您的 testInstrumentationRunner,当然还有 Espresso,因此您的 Gradle 文件应包含:

android {
defaultConfig {
testInstrumentationRunner "android.support.test.runner.AndroidJUnitRunner"
}
}

dependencies {
androidTestCompile 'com.android.support:support-annotations:23.+'
androidTestCompile 'com.android.support.test.espresso:espresso-core:2.2.1'
androidTestCompile 'com.android.support.test:runner:0.4.1'
androidTestCompile 'com.android.support.test.espresso:espresso-intents:2.2.1'
/**
* AccessibilityChecks
* CountingIdlingResource
* DrawerActions
* DrawerMatchers
* PickerActions (Time and Date picker)
* RecyclerViewActions
*/
}

Notice: The most important here is to declare AndroidJUnitRunner as your Espresso test runner, as we're gonna to use JUnit4 in ourtest configuration

最后像这样更改您的测试类代码:

 @RunWith(AndroidJUnit4.class)
@FixMethodOrder(MethodSorters.NAME_ASCENDING)
public class EspressoExampleTest {

@Rule
public ActivityTestRule<MainActivity> mRule = new ActivityTestRule<>(MainActivity.class);

@Test
public void checkIfAppNameIsDisplayed() {
onView(withText(R.string.app_name)).check(matches(isDisplayed()));
}

在这里使用 @FixMethodOrder(MethodSorters.NAME_ASCENDING) 会让你的测试类一步一步地执行,一个接一个,所以假设在你的第 8 个测试类之后你会把

 @Test
public void waitUntilManualTestWoulBeDone() {
Thread.sleep(1440000); //sleeps 4 minutes
}

它应该可以工作。

关于android - Espresso 自动和手动同时测试,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34052002/

28 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com