plaid / plaid-link-android

Plaid Link Android SDK
https://plaid.com/docs/link/android
MIT License
114 stars 48 forks source link

Espresso Web: Submit button doesn't get enabled after filling username and passwords fields #240

Open steliosPapAgile opened 1 year ago

steliosPapAgile commented 1 year ago

The problem

We are currently developing an e2e test using espresso web we successfully go through the first two pages ( click Continue and bank selection) when we land on the third page (Credential Screen). After setting Username and Password field values we noticed the following behaviour the submit button doesn't get enabled and the input field show both placeholder text and the values we are setting. We assume the onChange event doesn't get triggered. Is this an error on our behalf or a known issue of esrpesso web?

Environment

Android OS Version Android 10.0
Android Devices/Emulators Pixel 3 API 29
Android Studio Electric Eel 2022.1.1

onWebView() .withElement(findElement(Locator.XPATH, "Xpath"))

        .perform(webClick())
        .perform(webKeys("custom_dev"))
        .withElement(findElement(Locator.XPATH, "Xpath"))
        .perform(webClick())
        .perform(webKeys("password"))


<img width="306" alt="issue" src="https://user-images.githubusercontent.com/113026279/220319194-6c1c74d2-c8d8-42d9-8b8e-788a7b2025ef.png">

1. (Best) A link to a minimal demo app showing the faulty behaviour (a modified version of the sample app would be a great start)
1. (Better) A concise code sample which can be dropped into fresh application
1. A snippet of code for your configuration for opening Link
Kialagao commented 1 year ago

We're experiencing the same issue with the routing number. We are trying to write automated tests with Espresso Web that involve going through the account number link flow, but this issue is blocking us from doing that.

internal fun enterRoutingNumber(number: String) {
        webView
            .findElementUntil(locator = Locator.ID, value = "device-input")
            .perform(clearElement())
            .perform(webClick())
            .perform(webKeys(number))
}

Here's what it looks like with the test routing number 110000000

Screenshot_1688061351

St4B commented 8 months ago

This issue could be closed! We found a way to overcome the problem. You can find more details here!