Add DevelopmentSettingsTest

Bug: 290684887
Test: atest SettingsUITests
Change-Id: I3acda74c96679fcdb531990848e456d5da0ae239
This commit is contained in:
Chaohui Wang
2023-09-11 15:57:25 +08:00
parent a35c6bc139
commit e2e0af282a
3 changed files with 61 additions and 3 deletions

View File

@@ -41,6 +41,7 @@ class AppsSettingsTests {
@Test
fun testAppSettingsListForCalculator() {
device.clickObject(By.text("Calculator"))
device.waitObject(By.text("Open"))
device.assertHasTexts(ON_SCREEN_TEXTS)
}
@@ -63,7 +64,7 @@ class AppsSettingsTests {
"Screen time",
"App battery usage",
"Language",
"Open by default"
"Unused app settings",
)
}
}

View File

@@ -0,0 +1,53 @@
/*
* Copyright (C) 2023 The Android Open Source Project
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
* You may obtain a copy of the License at
*
* http://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing, software
* distributed under the License is distributed on an "AS IS" BASIS,
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
* See the License for the specific language governing permissions and
* limitations under the License.
*/
package com.android.settings.ui
import android.provider.Settings
import androidx.test.ext.junit.runners.AndroidJUnit4
import androidx.test.filters.SmallTest
import androidx.test.uiautomator.UiDevice
import com.android.settings.ui.testutils.SettingsTestUtils.assertHasTexts
import com.android.settings.ui.testutils.SettingsTestUtils.startMainActivityFromHomeScreen
import org.junit.Before
import org.junit.Test
import org.junit.runner.RunWith
@RunWith(AndroidJUnit4::class)
@SmallTest
class DevelopmentSettingsTest {
private lateinit var device: UiDevice
@Before
fun setUp() {
device = startMainActivityFromHomeScreen(Settings.ACTION_APPLICATION_DEVELOPMENT_SETTINGS)
}
@Test
fun hasTexts() {
device.assertHasTexts(ON_SCREEN_TEXTS)
}
private companion object {
val ON_SCREEN_TEXTS = listOf(
"Use developer options",
"Memory",
"Stay awake",
"USB debugging",
"App Compatibility Changes",
)
}
}

View File

@@ -69,8 +69,12 @@ object SettingsTestUtils {
fun UiDevice.assertHasTexts(texts: List<String>) {
val scrollableObj = findObject(By.scrollable(true))
for (text in texts) {
scrollableObj.scrollUntil(Direction.DOWN, Until.findObject(By.text(text)))
assertWithMessage("Missing text: $text").that(waitObject(By.text(text))).isNotNull()
val selector = By.text(text)
assertWithMessage("Missing text: $text").that(
findObject(selector)
?: scrollableObj.scrollUntil(Direction.DOWN, Until.findObject(selector))
?: waitObject(selector)
).isNotNull()
}
}
}