Xpresso

Kotlin Android Espresso Extensions

Лицензия

Лицензия

Группа

Группа

it.czerwinski.android
Идентификатор

Идентификатор

xpresso
Последняя версия

Последняя версия

1.0
Дата

Дата

Тип

Тип

aar
Описание

Описание

Xpresso
Kotlin Android Espresso Extensions
Ссылка на сайт

Ссылка на сайт

https://czerwinski.it/projects/android-xpresso/
Система контроля версий

Система контроля версий

https://github.com/sczerwinski/android-xpresso

Скачать xpresso

Имя Файла Размер
xpresso-1.0.pom
Обзор

Как подключить последнюю версию

<!-- https://jarcasting.com/artifacts/it.czerwinski.android/xpresso/ -->
<dependency>
    <groupId>it.czerwinski.android</groupId>
    <artifactId>xpresso</artifactId>
    <version>1.0</version>
    <type>aar</type>
</dependency>
// https://jarcasting.com/artifacts/it.czerwinski.android/xpresso/
implementation 'it.czerwinski.android:xpresso:1.0'
// https://jarcasting.com/artifacts/it.czerwinski.android/xpresso/
implementation ("it.czerwinski.android:xpresso:1.0")
'it.czerwinski.android:xpresso:aar:1.0'
<dependency org="it.czerwinski.android" name="xpresso" rev="1.0">
  <artifact name="xpresso" type="aar" />
</dependency>
@Grapes(
@Grab(group='it.czerwinski.android', module='xpresso', version='1.0')
)
libraryDependencies += "it.czerwinski.android" % "xpresso" % "1.0"
[it.czerwinski.android/xpresso "1.0"]

Зависимости

compile (2)

Идентификатор библиотеки Тип Версия
it.czerwinski.android : xpresso-core jar 1.0
it.czerwinski.android : xpresso-recyclerview jar 1.0

runtime (1)

Идентификатор библиотеки Тип Версия
org.jetbrains.kotlin : kotlin-stdlib-jdk8 jar 1.4.20

Модули Проекта

Данный проект не имеет модулей.

Build Release Snapshot Release

Xpresso: Kotlin Extensions for Android Espresso

Core

Maven Central Sonatype Nexus (Snapshots)

Build Configuration

dependencies {
    androidTestImplementation 'it.czerwinski.android:xpresso-core:1.0'
}

Examples

Launching ActivityScenario

@Test
fun myTestMethod() {
    val scenario = launchTestActivity<MyTestActivity>()
    // […]
}

Type-Aware View Interactions

on<TextView>(withText(R.string.hello_world))
    .check(isDisplayed())

on<Button>()
    .check(isDisplayed(), isEnabled())
    .perform(click())

Custom checks:

on<CheckBox>(withId(R.id.terms_and_conditions))
    .check {
        when (it) {
            is Success -> assertFalse(it.value.isChecked)
            is Failure -> assertTrue(it.exception is NoMatchingViewException)
        }
    }

Perform custom actions:

on<CalendarView>()
    .perform(description = "set date") {
        date = Date().time
    }

Bulk Checks

Perform check on all views in a bulk check:

bulkCheck {
    onView(withId(R.id.my_layout))
    on<CheckBox>()
    on<Button>(withText("OK"))
}.all(isDisplayed())

Assert that any of the views passes the check:

bulkCheckFor<Button> {
    onView(withText("OK"))
    onView(withText("Cancel"))
}.any(isEnabled())

RecyclerView

Maven Central Sonatype Nexus (Snapshots)

Build Configuration

dependencies {
    androidTestImplementation 'it.czerwinski.android:xpresso-recyclerview:1.0'
}

Examples

Interactions With Items Of RecyclerView

onRecyclerView(withId(R.id.list))
    .check(isDisplayed())
    .onItem<MyAdapter.ViewHolder>(position = 0) {
        // Interaction with ViewHolder.itemView
        check(hasDescendant(withText("Actions")))
        perform(click())
    }
    .onItem<MyAdapter.ViewHolder>(position = 1) {
        // Interaction with a descendant of ViewHolder.itemView:
        on<Button>(withText("Actions"))
            .check(isDisplayed())
            .perform(click())
    }

Версии библиотеки

Версия
1.0