Fixed ZimHostFragment which is failing on API level 33.

* Improved the permission.
* Enabled wifi programmatically in emulator.
* Improved test case for showing "Wifi connection dialog".
This commit is contained in:
MohitMaliFtechiz 2024-01-09 20:58:17 +05:30
parent ed4f072048
commit 87632c5f6a
3 changed files with 19 additions and 7 deletions

View File

@ -53,14 +53,16 @@ class ZimHostFragmentTest {
arrayOf(
Manifest.permission.READ_EXTERNAL_STORAGE,
Manifest.permission.WRITE_EXTERNAL_STORAGE,
Manifest.permission.NEARBY_WIFI_DEVICES
Manifest.permission.NEARBY_WIFI_DEVICES,
Manifest.permission.ACCESS_NETWORK_STATE
)
} else {
arrayOf(
Manifest.permission.READ_EXTERNAL_STORAGE,
Manifest.permission.WRITE_EXTERNAL_STORAGE,
Manifest.permission.ACCESS_COARSE_LOCATION,
Manifest.permission.ACCESS_FINE_LOCATION
Manifest.permission.ACCESS_FINE_LOCATION,
Manifest.permission.ACCESS_NETWORK_STATE
)
}

View File

@ -24,6 +24,7 @@ import androidx.test.espresso.action.ViewActions.click
import androidx.test.espresso.assertion.ViewAssertions.matches
import androidx.test.espresso.matcher.ViewMatchers
import androidx.test.espresso.matcher.ViewMatchers.assertThat
import androidx.test.espresso.matcher.ViewMatchers.withText
import applyWithViewHierarchyPrinting
import com.adevinta.android.barista.interaction.BaristaSleepInteractions
import com.adevinta.android.barista.interaction.BaristaSwipeRefreshInteractions.refresh
@ -64,14 +65,21 @@ class ZimHostRobot : BaseRobot() {
}
fun clickOnTestZim() {
pauseForBetterTestPerformance()
clickOn(Text("Test_Zim"))
}
fun startServer() {
// stop the server if it is already running.
stopServerIfAlreadyStarted()
clickOn(ViewId(R.id.startServerButton))
assetWifiDialogDisplayed()
onView(withText("PROCEED")).perform(click())
}
private fun assetWifiDialogDisplayed() {
pauseForBetterTestPerformance()
isVisible(TextId(R.string.wifi_dialog_title))
clickOn(TextId(R.string.hotspot_dialog_neutral_button))
isVisible(Text("WiFi connection detected"))
}
fun assertServerStarted() {
@ -110,7 +118,6 @@ class ZimHostRobot : BaseRobot() {
}
private fun selectZimFile(position: Int) {
pauseForBetterTestPerformance()
try {
onView(
RecyclerViewMatcher(R.id.recyclerViewZimHost).atPositionOnView(
@ -119,7 +126,6 @@ class ZimHostRobot : BaseRobot() {
)
).check(matches(ViewMatchers.isChecked()))
} catch (assertionError: AssertionFailedError) {
pauseForBetterTestPerformance()
onView(
RecyclerViewMatcher(R.id.recyclerViewZimHost).atPositionOnView(
position,
@ -148,6 +154,6 @@ class ZimHostRobot : BaseRobot() {
}
private fun pauseForBetterTestPerformance() {
BaristaSleepInteractions.sleep(TestUtils.TEST_PAUSE_MS_FOR_DOWNLOAD_TEST.toLong())
BaristaSleepInteractions.sleep(TestUtils.TEST_PAUSE_MS.toLong())
}
}

View File

@ -1,5 +1,7 @@
#!/usr/bin/env bash
# Enable Wi-Fi on the emulator
adb shell svc wifi enable
adb logcat -c
adb logcat ./*:E -v color &
retry=0
@ -11,6 +13,8 @@ do
else
adb kill-server
adb start-server
# Enable Wi-Fi on the emulator
adb shell svc wifi enable
adb logcat -c
adb logcat ./*:E -v color &
./gradlew clean