Initial commit
This commit is contained in:
@@ -0,0 +1,50 @@
|
||||
package com.example.retroha
|
||||
import androidx.test.espresso.Espresso.onView
|
||||
import androidx.test.espresso.Espresso.pressBack
|
||||
import androidx.test.espresso.action.ViewActions.click
|
||||
import androidx.test.espresso.action.ViewActions.replaceText
|
||||
import androidx.test.espresso.action.ViewActions.closeSoftKeyboard
|
||||
import androidx.test.espresso.assertion.ViewAssertions.matches
|
||||
import androidx.test.espresso.matcher.ViewMatchers.isDisplayed
|
||||
import androidx.test.espresso.matcher.ViewMatchers.withId
|
||||
import androidx.test.ext.junit.rules.ActivityScenarioRule
|
||||
import androidx.test.ext.junit.runners.AndroidJUnit4
|
||||
import org.junit.Rule
|
||||
import org.junit.Test
|
||||
import org.junit.runner.RunWith
|
||||
@RunWith(AndroidJUnit4::class)
|
||||
class AppNavigationTest {
|
||||
@get:Rule
|
||||
val activityRule = ActivityScenarioRule(MainActivity::class.java)
|
||||
@Test
|
||||
fun testSettingsNavigationAndForms() {
|
||||
Thread.sleep(1000)
|
||||
onView(withId(R.id.btnSettings)).perform(click())
|
||||
Thread.sleep(500)
|
||||
onView(withId(R.id.btnEntitySelection)).check(matches(isDisplayed()))
|
||||
onView(withId(R.id.btnInstructions)).check(matches(isDisplayed()))
|
||||
onView(withId(R.id.btnGoToConnection)).check(matches(isDisplayed()))
|
||||
onView(withId(R.id.btnEntitySelection)).perform(click())
|
||||
Thread.sleep(500)
|
||||
onView(withId(R.id.etSearch)).check(matches(isDisplayed()))
|
||||
onView(withId(R.id.etSearch)).perform(replaceText("light"), closeSoftKeyboard())
|
||||
Thread.sleep(500)
|
||||
pressBack()
|
||||
Thread.sleep(500)
|
||||
onView(withId(R.id.btnInstructions)).perform(click())
|
||||
Thread.sleep(500)
|
||||
pressBack()
|
||||
Thread.sleep(500)
|
||||
onView(withId(R.id.btnGoToConnection)).perform(click())
|
||||
Thread.sleep(500)
|
||||
onView(withId(R.id.etUrl)).check(matches(isDisplayed()))
|
||||
onView(withId(R.id.etToken)).check(matches(isDisplayed()))
|
||||
onView(withId(R.id.etRefreshInterval)).perform(replaceText("60"), closeSoftKeyboard())
|
||||
Thread.sleep(500)
|
||||
pressBack()
|
||||
Thread.sleep(500)
|
||||
pressBack()
|
||||
Thread.sleep(500)
|
||||
onView(withId(R.id.gridView)).check(matches(isDisplayed()))
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,23 @@
|
||||
package com.example.retroha
|
||||
import androidx.test.espresso.Espresso.onView
|
||||
import androidx.test.espresso.action.ViewActions.click
|
||||
import androidx.test.espresso.matcher.ViewMatchers.withText
|
||||
import androidx.test.ext.junit.rules.ActivityScenarioRule
|
||||
import androidx.test.ext.junit.runners.AndroidJUnit4
|
||||
import org.junit.Rule
|
||||
import org.junit.Test
|
||||
import org.junit.runner.RunWith
|
||||
@RunWith(AndroidJUnit4::class)
|
||||
class AutomatedClickTest {
|
||||
@get:Rule
|
||||
val activityRule = ActivityScenarioRule(MainActivity::class.java)
|
||||
@Test
|
||||
fun clickThroughAllTabs() {
|
||||
Thread.sleep(1000)
|
||||
val tabs = listOf("OŚWIETLENIE", "GNIAZDKA", "MOC", "POGODA", "WSZYSTKO")
|
||||
tabs.forEach { tabName ->
|
||||
onView(withText(tabName)).perform(click())
|
||||
Thread.sleep(500)
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,14 @@
|
||||
package com.example.retroha
|
||||
import androidx.test.platform.app.InstrumentationRegistry
|
||||
import androidx.test.ext.junit.runners.AndroidJUnit4
|
||||
import org.junit.Test
|
||||
import org.junit.runner.RunWith
|
||||
import org.junit.Assert.*
|
||||
@RunWith(AndroidJUnit4::class)
|
||||
class ExampleInstrumentedTest {
|
||||
@Test
|
||||
fun useAppContext() {
|
||||
val appContext = InstrumentationRegistry.getInstrumentation().targetContext
|
||||
assertEquals("com.example.retroha", appContext.packageName)
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,65 @@
|
||||
package com.example.retroha
|
||||
import androidx.test.espresso.Espresso.onView
|
||||
import androidx.test.espresso.action.ViewActions.click
|
||||
import androidx.test.espresso.matcher.ViewMatchers.withId
|
||||
import androidx.test.espresso.matcher.ViewMatchers.withText
|
||||
import androidx.test.ext.junit.rules.ActivityScenarioRule
|
||||
import androidx.test.ext.junit.runners.AndroidJUnit4
|
||||
import org.junit.Rule
|
||||
import org.junit.Test
|
||||
import org.junit.runner.RunWith
|
||||
import java.util.Random
|
||||
import androidx.test.espresso.ViewInteraction
|
||||
import android.view.View
|
||||
import org.hamcrest.Matcher
|
||||
import androidx.test.espresso.UiController
|
||||
import androidx.test.espresso.ViewAction
|
||||
import android.view.ViewGroup
|
||||
import android.widget.GridView
|
||||
import org.hamcrest.Description
|
||||
import org.hamcrest.TypeSafeMatcher
|
||||
@RunWith(AndroidJUnit4::class)
|
||||
class MonkeyStressTest {
|
||||
@get:Rule
|
||||
val activityRule = ActivityScenarioRule(MainActivity::class.java)
|
||||
private val random = Random()
|
||||
@Test
|
||||
fun runMonkeyTest() {
|
||||
val iterations = 50
|
||||
val tabs = listOf("WSZYSTKO", "OŚWIETLENIE", "GNIAZDKA", "MOC", "POGODA")
|
||||
for (i in 1..iterations) {
|
||||
val actionType = random.nextInt(3)
|
||||
try {
|
||||
when (actionType) {
|
||||
0 -> {
|
||||
val tab = tabs[random.nextInt(tabs.size)]
|
||||
onView(withText(tab)).perform(click())
|
||||
}
|
||||
1 -> {
|
||||
onView(withId(R.id.gridView)).perform(clickRandomItem())
|
||||
}
|
||||
2 -> {
|
||||
onView(withId(R.id.btnSettings)).perform(click())
|
||||
Thread.sleep(500)
|
||||
androidx.test.espresso.Espresso.pressBack()
|
||||
}
|
||||
}
|
||||
} catch (e: Exception) {
|
||||
}
|
||||
Thread.sleep(200)
|
||||
}
|
||||
}
|
||||
private fun clickRandomItem(): ViewAction {
|
||||
return object : ViewAction {
|
||||
override fun getConstraints(): Matcher<View> = withId(R.id.gridView)
|
||||
override fun getDescription(): String = "Kliknięcie losowego elementu w GridView"
|
||||
override fun perform(uiController: UiController, view: View) {
|
||||
val gridView = view as GridView
|
||||
if (gridView.childCount > 0) {
|
||||
val randomIndex = random.nextInt(gridView.childCount)
|
||||
gridView.getChildAt(randomIndex).performClick()
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user