| package io.appium.droiddriver.manualtest; |
| |
| import android.app.Activity; |
| |
| import io.appium.droiddriver.finders.By; |
| import io.appium.droiddriver.finders.Finder; |
| import io.appium.droiddriver.helpers.BaseDroidDriverTest; |
| import io.appium.droiddriver.helpers.DroidDrivers; |
| import io.appium.droiddriver.helpers.DroidDriversInitializer; |
| import io.appium.droiddriver.uiautomation.UiAutomationDriver; |
| |
| /** |
| * This is for manually testing DroidDriver. It is not meant for continuous |
| * testing. Instead it is used for debugging failures. It assumes the device is |
| * in a condition that is ready to reproduce a failure. For example, |
| * {@link #testSetTextForPassword} assumes the password_edit field is displayed |
| * on screen. |
| * <p> |
| * Run it with |
| * |
| * <pre> |
| * ../gradlew :connectedAndroidTest |
| * </pre> |
| */ |
| public class ManualTest extends BaseDroidDriverTest<Activity> { |
| public ManualTest() { |
| super(Activity.class); |
| } |
| |
| // This does not instrument a certain AUT, so InstrumentationDriver won't work |
| protected void classSetUp() { |
| DroidDrivers.checkUiAutomation(); |
| DroidDriversInitializer.get(new UiAutomationDriver(getInstrumentation())).singleRun(); |
| } |
| |
| public void testSetTextForPassword() { |
| Finder password_edit = By.resourceId("com.google.android.gsf.login:id/password_edit"); |
| String oldPassword = "A fake password that is not empty and needs to be cleared by setText"; |
| String newPassword = "1"; |
| driver.on(password_edit).setText(oldPassword); |
| driver.on(password_edit).setText(newPassword); |
| // This won't work because password_edit does not reveal text to |
| // Accessibility service. But you can see the length changed on screen. |
| // assertEquals(newPassword, driver.on(password_edit).getText()); |
| assertEquals(null, driver.on(password_edit).getText()); |
| } |
| } |