I am a beginner to do the espresso test. I am using pressBack but it is not working it should return to the main activity from the second activity. The problem is that the press back is not working and due to this I get NoMatchingViewException. Can someone please help? I looked at different Solutions but I have not found an answer.
mport android.app.Activity
import android.app.Instrumentation
import android.content.Intent
import android.content.pm.ActivityInfo
import android.util.Log
import android.widget.TextView
import androidx.test.core.app.ActivityScenario
import androidx.test.espresso.Espresso.onView
import androidx.test.espresso.action.ViewActions
import androidx.test.espresso.action.ViewActions.*
import androidx.test.espresso.assertion.ViewAssertions.matches
import androidx.test.espresso.intent.Intents
import androidx.test.espresso.intent.matcher.IntentMatchers
import androidx.test.espresso.matcher.ViewMatchers.*
import androidx.test.ext.junit.rules.ActivityScenarioRule
import androidx.test.ext.junit.runners.AndroidJUnit4
import androidx.test.filters.LargeTest
import androidx.test.platform.app.InstrumentationRegistry
import androidx.test.uiautomator.UiDevice
import org.junit.After
import org.junit.Before
import org.junit.Rule
import org.junit.Test
import org.junit.runner.RunWith
/**
* Instrumented test, which will execute on an Android device.
*
* See [testing documentation](http://d.android.com/tools/testing).
*/
@LargeTest
@RunWith(AndroidJUnit4::class)
class MainActivityTest {
private var ivWeribeeZoo = 0
private var tvWeribeeName = 0
private var tvWeribeeRating = 0
private var ieWeribeeName = 0
private var etWeribeeRate = 0
private var ieDate = 0
@get:Rule
var activityRule: ActivityScenarioRule<MainActivity>
= ActivityScenarioRule(MainActivity::class.java)
@Before
fun setUP()
{
ivWeribeeZoo = R.id.ivWeribeeZoo
tvWeribeeName = R.id.tvZooName
tvWeribeeRating = R.id.suRating
ieWeribeeName = R.id.itName
etWeribeeRate = R.id.etRating
ieDate = R.id.itDate
}
@Test
fun nameInMainMatchesNewName() {
//val activityScenario = ActivityScenario.launch(MainActivity::class.java)
onView(withId(ivWeribeeZoo)).perform(click())
onView(withId(ieWeribeeName)).perform(clearText(), typeText("ZOO"))
closeSoftKeyboard()
/* val mDevice:UiDevice = UiDevice.getInstance(InstrumentationRegistry.getInstrumentation())
mDevice.pressBack()*/
onView(isRoot()).perform(pressBack())
onView(withId(tvWeribeeName)).check(matches(withText("ZOO")))
}