Skip to content

Instantly share code, notes, and snippets.

@AlexZhukovich
Created September 7, 2019 23:53
Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save AlexZhukovich/42e3057ac7e1f882d88b17dacde04a47 to your computer and use it in GitHub Desktop.
Save AlexZhukovich/42e3057ac7e1f882d88b17dacde04a47 to your computer and use it in GitHub Desktop.
Sign In error verification Android UI tests with Appium
class AppiumSignInTest {
private lateinit var appiumDriver: AppiumDriver<AndroidElement>
@Before
fun setup() {
val capabilities = DesiredCapabilities()
capabilities.setCapability(MobileCapabilityType.PLATFORM_NAME, "Android")
capabilities.setCapability(MobileCapabilityType.DEVICE_NAME, "emulator-5554")
capabilities.setCapability("appPackage", "com.alex.mapnotes")
capabilities.setCapability("appActivity", "com.alex.mapnotes.splash.SplashActivity")
appiumDriver = AndroidDriver(URL("http://0.0.0.0:4723/wd/hub"), capabilities)
}
@Test
fun shouldDisplaySinInErrorWhenEmailIsIncorrect() {
val emailValue = "test"
val expectedErrorMessage = "An email address should be valid"
openSignInScreen()
val emailInputField = appiumDriver.findElement(By.id("email"))
emailInputField.setValue(emailValue)
appiumDriver.hideKeyboard()
val signInButton = appiumDriver.findElement(By.id("signIn"))
signInButton.click()
val snacknarError = appiumDriver.findElement(By.xpath("//*[@text='$expectedErrorMessage']"))
assertNotNull(snacknarError)
}
@After
fun tearDown() {
appiumDriver.quit()
}
private fun openSignInScreen() {
val signIn = appiumDriver.findElement(By.id("signIn"))
signIn.click()
}
}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment