RuntimeException: не удалось запустить активность при выполнении инструментальных тестов на ферме устройств AWS.

У меня есть несколько инструментальных тестов для Android. Когда я запускаю их в Android Studio (как в эмуляции, так и на устройстве), они работают нормально, однако, когда я запускаю их на ферме устройств AWS, пара из них выходит из строя с ошибкой:

java.lang.RuntimeException: не удалось запустить активность android.support.test.runner.MonitoringInstrumentation.startActivitySync(MonitoringInstrumentation.java:371)

Кажется, это они проверяют фрагменты, но это может вводить в заблуждение. Я новичок в Android, но я думаю, что они оба используют один и тот же APK?

Тест:

package uk.co.stuff

import android.support.test.espresso.Espresso.onView
import android.support.test.espresso.assertion.ViewAssertions.matches
import android.support.test.espresso.matcher.ViewMatchers.isDisplayed
import android.support.test.espresso.matcher.ViewMatchers.withText
import android.support.test.filters.LargeTest
import android.support.test.runner.AndroidJUnit4
import android.support.v4.app.FragmentActivity
import com.android21buttons.fragmenttestrule.FragmentTestRule
import org.hamcrest.CoreMatchers.not
import org.junit.Rule
import org.junit.Test
import org.junit.runner.RunWith
import uk.co.stuff.MyFragment
import uk.co.stuff.models.Driver
import uk.co.stuff.utils.Constants
import uk.co.stuff.utils.DatabaseUtil

@RunWith(AndroidJUnit4::class)
@LargeTest
class ProfileFragmentShould {

    @Rule
    @JvmField
    val fragmentTestRule = 
       FragmentTestRule(FragmentActivity::class.java, MyFragment::class.java, true, true)

    @Test
    fun not_show_payment_details() {
        DatabaseUtil.setUser(Driver().apply { type = Constants.INDEPENDENT_DRIVER })

        fragmentTestRule.launchFragment(MyFragment())

        val paymentDetails = 
          fragmentTestRule.activity.getString(R.string.payment_details)
          onView(withText(paymentDetails)).check(matches(not(isDisplayed())))
    }
}

person user1584120    schedule 14.05.2018    source источник


Ответы (1)


Я использовал неправильный apk. Мне нужно было использовать версии отладки и androidTest, сгенерированные при сборке и сборке AndroidTest.

person user1584120    schedule 14.05.2018