From 3f0bbba51e48f09cdef412e8850cac4ee653fea9 Mon Sep 17 00:00:00 2001 From: "n.shevtsov" Date: Thu, 12 May 2022 13:57:01 +0500 Subject: [PATCH 1/4] clicks in different places within view --- .../tests/espresso/CustomClicksTest.kt | 48 ++++ sample-app/src/main/AndroidManifest.xml | 59 ++-- .../activity/CustomClicksActivity.kt | 12 + .../sampleapp/activity/MainActivity.kt | 4 + .../res/layout/activity_custom_clicks.xml | 124 ++++++++ .../main/res/menu/activity_main_drawer.xml | 6 +- sample-app/src/main/res/values/strings.xml | 1 + .../espresso/UltronEspressoInteraction.kt | 268 +++++++++--------- .../espresso/action/EspressoActionType.kt | 1 + .../action/UltronCustomClickAction.kt | 164 +++++++++++ .../ultron/extensions/MatcherViewExt.kt | 10 + 11 files changed, 537 insertions(+), 160 deletions(-) create mode 100644 sample-app/src/androidTest/java/com/atiurin/sampleapp/tests/espresso/CustomClicksTest.kt create mode 100644 sample-app/src/main/java/com/atiurin/sampleapp/activity/CustomClicksActivity.kt create mode 100644 sample-app/src/main/res/layout/activity_custom_clicks.xml create mode 100644 ultron/src/main/java/com/atiurin/ultron/core/espresso/action/UltronCustomClickAction.kt diff --git a/sample-app/src/androidTest/java/com/atiurin/sampleapp/tests/espresso/CustomClicksTest.kt b/sample-app/src/androidTest/java/com/atiurin/sampleapp/tests/espresso/CustomClicksTest.kt new file mode 100644 index 00000000..f1bbcb57 --- /dev/null +++ b/sample-app/src/androidTest/java/com/atiurin/sampleapp/tests/espresso/CustomClicksTest.kt @@ -0,0 +1,48 @@ +package com.atiurin.sampleapp.tests.espresso + +import androidx.test.core.app.ActivityScenario +import androidx.test.espresso.matcher.ViewMatchers.withId +import com.atiurin.sampleapp.R +import com.atiurin.sampleapp.activity.CustomClicksActivity +import com.atiurin.sampleapp.tests.BaseTest +import com.atiurin.ultron.extensions.* +import com.atiurin.ultron.testlifecycle.setupteardown.SetUpRule +import org.junit.Test + +class CustomClicksTest: BaseTest() { + + private val startActivity = SetUpRule().add { + ActivityScenario.launch(CustomClicksActivity::class.java) + } + + init { + ruleSequence.addLast(startActivity) + } + + @Test + fun clickTopLeft() { + withId(R.id.imageView).clickTopLeft(offsetX = 30, offsetY = 30) + withId(R.id.rB_top_left).isChecked() + + withId(R.id.imageView).clickTopCenter(offsetY = 30) + withId(R.id.rB_top_center).isChecked() + + withId(R.id.imageView).clickTopRight(offsetX = -30, offsetY = 30) + withId(R.id.rB_top_right).isChecked() + + withId(R.id.imageView).clickCenterRight(offsetX = -30) + withId(R.id.rB_center_right).isChecked() + + withId(R.id.imageView).clickBottomRight(offsetX = -30, offsetY = -30) + withId(R.id.rB_bottom_right).isChecked() + + withId(R.id.imageView).clickBottomCenter(offsetY = -30) + withId(R.id.rB_bottom_center).isChecked() + + withId(R.id.imageView).clickBottomLeft(offsetX = 30, offsetY = -30) + withId(R.id.rB_bottom_left).isChecked() + + withId(R.id.imageView).clickCenterLeft(offsetX = 30) + withId(R.id.rB_center_right).isChecked() + } +} \ No newline at end of file diff --git a/sample-app/src/main/AndroidManifest.xml b/sample-app/src/main/AndroidManifest.xml index 800919d4..e465263a 100644 --- a/sample-app/src/main/AndroidManifest.xml +++ b/sample-app/src/main/AndroidManifest.xml @@ -1,20 +1,20 @@ + package="com.atiurin.sampleapp"> + - + android:allowBackup="true" + android:icon="@mipmap/ic_launcher" + android:label="@string/app_name" + android:requestLegacyExternalStorage="true" + android:roundIcon="@mipmap/ic_launcher_round" + android:supportsRtl="true" + android:theme="@style/AppTheme" + android:usesCleartextTraffic="true"> + @@ -22,31 +22,28 @@ - + android:name="com.atiurin.sampleapp.activity.MainActivity" + android:label="@string/app_name" + android:theme="@style/AppTheme.NoActionBar" /> - + android:name="com.atiurin.sampleapp.activity.ChatActivity" + android:theme="@style/AppTheme.NoActionBar" /> - + android:name="com.atiurin.sampleapp.activity.LoginActivity" + android:theme="@style/AppTheme" /> - + android:name="com.atiurin.sampleapp.activity.ProfileActivity" + android:theme="@style/AppTheme.NoActionBar" /> - + android:name="com.atiurin.sampleapp.activity.UiElementsActivity" + android:theme="@style/AppTheme.NoActionBar" /> - + android:theme="@style/AppTheme.NoActionBar" /> + \ No newline at end of file diff --git a/sample-app/src/main/java/com/atiurin/sampleapp/activity/CustomClicksActivity.kt b/sample-app/src/main/java/com/atiurin/sampleapp/activity/CustomClicksActivity.kt new file mode 100644 index 00000000..a2428411 --- /dev/null +++ b/sample-app/src/main/java/com/atiurin/sampleapp/activity/CustomClicksActivity.kt @@ -0,0 +1,12 @@ +package com.atiurin.sampleapp.activity + +import androidx.appcompat.app.AppCompatActivity +import android.os.Bundle +import com.atiurin.sampleapp.R + +class CustomClicksActivity : AppCompatActivity() { + override fun onCreate(savedInstanceState: Bundle?) { + super.onCreate(savedInstanceState) + setContentView(R.layout.activity_custom_clicks) + } +} \ No newline at end of file diff --git a/sample-app/src/main/java/com/atiurin/sampleapp/activity/MainActivity.kt b/sample-app/src/main/java/com/atiurin/sampleapp/activity/MainActivity.kt index daf046ad..b9c3cab9 100644 --- a/sample-app/src/main/java/com/atiurin/sampleapp/activity/MainActivity.kt +++ b/sample-app/src/main/java/com/atiurin/sampleapp/activity/MainActivity.kt @@ -132,6 +132,10 @@ class MainActivity : AppCompatActivity(), NavigationView.OnNavigationItemSelecte val intent = Intent(applicationContext, WebViewActivity::class.java) startActivity(intent) } + R.id.custom_clicks_nav_item -> { + val intent = Intent(applicationContext, CustomClicksActivity::class.java) + startActivity(intent) + } } val drawerLayout: DrawerLayout = findViewById(R.id.drawer_layout) drawerLayout.closeDrawer(GravityCompat.START) diff --git a/sample-app/src/main/res/layout/activity_custom_clicks.xml b/sample-app/src/main/res/layout/activity_custom_clicks.xml new file mode 100644 index 00000000..c5c8659e --- /dev/null +++ b/sample-app/src/main/res/layout/activity_custom_clicks.xml @@ -0,0 +1,124 @@ + + + + + +