Trying to automate Google Login/Singup flow in my app

Hi All,

I am trying to create new Google account/Login to my app using Google account.
On the Google account page I am unable to perform click action using the resource IDs.

Below is my code to perform same action.

MobileElement we = driver.findElementByAccessibilityId(“Or create a new account”);

we.click();

TouchAction action = new TouchAction(driver);
action.longPress(we).perform();

driver.findElement(By.xpath("//android.widget.LinearLayout[1]/android.widget.FrameLayout[1]/android.widget.FrameLayout[1]/android.widget.FrameLayout[1]/android.webkit.WebView[1]/android.webkit.WebView[1]/android.view.View[7]/android.view.View[1]")).click();

driver.findElement(By.xpath(".//*[@resource-id=‘createAccount’]")).click();

driver.tap(1, we.getCenter.x, we.getCenter.y, 1);

Nothing above works and clicks the elements.

If I turn on the pointer locations I could see the cross hairs appearing on the element but no success.

The class of the element is android.view.View.

Context is still shown as NATIVE_APP.

Please help. Any help is appreciated.

1 - make sure that webview is enabled to debug inside app ( -> WebView.setWebContentsDebuggingEnabled(true) )
2 - without switching to webview with appium try:

((AppiumDriver) driver).tap(1,  driver.findElement(MobileBy.id("createAccount")), 200);
or
((AppiumDriver) driver).tap(1,  driver.findElement(MobileBy.id("com.google.android.gms:id/createAccount")), 200);

3 - if you prefer switch to webview first than print view elements with “driver.getPageSource()” after opening this page and check how to look like needed element in it (it will be pure HTML code inside and thus locating element is pure like for web elements.)

Thanks Aleksei fir your reply, I will try this out.

Hi, This did not work out. Any other suggestions please.

print here your page source and element you want to tap.

Here is the page source. I am unable to click the “createAccount” element.

<?xml version="1.0" encoding="UTF-8"?>

Also this is Android page while creating a new google account, and does not have WebView. Only Native_APP view.

you page source is absent

<?xml version="1.0" encoding="UTF-8"?><hierarchy rotation="0"><android.widget.FrameLayout index="0" text="" class="android.widget.FrameLayout" package="com.google.android.gms" content-desc="" checkable="false" checked="false" clickable="false" enabled="true" focusable="false" focused="false" scrollable="false" long-clickable="false" password="false" selected="false" bounds="[0,0][1440,2392]" resource-id="" instance="0"><android.widget.LinearLayout index="0" text="" class="android.widget.LinearLayout" package="com.google.android.gms" content-desc="" checkable="false" checked="false" clickable="false" enabled="true" focusable="false" focused="false" scrollable="false" long-clickable="false" password="false" selected="false" bounds="[0,0][1440,2392]" resource-id="" instance="0"><android.widget.FrameLayout index="0" text="" class="android.widget.FrameLayout" package="com.google.android.gms" content-desc="" checkable="false" checked="false" clickable="false" enabled="true" focusable="false" focused="false" scrollable="false" long-clickable="false" password="false" selected="false" bounds="[0,84][1440,2392]" resource-id="android:id/content" instance="1"><android.widget.FrameLayout index="0" text="" class="android.widget.FrameLayout" package="com.google.android.gms" content-desc="" checkable="false" checked="false" clickable="false" enabled="true" focusable="false" focused="false" scrollable="false" long-clickable="false" password="false" selected="false" bounds="[0,84][1440,2392]" resource-id="" instance="2"><android.widget.FrameLayout index="0" text="" class="android.widget.FrameLayout" package="com.google.android.gms" content-desc="" checkable="false" checked="false" clickable="false" enabled="true" focusable="false" focused="false" scrollable="false" long-clickable="false" password="false" selected="false" bounds="[0,84][1440,2392]" resource-id="com.google.android.gms:id/minute_maid" instance="3"><android.webkit.WebView index="0" text="" class="android.webkit.WebView" package="com.google.android.gms" content-desc="" checkable="false" checked="false" clickable="false" enabled="true" focusable="false" focused="false" scrollable="false" long-clickable="false" password="false" selected="false" bounds="[0,84][1440,2392]" resource-id="" instance="0"><android.webkit.WebView index="0" text="" class="android.webkit.WebView" package="com.google.android.gms" content-desc="" checkable="false" checked="false" clickable="false" enabled="true" focusable="true" focused="true" scrollable="true" long-clickable="false" password="false" selected="false" bounds="[0,84][1440,2392]" resource-id="" instance="1"><android.view.View index="0" text="" class="android.view.View" package="com.google.android.gms" content-desc="Add your account" checkable="false" checked="false" clickable="true" enabled="true" focusable="false" focused="false" scrollable="false" long-clickable="false" password="false" selected="false" bounds="[140,798][1130,910]" resource-id="headingText" instance="0"/><android.widget.Spinner index="1" text="" class="android.widget.Spinner" package="com.google.android.gms" content-desc="More options" checkable="false" checked="false" clickable="true" enabled="true" focusable="true" focused="false" scrollable="false" long-clickable="false" password="false" selected="false" bounds="[1197,770][1365,938]" resource-id="overflowMenu" instance="0"/><android.view.View index="2" text="" class="android.view.View" package="com.google.android.gms" content-desc="" checkable="false" checked="false" clickable="false" enabled="true" focusable="false" focused="false" scrollable="false" long-clickable="false" password="false" selected="false" bounds="[140,1225][1302,1393]" resource-id="contentText" instance="1"><android.view.View index="0" text="" class="android.view.View" package="com.google.android.gms" content-desc="Sign in to get the most out of your device." checkable="false" checked="false" clickable="true" enabled="true" focusable="false" focused="false" scrollable="false" long-clickable="false" password="false" selected="false" bounds="[140,1232][1172,1298]" resource-id="" instance="2"/><android.view.View index="1" text="" class="android.view.View" package="com.google.android.gms" content-desc="Learn more" checkable="false" checked="false" clickable="true" enabled="true" focusable="true" focused="false" scrollable="false" long-clickable="false" password="false" selected="false" bounds="[140,1316][427,1382]" resource-id="learnMore" instance="3"/></android.view.View><android.view.View index="3" text="" class="android.view.View" package="com.google.android.gms" content-desc="" checkable="false" checked="false" clickable="false" enabled="true" focusable="false" focused="false" scrollable="false" long-clickable="false" password="false" selected="false" bounds="[140,1449][1302,1645]" resource-id="" instance="4"/><android.view.View index="4" text="" class="android.view.View" package="com.google.android.gms" content-desc="" checkable="false" checked="false" clickable="false" enabled="true" focusable="false" focused="false" scrollable="false" long-clickable="false" password="false" selected="false" bounds="[140,1449][1302,1645]" resource-id="" instance="5"><android.widget.EditText index="0" text="" class="android.widget.EditText" package="com.google.android.gms" content-desc="Enter your email" checkable="false" checked="false" clickable="true" enabled="true" focusable="true" focused="false" scrollable="false" long-clickable="false" password="false" selected="false" bounds="[140,1463][1302,1631]" resource-id="identifierId" instance="0"/></android.view.View><android.view.View index="5" text="" class="android.view.View" package="com.google.android.gms" content-desc="" checkable="false" checked="false" clickable="false" enabled="true" focusable="false" focused="false" scrollable="false" long-clickable="false" password="false" selected="false" bounds="[0,959][0,959]" resource-id="genericError" instance="6"/><android.view.View index="6" text="" class="android.view.View" package="com.google.android.gms" content-desc="" checkable="false" checked="false" clickable="false" enabled="true" focusable="false" focused="false" scrollable="false" long-clickable="false" password="false" selected="false" bounds="[140,1673][140,1673]" resource-id="" instance="7"/><android.view.View index="7" text="" class="android.view.View" package="com.google.android.gms" content-desc="" checkable="false" checked="false" clickable="false" enabled="true" focusable="false" focused="false" scrollable="false" long-clickable="false" password="false" selected="false" bounds="[140,1715][745,1883]" resource-id="" instance="8"><android.view.View index="0" text="" class="android.view.View" package="com.google.android.gms" content-desc="Or create a new account" checkable="false" checked="false" clickable="true" enabled="true" focusable="true" focused="false" scrollable="false" long-clickable="false" password="false" selected="false" bounds="[140,1715][745,1883]" resource-id="createAccount" instance="9"/></android.view.View><android.widget.Button index="8" text="" class="android.widget.Button" package="com.google.android.gms" content-desc="NEXT" checkable="false" checked="false" clickable="true" enabled="false" focusable="false" focused="false" scrollable="false" long-clickable="false" password="false" selected="false" bounds="[1011,2198][1323,2392]" resource-id="identifierNext" instance="0"/></android.webkit.WebView></android.webkit.WebView></android.widget.FrameLayout></android.widget.FrameLayout></android.widget.FrameLayout></android.widget.LinearLayout><android.view.View index="1" text="" class="android.view.View" package="com.google.android.gms" content-desc="" checkable="false" checked="false" clickable="false" enabled="true" focusable="false" focused="false" scrollable="false" long-clickable="false" password="false" selected="false" bounds="[0,0][1440,84]" resource-id="android:id/statusBarBackground" instance="10"/><android.view.View index="2" text="" class="android.view.View" package="com.google.android.gms" content-desc="" checkable="false" checked="false" clickable="false" enabled="true" focusable="false" focused="false" scrollable="false" long-clickable="false" password="false" selected="false" bounds="[0,2392][1440,2560]" resource-id="android:id/navigationBarBackground" instance="11"/></android.widget.FrameLayout></hierarchy>

updated the page source