java.lang.NullPointerException after the app launches and crashes immediately

Here is project java files:

  1. device

package driver;

public class deviceAndroid {

public static final String appiumVersion = "1.6.4";
public static final String platformName = "Android";
public static final String platformVersion = "5.1";
public static final String deviceName = "Android";
public static final String device = "Android";
public static final String URL = "http://127.0.0.1:4723/wd/hub";

public static final String appName = "app.apk";
public static final String appDir = "/Users/xyx/";
public static final String appPackage = "com.xyz.mobile";
public static final String appActivity = "com.xyz.mobile.App";

}

  1. feature file: login.feature
    @orig
    Feature: Test scenarios for Login/Sign Up flow

Scenario: Validating the functionality of dropdown the Country Selection screen
Given I am testing base app I should be on Country Selection Screen after launching the app
When I click on Country Dropdown
And Select one country from Dropdown
Then on selecting a country dropdown should closed

  1. AppiumBaseClass.java
    package misc;

import io.appium.java_client.AppiumDriver;

public abstract class AppiumBaseClass {

protected AppiumDriver driver() {
    return Utils.instance.driver;
}

}

  1. Utils.java
    package misc;

import java.io.File;
import java.net.MalformedURLException;
import java.net.URL;
import java.util.concurrent.TimeUnit;

import org.openqa.selenium.By;
import org.openqa.selenium.WebDriver;
import org.openqa.selenium.chrome.ChromeDriver;
import org.openqa.selenium.remote.DesiredCapabilities;
import org.openqa.selenium.support.ui.ExpectedConditions;
import org.openqa.selenium.support.ui.WebDriverWait;

import io.appium.java_client.AppiumDriver;
import io.appium.java_client.android.AndroidDriver;
import io.appium.java_client.ios.IOSDriver;
import io.appium.java_client.remote.MobileCapabilityType;
import driver.deviceAndroid;
import driver.deviceIOS;

public class Utils {

public static OS executionOS = OS.ANDROID;

public enum OS {
	ANDROID,
	IOS,
	WEB
}

public static Utils instance = new Utils();
public AppiumDriver driver;
public WebDriver driverweb;
static WebDriverWait wait;

public String appAndroidName = "test.apk";
public String Android_APP_DIR = "/Users/xyz/";

public String appIOSName = "test.ipa";
public String IOS_APP_DIR = "/Users/xyz";

public String URL = "https://xyz.com/";

protected String androidID = "com.xyz.mobile:id/";

public void init() throws MalformedURLException {
	if (driver != null) {
      return;
	}
	
	switch(executionOS) {
	case ANDROID:
		File app = getAndroidAppFile();
		System.out.println(app.getName());
		
		DesiredCapabilities capabilties = new DesiredCapabilities();
		capabilties.setCapability(MobileCapabilityType.PLATFORM_NAME, deviceAndroid.platformName);
		capabilties.setCapability(MobileCapabilityType.PLATFORM_VERSION, "5.1");
		capabilties.setCapability(MobileCapabilityType.DEVICE_NAME, "NotUsed");
		capabilties.setCapability(MobileCapabilityType.APP, "/Users/xyz/test.apk");
		capabilties.setCapability("appPackage", deviceAndroid.appPackage);
		capabilties.setCapability("appActivity", deviceAndroid.appActivity);
		driver = new AppiumDriver(new URL(deviceAndroid.URL), capabilties);
		wait = new WebDriverWait(driver, 80);
		break;
	
	case IOS:
		app = getIOSAppFile();
		capabilties = new DesiredCapabilities();
		capabilties.setCapability(MobileCapabilityType.PLATFORM_NAME, deviceIOS.platformName);
		capabilties.setCapability(MobileCapabilityType.DEVICE_NAME, deviceIOS.deviceName);
		capabilties.setCapability(MobileCapabilityType.AUTOMATION_NAME, deviceIOS.automationName);
		capabilties.setCapability(MobileCapabilityType.APP, "/Users/xyz/Test.app");
		driver = new IOSDriver(new URL(deviceIOS.URL), capabilties);
		wait = new WebDriverWait(driver, 80);
		break;
		
	case WEB:
		System.setProperty("webdriver.driver.chrome", "chromedriver");
		driverweb = new ChromeDriver();
		driverweb.get(URL);
		break;
	}
	driver.manage().timeouts().implicitlyWait(20, TimeUnit.SECONDS);
}

public File getAndroidAppFile() {
	File appDir = new File(Android_APP_DIR);
	return new File(appDir, appAndroidName);
}

public File getIOSAppFile() {

	File appDir = new File(IOS_APP_DIR);
	return new File(appDir, appIOSName);

}

protected void waitForVisibility(String id){
	
	wait.until(ExpectedConditions.visibilityOfAllElementsLocatedBy(By.id(id)));

}

protected void waitForClickability(String id){
	
	wait.until(ExpectedConditions.elementToBeClickable(By.id(id)));

}

public void killAutomationServer() {
	if (driver != null) {
        driver.quit();
        driver = null;
    } else if(driverweb != null) {
    	driverweb.quit();
        driverweb = null;
    }
}

public static void sleep(int sleeptime) {
	try {
		Thread.sleep(sleeptime);
	} catch (InterruptedException e) {
		e.printStackTrace();
	}
}

}

  1. runCucumberTest.java

package runner;

import org.junit.runner.RunWith;
import org.testng.annotations.Test;

import cucumber.api.CucumberOptions;
import cucumber.api.junit.Cucumber;
import cucumber.api.testng.AbstractTestNGCucumberTests;

@RunWith(Cucumber.class)
@CucumberOptions(features = “classpath:features”,
glue = “classpath:testcases”,
tags = “@orig”,
plugin = {“pretty”})
public class RunCucumberTest extends AbstractTestNGCucumberTests {
}

  1. CountrySelectorPage.java

package screens;

public interface CountrySelectorPage {

public void waitForCountrySelectorScreen();

public void clickCountrySpinner();

public void selectOneCountry();

public LandingPage clickContinueButton();

}

  1. CountrySelectorPageAndroid.java

package screens;

import io.appium.java_client.AppiumDriver;
import io.appium.java_client.MobileElement;
import io.appium.java_client.SwipeElementDirection;
import io.appium.java_client.android.AndroidDriver;
import io.appium.java_client.functions.ExpectedCondition;
import io.appium.java_client.pagefactory.AppiumFieldDecorator;
import misc.Utils;
import screens.*;

import org.openqa.selenium.By;
import org.openqa.selenium.WebElement;
import org.openqa.selenium.support.FindBy;
import org.openqa.selenium.support.PageFactory;
import org.openqa.selenium.support.ui.ExpectedConditions;
import org.openqa.selenium.support.ui.WebDriverWait;

import cucumber.api.java.en.And;
import cucumber.api.java.en.Given;
import cucumber.api.java.en.Then;
import cucumber.api.java.en.When;

public class CountrySelectorPageAndroid extends Utils implements CountrySelectorPage {

/*@FindBy(linkText = "Please confirm or change your country")
public MobileElement country_screen_heading;*/

public CountrySelectorPageAndroid(AppiumDriver driver) {
	this.driver = driver;
}

By country_selector_spinner = By.id(androidID + "spinnerRow");
By continue_button = By.xpath("//android.widget.Button[@text='Continue']");	

public void waitForCountrySelectorScreen() {
	
	waitForClickability(androidID + "spinnerRow");
	
}

public void clickCountrySpinner() {
	
	waitForClickability(androidID + "spinnerRow");
	driver.findElement(country_selector_spinner).click();

	
}

public void selectOneCountry() {
	
	waitForClickability(androidID + "spinnerRow");
	MobileElement element = (MobileElement)driver.findElement(By.xpath("//android.widget.CheckedTextView[@text='India']"));
	Utils.sleep(1000);

	for(int i=0;i<=3;i++)
	{
		element.swipe(SwipeElementDirection.UP, 1000);
	}

	driver.findElement(By.id("//android.widget.CheckedTextView[@text='United States of America']")).click();
}

public LandingPageAndroid clickContinueButton() {
	
	waitForClickability(androidID + "spinnerRow");
	driver.findElement(continue_button).click();
	return new LandingPageAndroid(driver);
	
}

}

  1. TestLoginFlow.java

package testcases;

import io.appium.java_client.AppiumDriver;

import java.net.MalformedURLException;

import misc.Utils;

import org.openqa.selenium.WebDriver;
import org.testng.annotations.AfterTest;
import org.testng.annotations.BeforeTest;

import screens.CountrySelectorPage;
import screens.CountrySelectorPageAndroid;
import screens.CountrySelectorPageIOS;
import screens.LandingPage;
import screens.LandingPageAndroid;
import screens.LandingPageIOS;
import cucumber.api.java.After;
import cucumber.api.java.Before;
import cucumber.api.java.en.And;
import cucumber.api.java.en.Given;
import cucumber.api.java.en.Then;
import cucumber.api.java.en.When;

public class TestLoginFlow {

public AppiumDriver driver;
public WebDriver driverweb;

CountrySelectorPage countrySelector;
LandingPage landingPage;

@Before
public void test() throws MalformedURLException {
	
	Utils.instance.init();
	
	switch (Utils.executionOS) {
	case ANDROID:
		countrySelector = new CountrySelectorPageAndroid(driver);

// landingPage = new LandingPageAndroid(driver);
break;
case IOS:
countrySelector = new CountrySelectorPageIOS(driver);
landingPage = new LandingPageIOS(driver);
break;
case WEB:
break;

	} 
}

@Given("^I am testing base app I should be on Country Selection Screen after launching the app$")
public void i_am_testing_base_app_I_should_be_on_Country_Selection_Screen_after_launching_the_app() {
    countrySelector.waitForCountrySelectorScreen();
}

@When("^I click on Country Dropdown$")
public void i_click_on_Country_Dropdown() {
	countrySelector.clickCountrySpinner();
}

@And("^Select one country from Dropdown$")
public void select_one_country_from_Dropdown() {
	countrySelector.selectOneCountry();
}

@Then("^on selecting a country dropdown should closed$")
public void on_selecting_a_country_dropdown_should_closed() {
	countrySelector.clickContinueButton();
}

@After
public void tearDown() {
    Utils.instance.killAutomationServer();
}

}

On running the runner file app giver nullpointerexception. Error log is here: Console output:
[TestNG] Running:
/private/var/folders/d_/c22g6js131j48gyxkfg6rtc00000gn/T/testng-eclipse–100484521/testng-customsuite.xml

@orig
Feature: Test scenarios for Login/Sign Up flow
mobilepay-release.apk

Scenario: Validating the functionality of dropdown the Country Selection screen e[90m# features/login.feature:4e[0m
e[32mGiven e[0me[32mI am testing base app I should be on Country Selection Screen after launching the appe[0m e[90m# TestLoginFlow.i_am_testing_base_app_I_should_be_on_Country_Selection_Screen_after_launching_the_app()e[0m
e[31mWhen e[0me[31mI click on Country Dropdowne[0m e[90m# TestLoginFlow.i_click_on_Country_Dropdown()e[0m
e[31mjava.lang.NullPointerException
at screens.CountrySelectorPageAndroid.clickCountrySpinner(CountrySelectorPageAndroid.java:45)
at testcases.TestLoginFlow.i_click_on_Country_Dropdown(TestLoginFlow.java:61)
at ✽.When I click on Country Dropdown(features/login.feature:6)
e[0m
e[36mAnd e[0me[36mSelect one country from Dropdowne[0m e[90m# TestLoginFlow.select_one_country_from_Dropdown()e[0m
e[36mThen e[0me[36mon selecting a country dropdown should closede[0m e[90m# TestLoginFlow.on_selecting_a_country_dropdown_should_closed()e[0m

e[31mFailed scenarios:e[0m
e[31mfeatures/login.feature:4 e[0m# Scenario: Validating the functionality of dropdown the Country Selection screen

1 Scenarios (e[31m1 failede[0m)
4 Steps (e[31m1 failede[0m, e[36m2 skippede[0m, e[32m1 passede[0m)
0m25.164s

java.lang.NullPointerException
at screens.CountrySelectorPageAndroid.clickCountrySpinner(CountrySelectorPageAndroid.java:45)
at testcases.TestLoginFlow.i_click_on_Country_Dropdown(TestLoginFlow.java:61)
at ✽.When I click on Country Dropdown(features/login.feature:6)

FAILED: feature(Test scenarios for Login/Sign Up flow)
Runs Cucumber Feature
cucumber.runtime.CucumberException: java.lang.NullPointerException
at cucumber.api.testng.TestNGCucumberRunner.runCucumber(TestNGCucumberRunner.java:69)
at cucumber.api.testng.AbstractTestNGCucumberTests.feature(AbstractTestNGCucumberTests.java:21)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
at java.lang.reflect.Method.invoke(Method.java:498)
at org.testng.internal.MethodInvocationHelper.invokeMethod(MethodInvocationHelper.java:84)
at org.testng.internal.Invoker.invokeMethod(Invoker.java:714)
at org.testng.internal.Invoker.invokeTestMethod(Invoker.java:901)
at org.testng.internal.Invoker.invokeTestMethods(Invoker.java:1231)
at org.testng.internal.TestMethodWorker.invokeTestMethods(TestMethodWorker.java:127)
at org.testng.internal.TestMethodWorker.run(TestMethodWorker.java:111)
at org.testng.TestRunner.privateRun(TestRunner.java:767)
at org.testng.TestRunner.run(TestRunner.java:617)
at org.testng.SuiteRunner.runTest(SuiteRunner.java:334)
at org.testng.SuiteRunner.runSequentially(SuiteRunner.java:329)
at org.testng.SuiteRunner.privateRun(SuiteRunner.java:291)
at org.testng.SuiteRunner.run(SuiteRunner.java:240)
at org.testng.SuiteRunnerWorker.runSuite(SuiteRunnerWorker.java:52)
at org.testng.SuiteRunnerWorker.run(SuiteRunnerWorker.java:86)
at org.testng.TestNG.runSuitesSequentially(TestNG.java:1224)
at org.testng.TestNG.runSuitesLocally(TestNG.java:1149)
at org.testng.TestNG.run(TestNG.java:1057)
at org.testng.remote.RemoteTestNG.run(RemoteTestNG.java:111)
at org.testng.remote.RemoteTestNG.initAndRun(RemoteTestNG.java:204)
at org.testng.remote.RemoteTestNG.main(RemoteTestNG.java:175)
Caused by: java.lang.NullPointerException
at screens.CountrySelectorPageAndroid.clickCountrySpinner(CountrySelectorPageAndroid.java:45)
at testcases.TestLoginFlow.i_click_on_Country_Dropdown(TestLoginFlow.java:61)
at ✽.When I click on Country Dropdown(features/login.feature:6)

===============================================
Default test
Tests run: 1, Failures: 1, Skips: 0

===============================================
Default suite
Total tests run: 1, Failures: 1, Skips: 0

[TestNG] Time taken by org.testng.reporters.XMLReporter@12f40c25: 5 ms
[TestNG] Time taken by org.testng.reporters.EmailableReporter2@2eafffde: 4 ms
[TestNG] Time taken by org.testng.reporters.jq.Main@2db0f6b2: 19 ms
[TestNG] Time taken by org.testng.reporters.JUnitReportReporter@64cee07: 3 ms
[TestNG] Time taken by [FailedReporter passed=0 failed=0 skipped=0]: 3 ms
[TestNG] Time taken by org.testng.reporters.SuiteHTMLReporter@27ddd392: 9 ms

TestNG Result:
cucumber.runtime.CucumberException: java.lang.NullPointerException
at cucumber.api.testng.TestNGCucumberRunner.runCucumber(TestNGCucumberRunner.java:69)
at cucumber.api.testng.AbstractTestNGCucumberTests.feature(AbstractTestNGCucumberTests.java:21)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
at java.lang.reflect.Method.invoke(Method.java:498)
at org.testng.internal.MethodInvocationHelper.invokeMethod(MethodInvocationHelper.java:84)
at org.testng.internal.Invoker.invokeMethod(Invoker.java:714)
at org.testng.internal.Invoker.invokeTestMethod(Invoker.java:901)
at org.testng.internal.Invoker.invokeTestMethods(Invoker.java:1231)
at org.testng.internal.TestMethodWorker.invokeTestMethods(TestMethodWorker.java:127)
at org.testng.internal.TestMethodWorker.run(TestMethodWorker.java:111)
at org.testng.TestRunner.privateRun(TestRunner.java:767)
at org.testng.TestRunner.run(TestRunner.java:617)
at org.testng.SuiteRunner.runTest(SuiteRunner.java:334)
at org.testng.SuiteRunner.runSequentially(SuiteRunner.java:329)
at org.testng.SuiteRunner.privateRun(SuiteRunner.java:291)
at org.testng.SuiteRunner.run(SuiteRunner.java:240)
at org.testng.SuiteRunnerWorker.runSuite(SuiteRunnerWorker.java:52)
at org.testng.SuiteRunnerWorker.run(SuiteRunnerWorker.java:86)
at org.testng.TestNG.runSuitesSequentially(TestNG.java:1224)
at org.testng.TestNG.runSuitesLocally(TestNG.java:1149)
at org.testng.TestNG.run(TestNG.java:1057)
at org.testng.remote.RemoteTestNG.run(RemoteTestNG.java:111)
at org.testng.remote.RemoteTestNG.initAndRun(RemoteTestNG.java:204)
at org.testng.remote.RemoteTestNG.main(RemoteTestNG.java:175)
Caused by: java.lang.NullPointerException
at screens.CountrySelectorPageAndroid.clickCountrySpinner(CountrySelectorPageAndroid.java:45)
at testcases.TestLoginFlow.i_click_on_Country_Dropdown(TestLoginFlow.java:61)
at ✽.When I click on Country Dropdown(features/login.feature:6)

I tried debugging it seems driver initialization could be the issue. Help will highly appreciated
Thanks,
Anand

Are you running on an emulator or real device? Does the app run without crashing when you launch it manually? What do the appium logs say?

@Brian_Watson

App is working just fine manually. Testcases giving javanullpointerexception whenever there is click() action.

Here is the appium log:
[Appium] Welcome to Appium v1.6.4
[Appium] Appium REST http interface listener started on 0.0.0.0:4723
[HTTP] --> POST /wd/hub/session {“capabilities”:[{“desiredCapabilities”:{“app”:"/Users/Anand/Testing/Office/passport-automation/apps/mobilepay-release.apk",“appPackage”:“com.passportparking.mobile”,“appActivity”:“com.passportparking.mobile.MobilePayApp”,“platformVersion”:“5.1”,“platformName”:“Android”,“deviceName”:“NotUsed”}},{“requiredCapabilities”:{}}],“desiredCapabilities”:{“app”:"/Users/Anand/Testing/Office/passport-automation/apps/mobilepay-release.apk",“appPackage”:“com.passportparking.mobile”,“appActivity”:“com.passportparking.mobile.MobilePayApp”,“platformVersion”:“5.1”,“platformName”:“Android”,“deviceName”:“NotUsed”},“requiredCapabilities”:{}}
[debug] [MJSONWP] Calling AppiumDriver.createSession() with args: [{“app”:"/Users/Anand/Testing/Office/passport-automation/apps/mobilepay-release.apk",“appPackage”:“com.passportparking.mobile”,“appActivity”:“com.passportparking.mobile.MobilePayApp”,“platformVersion”:“5.1”,“platformName”:“Android”,“deviceName”:“NotUsed”},{},[{“desiredCapabilities”:{“app”:"/Users/Anand/Testing/Office/passport-automation/apps/mobilepay-release.apk",“appPackage”:“com.passportparking.mobile”,“appActivity”:“com.passportparking.mobile.MobilePayApp”,“platformVersion”:“5.1”,“platformName”:“Android”,“deviceName”:“NotUsed”}},{“requiredCapabilities”:{}}],null,null]
[debug] [BaseDriver] Event ‘newSessionRequested’ logged at 1495647690023 (23:11:30 GMT+0530 (IST))
[Appium] Creating new AndroidDriver (v1.17.1) session
[Appium] Capabilities:
[Appium] app: ‘/Users/Anand/Testing/Office/passport-automation/apps/mobilepay-release.apk’
[Appium] appPackage: ‘com.passportparking.mobile’
[Appium] appActivity: ‘com.passportparking.mobile.MobilePayApp’
[Appium] platformVersion: ‘5.1’
[Appium] platformName: ‘Android’
[Appium] deviceName: ‘NotUsed’
[debug] [AndroidDriver] AndroidDriver version: 1.17.1
[BaseDriver] Session created with session id: eccf115e-7052-4cfb-abc2-812b3acea293
[debug] [AndroidDriver] Getting Java version
[AndroidDriver] Java version is: 1.8.0_101
[ADB] Checking whether adb is present
[ADB] Using adb from /Users/Anand/adt-bundle-mac-x86_64-20140702/sdk/platform-tools/adb
[AndroidDriver] Retrieving device list
[debug] [ADB] Trying to find a connected android device
[debug] [ADB] Getting connected devices…
[debug] [ADB] 1 device(s) connected
[AndroidDriver] Looking for a device with Android ‘5.1’
[debug] [ADB] Setting device id to ZX1B34FZH8
[ADB] Getting device platform version
[debug] [ADB] Getting connected devices…
[debug] [ADB] 1 device(s) connected
[debug] [ADB] Running ‘/Users/Anand/adt-bundle-mac-x86_64-20140702/sdk/platform-tools/adb’ with args: ["-P",5037,"-s",“ZX1B34FZH8”,“shell”,“getprop”,“ro.build.version.release”]
[AndroidDriver] Using device: ZX1B34FZH8
[ADB] Checking whether adb is present
[ADB] Using adb from /Users/Anand/adt-bundle-mac-x86_64-20140702/sdk/platform-tools/adb
[debug] [ADB] Setting device id to ZX1B34FZH8
[BaseDriver] Using local app ‘/Users/Anand/Testing/Office/passport-automation/apps/mobilepay-release.apk’
[debug] [AndroidDriver] Checking whether app is actually present
[AndroidDriver] Starting Android session
[debug] [ADB] Running ‘/Users/Anand/adt-bundle-mac-x86_64-20140702/sdk/platform-tools/adb’ with args: ["-P",5037,"-s",“ZX1B34FZH8”,“wait-for-device”]
[debug] [ADB] Getting connected devices…
[debug] [ADB] 1 device(s) connected
[debug] [ADB] Running ‘/Users/Anand/adt-bundle-mac-x86_64-20140702/sdk/platform-tools/adb’ with args: ["-P",5037,"-s",“ZX1B34FZH8”,“shell”,“echo”,“ping”]
[debug] [Logcat] Starting logcat capture
[debug] [AndroidDriver] Pushing settings apk to device…
[debug] [ADB] Getting install status for io.appium.settings
[debug] [ADB] Getting connected devices…
[debug] [ADB] 1 device(s) connected
[debug] [ADB] Running ‘/Users/Anand/adt-bundle-mac-x86_64-20140702/sdk/platform-tools/adb’ with args: ["-P",5037,"-s",“ZX1B34FZH8”,“shell”,“pm”,“list”,“packages”,“io.appium.settings”]
[debug] [ADB] App is installed
[debug] [ADB] Getting package info for io.appium.settings
[debug] [ADB] Getting connected devices…
[ADB] Checking whether aapt is present
[ADB] Using aapt from /Users/Anand/adt-bundle-mac-x86_64-20140702/sdk/build-tools/20.0.0/aapt
[ADB] Cannot read version codes of /usr/local/lib/node_modules/appium/node_modules/io.appium.settings/app/build/outputs/apk/settings_apk-debug.apk and/or io.appium.settings. Assuming correct app version is already installed
[debug] [ADB] Getting connected devices…
[debug] [ADB] 1 device(s) connected
[debug] [ADB] Running ‘/Users/Anand/adt-bundle-mac-x86_64-20140702/sdk/platform-tools/adb’ with args: ["-P",5037,"-s",“ZX1B34FZH8”,“shell”,“dumpsys”,“package”,“io.appium.settings”]
[debug] [ADB] 1 device(s) connected
[debug] [ADB] Running ‘/Users/Anand/adt-bundle-mac-x86_64-20140702/sdk/platform-tools/adb’ with args: ["-P",5037,"-s",“ZX1B34FZH8”,“shell”,“getprop”,“ro.build.version.sdk”]
[debug] [ADB] Device API level: 22
[debug] [ADB] Getting connected devices…
[debug] [ADB] 1 device(s) connected
[debug] [ADB] Running ‘/Users/Anand/adt-bundle-mac-x86_64-20140702/sdk/platform-tools/adb’ with args: ["-P",5037,"-s",“ZX1B34FZH8”,“shell”,“dumpsys”,“package”,“io.appium.settings”]
[debug] [AndroidDriver] Pushing unlock helper app to device…
[debug] [ADB] Running ‘/Users/Anand/adt-bundle-mac-x86_64-20140702/sdk/platform-tools/adb’ with args: ["-P",5037,"-s",“ZX1B34FZH8”,“install”,"/usr/local/lib/node_modules/appium/node_modules/appium-unlock/bin/unlock_apk-debug.apk"]
[debug] [ADB] Device API level: 22
[debug] [ADB] Getting connected devices…
[debug] [ADB] 1 device(s) connected
[debug] [ADB] Running ‘/Users/Anand/adt-bundle-mac-x86_64-20140702/sdk/platform-tools/adb’ with args: ["-P",5037,"-s",“ZX1B34FZH8”,“shell”,“settings”,“put”,“secure”,“mock_location”,“1”]
[ADB] Getting device platform version
[debug] [ADB] Getting connected devices…
[debug] [ADB] 1 device(s) connected
[debug] [ADB] Running ‘/Users/Anand/adt-bundle-mac-x86_64-20140702/sdk/platform-tools/adb’ with args: ["-P",5037,"-s",“ZX1B34FZH8”,“shell”,“getprop”,“ro.build.version.release”]
[debug] [ADB] Getting connected devices…
[debug] [ADB] 1 device(s) connected
[debug] [ADB] Running ‘/Users/Anand/adt-bundle-mac-x86_64-20140702/sdk/platform-tools/adb’ with args: ["-P",5037,"-s",“ZX1B34FZH8”,“shell”,“wm”,“size”]
[debug] [ADB] Getting connected devices…
[debug] [ADB] 1 device(s) connected
[debug] [ADB] Running ‘/Users/Anand/adt-bundle-mac-x86_64-20140702/sdk/platform-tools/adb’ with args: ["-P",5037,"-s",“ZX1B34FZH8”,“shell”,“getprop”,“ro.product.model”]
[debug] [ADB] Current device property ‘ro.product.model’: XT1022
[debug] [ADB] Getting connected devices…
[debug] [ADB] 1 device(s) connected
[debug] [ADB] Running ‘/Users/Anand/adt-bundle-mac-x86_64-20140702/sdk/platform-tools/adb’ with args: ["-P",5037,"-s",“ZX1B34FZH8”,“shell”,“getprop”,“ro.product.manufacturer”]
[debug] [ADB] Current device property ‘ro.product.manufacturer’: motorola
[AndroidDriver] Remote apk path is /data/local/tmp/36d02738cbfa34dd1b770020f17b2503.apk
[debug] [ADB] Getting connected devices…
[debug] [ADB] 1 device(s) connected
[debug] [ADB] Running ‘/Users/Anand/adt-bundle-mac-x86_64-20140702/sdk/platform-tools/adb’ with args: ["-P",5037,"-s",“ZX1B34FZH8”,“shell”,“ls”,"/data/local/tmp/36d02738cbfa34dd1b770020f17b2503.apk"]
[debug] [AndroidDriver] Checking if app is installed
[debug] [ADB] Getting install status for com.passportparking.mobile
[debug] [ADB] Getting connected devices…
[debug] [ADB] 1 device(s) connected
[debug] [ADB] Running ‘/Users/Anand/adt-bundle-mac-x86_64-20140702/sdk/platform-tools/adb’ with args: ["-P",5037,"-s",“ZX1B34FZH8”,“shell”,“pm”,“list”,“packages”,“com.passportparking.mobile”]
[debug] [ADB] App is installed
[AndroidDriver] Apk is already on remote and installed, resetting
[debug] [AndroidDriver] Running fast reset (stop and clear)
[debug] [ADB] Getting connected devices…
[debug] [ADB] 1 device(s) connected
[debug] [ADB] Running ‘/Users/Anand/adt-bundle-mac-x86_64-20140702/sdk/platform-tools/adb’ with args: ["-P",5037,"-s",“ZX1B34FZH8”,“shell”,“am”,“force-stop”,“com.passportparking.mobile”]
[debug] [ADB] Getting connected devices…
[debug] [ADB] 1 device(s) connected
[debug] [ADB] Running ‘/Users/Anand/adt-bundle-mac-x86_64-20140702/sdk/platform-tools/adb’ with args: ["-P",5037,"-s",“ZX1B34FZH8”,“shell”,“pm”,“clear”,“com.passportparking.mobile”]
[debug] [AndroidDriver] Extracting strings from apk /Users/Anand/Testing/Office/passport-automation/apps/mobilepay-release.apk null /var/folders/d_/c22g6js131j48gyxkfg6rtc00000gn/T/com.passportparking.mobile
[debug] [ADB] Extracting strings for language: default
[debug] [ADB] Device API level: 22
[debug] [ADB] Getting connected devices…
[debug] [ADB] 1 device(s) connected
[debug] [ADB] Running ‘/Users/Anand/adt-bundle-mac-x86_64-20140702/sdk/platform-tools/adb’ with args: ["-P",5037,"-s",“ZX1B34FZH8”,“shell”,“getprop”,“persist.sys.language”]
[debug] [ADB] Current device property ‘persist.sys.language’: en
[debug] [ADB] No strings.xml for language ‘en’, getting default strings.xml
[debug] [ADB] Reading strings from converted strings.json
[debug] [ADB] Running ‘/Users/Anand/adt-bundle-mac-x86_64-20140702/sdk/platform-tools/adb’ with args: ["-P",5037,"-s",“ZX1B34FZH8”,“push”,"/var/folders/d_/c22g6js131j48gyxkfg6rtc00000gn/T/com.passportparking.mobile/strings.json","/data/local/tmp"]
[debug] [AndroidBootstrap] Watching for bootstrap disconnect
[debug] [ADB] Forwarding system: 4724 to device: 4724
[debug] [ADB] Running ‘/Users/Anand/adt-bundle-mac-x86_64-20140702/sdk/platform-tools/adb’ with args: ["-P",5037,"-s",“ZX1B34FZH8”,“forward”,“tcp:4724”,“tcp:4724”]
[debug] [UiAutomator] Starting UiAutomator
[debug] [UiAutomator] Moving to state ‘starting’
[debug] [UiAutomator] Parsing uiautomator jar
[debug] [UiAutomator] Found jar name: ‘AppiumBootstrap.jar’
[debug] [ADB] Running ‘/Users/Anand/adt-bundle-mac-x86_64-20140702/sdk/platform-tools/adb’ with args: ["-P",5037,"-s",“ZX1B34FZH8”,“push”,"/usr/local/lib/node_modules/appium/node_modules/appium-android-bootstrap/bootstrap/bin/AppiumBootstrap.jar","/data/local/tmp/"]
[debug] [ADB] Attempting to kill all uiautomator processes
[debug] [ADB] Getting all processes with uiautomator
[debug] [ADB] Getting connected devices…
[debug] [ADB] 1 device(s) connected
[debug] [ADB] Running ‘/Users/Anand/adt-bundle-mac-x86_64-20140702/sdk/platform-tools/adb’ with args: ["-P",5037,"-s",“ZX1B34FZH8”,“shell”,“ps”]
[ADB] No uiautomator process found to kill, continuing…
[debug] [UiAutomator] Starting UIAutomator
[debug] [ADB] Creating ADB subprocess with args: ["-P",5037,"-s",“ZX1B34FZH8”,“shell”,“uiautomator”,“runtest”,“AppiumBootstrap.jar”,"-c",“io.appium.android.bootstrap.Bootstrap”,"-e",“pkg”,“com.passportparking.mobile”,"-e",“disableAndroidWatchers”,false,"-e",“acceptSslCerts”,false]
[debug] [UiAutomator] Moving to state ‘online’
[AndroidBootstrap] Android bootstrap socket is now connected
[debug] [ADB] Getting connected devices…
[AndroidBootstrap] [BOOTSTRAP LOG] [debug] json loading complete.
[AndroidBootstrap] [BOOTSTRAP LOG] [debug] Registered crash watchers.
[AndroidBootstrap] [BOOTSTRAP LOG] [debug] Client connected
[debug] [ADB] 1 device(s) connected
[debug] [ADB] Running ‘/Users/Anand/adt-bundle-mac-x86_64-20140702/sdk/platform-tools/adb’ with args: ["-P",5037,"-s",“ZX1B34FZH8”,“shell”,“dumpsys”,“window”]
[AndroidDriver] Screen already unlocked, doing nothing
[debug] [ADB] Device API level: 22
[debug] [ADB] Getting connected devices…
[debug] [ADB] 1 device(s) connected
[debug] [ADB] Running ‘/Users/Anand/adt-bundle-mac-x86_64-20140702/sdk/platform-tools/adb’ with args: ["-P",5037,"-s",“ZX1B34FZH8”,“shell”,“am”,“start”,"-W","-n",“com.passportparking.mobile/com.passportparking.mobile.MobilePayApp”,"-S","-a",“android.intent.action.MAIN”,"-c",“android.intent.category.LAUNCHER”,"-f",“0x10200000”]
[Appium] New AndroidDriver session created successfully, session eccf115e-7052-4cfb-abc2-812b3acea293 added to master session list
[debug] [BaseDriver] Event ‘newSessionStarted’ logged at 1495647703746 (23:11:43 GMT+0530 (IST))
[debug] [MJSONWP] Responding to client with driver.createSession() result: {“platform”:“LINUX”,“webStorageEnabled”:false,“takesScreenshot”:true,“javascriptEnabled”:true,“databaseEnabled”:false,“networkConnectionEnabled”:true,“locationContextEnabled”:false,“warnings”:{},“desired”:{“app”:"/Users/Anand/Testing/Office/passport-automation/apps/mobilepay-release.apk",“appPackage”:“com.passportparking.mobile”,“appActivity”:“com.passportparking.mobile.MobilePayApp”,“platformVersion”:“5.1”,“platformName”:“Android”,“deviceName”:“NotUsed”},“app”:"/Users/Anand/Testing/Office/passport-automation/apps/mobilepay-release.apk",“appPackage”:“com.passportparking.mobile”,“appActivity”:“com.passportparking.mobile.MobilePayApp”,“platformVersion”:“5.1”,“platformName”:“Android”,“deviceName”:“ZX1B34FZH8”,“deviceUDID”:“ZX1B34FZH8”,“deviceScreenSize”:“540x960”,“deviceModel”:“XT1022”,“deviceManufacturer”:“motorola”}
[HTTP] <-- POST /wd/hub/session 200 13729 ms - 898
[HTTP] --> GET /wd/hub/session/eccf115e-7052-4cfb-abc2-812b3acea293 {}
[debug] [MJSONWP] Calling AppiumDriver.getSession() with args: [“eccf115e-7052-4cfb-abc2-812b3acea293”]
[debug] [MJSONWP] Responding to client with driver.getSession() result: {“platform”:“LINUX”,“webStorageEnabled”:false,“takesScreenshot”:true,“javascriptEnabled”:true,“databaseEnabled”:false,“networkConnectionEnabled”:true,“locationContextEnabled”:false,“warnings”:{},“desired”:{“app”:"/Users/Anand/Testing/Office/passport-automation/apps/mobilepay-release.apk",“appPackage”:“com.passportparking.mobile”,“appActivity”:“com.passportparking.mobile.MobilePayApp”,“platformVersion”:“5.1”,“platformName”:“Android”,“deviceName”:“NotUsed”},“app”:"/Users/Anand/Testing/Office/passport-automation/apps/mobilepay-release.apk",“appPackage”:“com.passportparking.mobile”,“appActivity”:“com.passportparking.mobile.MobilePayApp”,“platformVersion”:“5.1”,“platformName”:“Android”,“deviceName”:“ZX1B34FZH8”,“deviceUDID”:“ZX1B34FZH8”,“deviceScreenSize”:“540x960”,“deviceModel”:“XT1022”,“deviceManufacturer”:“motorola”}
[HTTP] <-- GET /wd/hub/session/eccf115e-7052-4cfb-abc2-812b3acea293 200 19 ms - 898
[HTTP] --> GET /wd/hub/session/eccf115e-7052-4cfb-abc2-812b3acea293 {}
[debug] [MJSONWP] Calling AppiumDriver.getSession() with args: [“eccf115e-7052-4cfb-abc2-812b3acea293”]
[debug] [MJSONWP] Responding to client with driver.getSession() result: {“platform”:“LINUX”,“webStorageEnabled”:false,“takesScreenshot”:true,“javascriptEnabled”:true,“databaseEnabled”:false,“networkConnectionEnabled”:true,“locationContextEnabled”:false,“warnings”:{},“desired”:{“app”:"/Users/Anand/Testing/Office/passport-automation/apps/mobilepay-release.apk",“appPackage”:“com.passportparking.mobile”,“appActivity”:“com.passportparking.mobile.MobilePayApp”,“platformVersion”:“5.1”,“platformName”:“Android”,“deviceName”:“NotUsed”},“app”:"/Users/Anand/Testing/Office/passport-automation/apps/mobilepay-release.apk",“appPackage”:“com.passportparking.mobile”,“appActivity”:“com.passportparking.mobile.MobilePayApp”,“platformVersion”:“5.1”,“platformName”:“Android”,“deviceName”:“ZX1B34FZH8”,“deviceUDID”:“ZX1B34FZH8”,“deviceScreenSize”:“540x960”,“deviceModel”:“XT1022”,“deviceManufacturer”:“motorola”}
[HTTP] <-- GET /wd/hub/session/eccf115e-7052-4cfb-abc2-812b3acea293 200 4 ms - 898
[HTTP] --> POST /wd/hub/session/eccf115e-7052-4cfb-abc2-812b3acea293/timeouts {“type”:“implicit”,“ms”:20000}
[debug] [MJSONWP] Calling AppiumDriver.timeouts() with args: [“implicit”,20000,“eccf115e-7052-4cfb-abc2-812b3acea293”]
[debug] [BaseDriver] Set implicit wait to 20000ms
[debug] [MJSONWP] Responding to client with driver.timeouts() result: null
[HTTP] <-- POST /wd/hub/session/eccf115e-7052-4cfb-abc2-812b3acea293/timeouts 200 4 ms - 76
[HTTP] --> POST /wd/hub/session/eccf115e-7052-4cfb-abc2-812b3acea293/elements {“using”:“id”,“value”:“com.passportparking.mobile:id/spinnerRow”}
[debug] [MJSONWP] Calling AppiumDriver.findElements() with args: [“id”,“com.passportparking.mobile:id/spinnerRow”,“eccf115e-7052-4cfb-abc2-812b3acea293”]
[debug] [BaseDriver] Valid locator strategies for this request: xpath, id, class name, accessibility id, -android uiautomator
[debug] [BaseDriver] Valid locator strategies for this request: xpath, id, class name, accessibility id, -android uiautomator
[debug] [BaseDriver] Waiting up to 20000 ms for condition
[debug] [AndroidBootstrap] Sending command to android: {“cmd”:“action”,“action”:“find”,“params”:{“strategy”:“id”,“selector”:“com.passportparking.mobile:id/spinnerRow”,“context”:"",“multiple”:true}}
[AndroidBootstrap] [BOOTSTRAP LOG] [debug] Got data from client: {“cmd”:“action”,“action”:“find”,“params”:{“strategy”:“id”,“selector”:“com.passportparking.mobile:id/spinnerRow”,“context”:"",“multiple”:true}}
[AndroidBootstrap] [BOOTSTRAP LOG] [debug] Got command of type ACTION
[AndroidBootstrap] [BOOTSTRAP LOG] [debug] Got command action: find
[AndroidBootstrap] [BOOTSTRAP LOG] [debug] Finding ‘com.passportparking.mobile:id/spinnerRow’ using ‘ID’ with the contextId: ‘’ multiple: true
[AndroidBootstrap] [BOOTSTRAP LOG] [debug] Using: UiSelector[RESOURCE_ID=com.passportparking.mobile:id/spinnerRow]
[AndroidBootstrap] [BOOTSTRAP LOG] [debug] getElements selector:UiSelector[RESOURCE_ID=com.passportparking.mobile:id/spinnerRow]
[AndroidBootstrap] [BOOTSTRAP LOG] [debug] Element[] is null: (0)
[AndroidBootstrap] [BOOTSTRAP LOG] [debug] getElements tmp selector:UiSelector[INSTANCE=0, RESOURCE_ID=com.passportparking.mobile:id/spinnerRow]
[AndroidBootstrap] [BOOTSTRAP LOG] [debug] Failed to locate element. Clearing Accessibility cache and retrying.
[AndroidBootstrap] [BOOTSTRAP LOG] [debug] Finding ‘com.passportparking.mobile:id/spinnerRow’ using ‘ID’ with the contextId: ‘’ multiple: true
[AndroidBootstrap] [BOOTSTRAP LOG] [debug] Using: UiSelector[RESOURCE_ID=com.passportparking.mobile:id/spinnerRow]
[AndroidBootstrap] [BOOTSTRAP LOG] [debug] getElements selector:UiSelector[RESOURCE_ID=com.passportparking.mobile:id/spinnerRow]
[AndroidBootstrap] [BOOTSTRAP LOG] [debug] Element[] is null: (0)
[AndroidBootstrap] [BOOTSTRAP LOG] [debug] getElements tmp selector:UiSelector[INSTANCE=0, RESOURCE_ID=com.passportparking.mobile:id/spinnerRow]
[AndroidBootstrap] [BOOTSTRAP LOG] [debug] Returning result: {“status”:0,“value”:[]}
[debug] [AndroidBootstrap] Received command result from bootstrap
[debug] [BaseDriver] Waited for 168 ms so far
[debug] [AndroidBootstrap] Sending command to android: {“cmd”:“action”,“action”:“find”,“params”:{“strategy”:“id”,“selector”:“com.passportparking.mobile:id/spinnerRow”,“context”:"",“multiple”:true}}
[AndroidBootstrap] [BOOTSTRAP LOG] [debug] Got data from client: {“cmd”:“action”,“action”:“find”,“params”:{“strategy”:“id”,“selector”:“com.passportparking.mobile:id/spinnerRow”,“context”:"",“multiple”:true}}
[AndroidBootstrap] [BOOTSTRAP LOG] [debug] Got command of type ACTION
[AndroidBootstrap] [BOOTSTRAP LOG] [debug] Got command action: find
[AndroidBootstrap] [BOOTSTRAP LOG] [debug] Finding ‘com.passportparking.mobile:id/spinnerRow’ using ‘ID’ with the contextId: ‘’ multiple: true
[AndroidBootstrap] [BOOTSTRAP LOG] [debug] Using: UiSelector[RESOURCE_ID=com.passportparking.mobile:id/spinnerRow]
[AndroidBootstrap] [BOOTSTRAP LOG] [debug] getElements selector:UiSelector[RESOURCE_ID=com.passportparking.mobile:id/spinnerRow]
[AndroidBootstrap] [BOOTSTRAP LOG] [debug] Element[] is null: (0)
[AndroidBootstrap] [BOOTSTRAP LOG] [debug] getElements tmp selector:UiSelector[INSTANCE=0, RESOURCE_ID=com.passportparking.mobile:id/spinnerRow]
[AndroidBootstrap] [BOOTSTRAP LOG] [debug] Failed to locate element. Clearing Accessibility cache and retrying.
[AndroidBootstrap] [BOOTSTRAP LOG] [debug] Finding ‘com.passportparking.mobile:id/spinnerRow’ using ‘ID’ with the contextId: ‘’ multiple: true
[AndroidBootstrap] [BOOTSTRAP LOG] [debug] Using: UiSelector[RESOURCE_ID=com.passportparking.mobile:id/spinnerRow]
[AndroidBootstrap] [BOOTSTRAP LOG] [debug] getElements selector:UiSelector[RESOURCE_ID=com.passportparking.mobile:id/spinnerRow]
[AndroidBootstrap] [BOOTSTRAP LOG] [debug] Element[] is null: (0)
[AndroidBootstrap] [BOOTSTRAP LOG] [debug] getElements tmp selector:UiSelector[INSTANCE=0, RESOURCE_ID=com.passportparking.mobile:id/spinnerRow]
[AndroidBootstrap] [BOOTSTRAP LOG] [debug] Returning result: {“status”:0,“value”:[]}
[debug] [AndroidBootstrap] Received command result from bootstrap
[debug] [BaseDriver] Waited for 687 ms so far
[debug] [AndroidBootstrap] Sending command to android: {“cmd”:“action”,“action”:“find”,“params”:{“strategy”:“id”,“selector”:“com.passportparking.mobile:id/spinnerRow”,“context”:"",“multiple”:true}}
[AndroidBootstrap] [BOOTSTRAP LOG] [debug] Got data from client: {“cmd”:“action”,“action”:“find”,“params”:{“strategy”:“id”,“selector”:“com.passportparking.mobile:id/spinnerRow”,“context”:"",“multiple”:true}}
[AndroidBootstrap] [BOOTSTRAP LOG] [debug] Got command of type ACTION
[AndroidBootstrap] [BOOTSTRAP LOG] [debug] Got command action: find
[AndroidBootstrap] [BOOTSTRAP LOG] [debug] Finding ‘com.passportparking.mobile:id/spinnerRow’ using ‘ID’ with the contextId: ‘’ multiple: true
[AndroidBootstrap] [BOOTSTRAP LOG] [debug] Using: UiSelector[RESOURCE_ID=com.passportparking.mobile:id/spinnerRow]
[AndroidBootstrap] [BOOTSTRAP LOG] [debug] getElements selector:UiSelector[RESOURCE_ID=com.passportparking.mobile:id/spinnerRow]
[AndroidBootstrap] [BOOTSTRAP LOG] [debug] Element[] is null: (0)
[AndroidBootstrap] [BOOTSTRAP LOG] [debug] getElements tmp selector:UiSelector[INSTANCE=0, RESOURCE_ID=com.passportparking.mobile:id/spinnerRow]
[AndroidBootstrap] [BOOTSTRAP LOG] [debug] Failed to locate element. Clearing Accessibility cache and retrying.
[AndroidBootstrap] [BOOTSTRAP LOG] [debug] Finding ‘com.passportparking.mobile:id/spinnerRow’ using ‘ID’ with the contextId: ‘’ multiple: true
[AndroidBootstrap] [BOOTSTRAP LOG] [debug] Using: UiSelector[RESOURCE_ID=com.passportparking.mobile:id/spinnerRow]
[AndroidBootstrap] [BOOTSTRAP LOG] [debug] getElements selector:UiSelector[RESOURCE_ID=com.passportparking.mobile:id/spinnerRow]
[AndroidBootstrap] [BOOTSTRAP LOG] [debug] Element[] is null: (0)
[AndroidBootstrap] [BOOTSTRAP LOG] [debug] getElements tmp selector:UiSelector[INSTANCE=0, RESOURCE_ID=com.passportparking.mobile:id/spinnerRow]
[AndroidBootstrap] [BOOTSTRAP LOG] [debug] Returning result: {“status”:0,“value”:[]}
[debug] [AndroidBootstrap] Received command result from bootstrap
[debug] [BaseDriver] Waited for 1225 ms so far
[debug] [AndroidBootstrap] Sending command to android: {“cmd”:“action”,“action”:“find”,“params”:{“strategy”:“id”,“selector”:“com.passportparking.mobile:id/spinnerRow”,“context”:"",“multiple”:true}}
[AndroidBootstrap] [BOOTSTRAP LOG] [debug] Got data from client: {“cmd”:“action”,“action”:“find”,“params”:{“strategy”:“id”,“selector”:“com.passportparking.mobile:id/spinnerRow”,“context”:"",“multiple”:true}}
[AndroidBootstrap] [BOOTSTRAP LOG] [debug] Got command of type ACTION
[AndroidBootstrap] [BOOTSTRAP LOG] [debug] Got command action: find
[AndroidBootstrap] [BOOTSTRAP LOG] [debug] Finding ‘com.passportparking.mobile:id/spinnerRow’ using ‘ID’ with the contextId: ‘’ multiple: true
[AndroidBootstrap] [BOOTSTRAP LOG] [debug] Using: UiSelector[RESOURCE_ID=com.passportparking.mobile:id/spinnerRow]
[AndroidBootstrap] [BOOTSTRAP LOG] [debug] getElements selector:UiSelector[RESOURCE_ID=com.passportparking.mobile:id/spinnerRow]
[AndroidBootstrap] [BOOTSTRAP LOG] [debug] Element[] is null: (0)
[AndroidBootstrap] [BOOTSTRAP LOG] [debug] getElements tmp selector:UiSelector[INSTANCE=0, RESOURCE_ID=com.passportparking.mobile:id/spinnerRow]
[AndroidBootstrap] [BOOTSTRAP LOG] [debug] Failed to locate element. Clearing Accessibility cache and retrying.
[AndroidBootstrap] [BOOTSTRAP LOG] [debug] Finding ‘com.passportparking.mobile:id/spinnerRow’ using ‘ID’ with the contextId: ‘’ multiple: true
[AndroidBootstrap] [BOOTSTRAP LOG] [debug] Using: UiSelector[RESOURCE_ID=com.passportparking.mobile:id/spinnerRow]
[AndroidBootstrap] [BOOTSTRAP LOG] [debug] getElements selector:UiSelector[RESOURCE_ID=com.passportparking.mobile:id/spinnerRow]
[AndroidBootstrap] [BOOTSTRAP LOG] [debug] Element[] is null: (0)
[AndroidBootstrap] [BOOTSTRAP LOG] [debug] getElements tmp selector:UiSelector[INSTANCE=0, RESOURCE_ID=com.passportparking.mobile:id/spinnerRow]
[AndroidBootstrap] [BOOTSTRAP LOG] [debug] Returning result: {“status”:0,“value”:[]}
[debug] [AndroidBootstrap] Received command result from bootstrap
[debug] [BaseDriver] Waited for 1766 ms so far
[debug] [AndroidBootstrap] Sending command to android: {“cmd”:“action”,“action”:“find”,“params”:{“strategy”:“id”,“selector”:“com.passportparking.mobile:id/spinnerRow”,“context”:"",“multiple”:true}}
[AndroidBootstrap] [BOOTSTRAP LOG] [debug] Got data from client: {“cmd”:“action”,“action”:“find”,“params”:{“strategy”:“id”,“selector”:“com.passportparking.mobile:id/spinnerRow”,“context”:"",“multiple”:true}}
[AndroidBootstrap] [BOOTSTRAP LOG] [debug] Got command of type ACTION
[AndroidBootstrap] [BOOTSTRAP LOG] [debug] Got command action: find
[AndroidBootstrap] [BOOTSTRAP LOG] [debug] Finding ‘com.passportparking.mobile:id/spinnerRow’ using ‘ID’ with the contextId: ‘’ multiple: true
[AndroidBootstrap] [BOOTSTRAP LOG] [debug] Using: UiSelector[RESOURCE_ID=com.passportparking.mobile:id/spinnerRow]
[AndroidBootstrap] [BOOTSTRAP LOG] [debug] getElements selector:UiSelector[RESOURCE_ID=com.passportparking.mobile:id/spinnerRow]
[AndroidBootstrap] [BOOTSTRAP LOG] [debug] Element[] is null: (0)
[AndroidBootstrap] [BOOTSTRAP LOG] [debug] getElements tmp selector:UiSelector[INSTANCE=0, RESOURCE_ID=com.passportparking.mobile:id/spinnerRow]
[AndroidBootstrap] [BOOTSTRAP LOG] [debug] Failed to locate element. Clearing Accessibility cache and retrying.
[AndroidBootstrap] [BOOTSTRAP LOG] [debug] Finding ‘com.passportparking.mobile:id/spinnerRow’ using ‘ID’ with the contextId: ‘’ multiple: true
[AndroidBootstrap] [BOOTSTRAP LOG] [debug] Using: UiSelector[RESOURCE_ID=com.passportparking.mobile:id/spinnerRow]
[AndroidBootstrap] [BOOTSTRAP LOG] [debug] getElements selector:UiSelector[RESOURCE_ID=com.passportparking.mobile:id/spinnerRow]
[AndroidBootstrap] [BOOTSTRAP LOG] [debug] Element[] is null: (0)
[AndroidBootstrap] [BOOTSTRAP LOG] [debug] getElements tmp selector:UiSelector[INSTANCE=0, RESOURCE_ID=com.passportparking.mobile:id/spinnerRow]
[AndroidBootstrap] [BOOTSTRAP LOG] [debug] Returning result: {“status”:0,“value”:[]}
[debug] [AndroidBootstrap] Received command result from bootstrap
[debug] [BaseDriver] Waited for 2287 ms so far
[debug] [AndroidBootstrap] Sending command to android: {“cmd”:“action”,“action”:“find”,“params”:{“strategy”:“id”,“selector”:“com.passportparking.mobile:id/spinnerRow”,“context”:"",“multiple”:true}}
[AndroidBootstrap] [BOOTSTRAP LOG] [debug] Got data from client: {“cmd”:“action”,“action”:“find”,“params”:{“strategy”:“id”,“selector”:“com.passportparking.mobile:id/spinnerRow”,“context”:"",“multiple”:true}}
[AndroidBootstrap] [BOOTSTRAP LOG] [debug] Got command of type ACTION
[AndroidBootstrap] [BOOTSTRAP LOG] [debug] Got command action: find
[AndroidBootstrap] [BOOTSTRAP LOG] [debug] Finding ‘com.passportparking.mobile:id/spinnerRow’ using ‘ID’ with the contextId: ‘’ multiple: true
[AndroidBootstrap] [BOOTSTRAP LOG] [debug] Using: UiSelector[RESOURCE_ID=com.passportparking.mobile:id/spinnerRow]
[AndroidBootstrap] [BOOTSTRAP LOG] [debug] getElements selector:UiSelector[RESOURCE_ID=com.passportparking.mobile:id/spinnerRow]
[AndroidBootstrap] [BOOTSTRAP LOG] [debug] Element[] is null: (0)
[AndroidBootstrap] [BOOTSTRAP LOG] [debug] getElements tmp selector:UiSelector[INSTANCE=0, RESOURCE_ID=com.passportparking.mobile:id/spinnerRow]
[AndroidBootstrap] [BOOTSTRAP LOG] [debug] Failed to locate element. Clearing Accessibility cache and retrying.
[AndroidBootstrap] [BOOTSTRAP LOG] [debug] Finding ‘com.passportparking.mobile:id/spinnerRow’ using ‘ID’ with the contextId: ‘’ multiple: true
[AndroidBootstrap] [BOOTSTRAP LOG] [debug] Using: UiSelector[RESOURCE_ID=com.passportparking.mobile:id/spinnerRow]
[AndroidBootstrap] [BOOTSTRAP LOG] [debug] getElements selector:UiSelector[RESOURCE_ID=com.passportparking.mobile:id/spinnerRow]
[AndroidBootstrap] [BOOTSTRAP LOG] [debug] Element[] is null: (0)
[AndroidBootstrap] [BOOTSTRAP LOG] [debug] getElements tmp selector:UiSelector[INSTANCE=0, RESOURCE_ID=com.passportparking.mobile:id/spinnerRow]
[AndroidBootstrap] [BOOTSTRAP LOG] [debug] Returning result: {“status”:0,“value”:[]}
[debug] [AndroidBootstrap] Received command result from bootstrap
[debug] [BaseDriver] Waited for 2807 ms so far
[debug] [AndroidBootstrap] Sending command to android: {“cmd”:“action”,“action”:“find”,“params”:{“strategy”:“id”,“selector”:“com.passportparking.mobile:id/spinnerRow”,“context”:"",“multiple”:true}}
[AndroidBootstrap] [BOOTSTRAP LOG] [debug] Got data from client: {“cmd”:“action”,“action”:“find”,“params”:{“strategy”:“id”,“selector”:“com.passportparking.mobile:id/spinnerRow”,“context”:"",“multiple”:true}}
[AndroidBootstrap] [BOOTSTRAP LOG] [debug] Got command of type ACTION
[AndroidBootstrap] [BOOTSTRAP LOG] [debug] Got command action: find
[AndroidBootstrap] [BOOTSTRAP LOG] [debug] Finding ‘com.passportparking.mobile:id/spinnerRow’ using ‘ID’ with the contextId: ‘’ multiple: true
[AndroidBootstrap] [BOOTSTRAP LOG] [debug] Using: UiSelector[RESOURCE_ID=com.passportparking.mobile:id/spinnerRow]
[AndroidBootstrap] [BOOTSTRAP LOG] [debug] getElements selector:UiSelector[RESOURCE_ID=com.passportparking.mobile:id/spinnerRow]
[AndroidBootstrap] [BOOTSTRAP LOG] [debug] Element[] is null: (0)
[AndroidBootstrap] [BOOTSTRAP LOG] [debug] getElements tmp selector:UiSelector[INSTANCE=0, RESOURCE_ID=com.passportparking.mobile:id/spinnerRow]
[AndroidBootstrap] [BOOTSTRAP LOG] [debug] Failed to locate element. Clearing Accessibility cache and retrying.
[AndroidBootstrap] [BOOTSTRAP LOG] [debug] Finding ‘com.passportparking.mobile:id/spinnerRow’ using ‘ID’ with the contextId: ‘’ multiple: true
[AndroidBootstrap] [BOOTSTRAP LOG] [debug] Using: UiSelector[RESOURCE_ID=com.passportparking.mobile:id/spinnerRow]
[AndroidBootstrap] [BOOTSTRAP LOG] [debug] getElements selector:UiSelector[RESOURCE_ID=com.passportparking.mobile:id/spinnerRow]
[AndroidBootstrap] [BOOTSTRAP LOG] [debug] Element[] is null: (0)
[AndroidBootstrap] [BOOTSTRAP LOG] [debug] getElements tmp selector:UiSelector[INSTANCE=0, RESOURCE_ID=com.passportparking.mobile:id/spinnerRow]
[AndroidBootstrap] [BOOTSTRAP LOG] [debug] Returning result: {“status”:0,“value”:[]}
[debug] [AndroidBootstrap] Received command result from bootstrap
[debug] [BaseDriver] Waited for 3344 ms so far
[debug] [AndroidBootstrap] Sending command to android: {“cmd”:“action”,“action”:“find”,“params”:{“strategy”:“id”,“selector”:“com.passportparking.mobile:id/spinnerRow”,“context”:"",“multiple”:true}}
[AndroidBootstrap] [BOOTSTRAP LOG] [debug] Got data from client: {“cmd”:“action”,“action”:“find”,“params”:{“strategy”:“id”,“selector”:“com.passportparking.mobile:id/spinnerRow”,“context”:"",“multiple”:true}}
[AndroidBootstrap] [BOOTSTRAP LOG] [debug] Got command of type ACTION
[AndroidBootstrap] [BOOTSTRAP LOG] [debug] Got command action: find
[AndroidBootstrap] [BOOTSTRAP LOG] [debug] Finding ‘com.passportparking.mobile:id/spinnerRow’ using ‘ID’ with the contextId: ‘’ multiple: true
[AndroidBootstrap] [BOOTSTRAP LOG] [debug] Using: UiSelector[RESOURCE_ID=com.passportparking.mobile:id/spinnerRow]
[AndroidBootstrap] [BOOTSTRAP LOG] [debug] getElements selector:UiSelector[RESOURCE_ID=com.passportparking.mobile:id/spinnerRow]
[AndroidBootstrap] [BOOTSTRAP LOG] [debug] Element[] is null: (0)
[AndroidBootstrap] [BOOTSTRAP LOG] [debug] getElements tmp selector:UiSelector[INSTANCE=0, RESOURCE_ID=com.passportparking.mobile:id/spinnerRow]
[AndroidBootstrap] [BOOTSTRAP LOG] [debug] Failed to locate element. Clearing Accessibility cache and retrying.
[AndroidBootstrap] [BOOTSTRAP LOG] [debug] Finding ‘com.passportparking.mobile:id/spinnerRow’ using ‘ID’ with the contextId: ‘’ multiple: true
[AndroidBootstrap] [BOOTSTRAP LOG] [debug] Using: UiSelector[RESOURCE_ID=com.passportparking.mobile:id/spinnerRow]
[AndroidBootstrap] [BOOTSTRAP LOG] [debug] getElements selector:UiSelector[RESOURCE_ID=com.passportparking.mobile:id/spinnerRow]
[AndroidBootstrap] [BOOTSTRAP LOG] [debug] Element[] is null: (0)
[AndroidBootstrap] [BOOTSTRAP LOG] [debug] getElements tmp selector:UiSelector[INSTANCE=0, RESOURCE_ID=com.passportparking.mobile:id/spinnerRow]
[AndroidBootstrap] [BOOTSTRAP LOG] [debug] Returning result: {“status”:0,“value”:[]}
[debug] [AndroidBootstrap] Received command result from bootstrap
[debug] [BaseDriver] Waited for 3891 ms so far
[debug] [AndroidBootstrap] Sending command to android: {“cmd”:“action”,“action”:“find”,“params”:{“strategy”:“id”,“selector”:“com.passportparking.mobile:id/spinnerRow”,“context”:"",“multiple”:true}}
[AndroidBootstrap] [BOOTSTRAP LOG] [debug] Got data from client: {“cmd”:“action”,“action”:“find”,“params”:{“strategy”:“id”,“selector”:“com.passportparking.mobile:id/spinnerRow”,“context”:"",“multiple”:true}}
[AndroidBootstrap] [BOOTSTRAP LOG] [debug] Got command of type ACTION
[AndroidBootstrap] [BOOTSTRAP LOG] [debug] Got command action: find
[AndroidBootstrap] [BOOTSTRAP LOG] [debug] Finding ‘com.passportparking.mobile:id/spinnerRow’ using ‘ID’ with the contextId: ‘’ multiple: true
[AndroidBootstrap] [BOOTSTRAP LOG] [debug] Using: UiSelector[RESOURCE_ID=com.passportparking.mobile:id/spinnerRow]
[AndroidBootstrap] [BOOTSTRAP LOG] [debug] getElements selector:UiSelector[RESOURCE_ID=com.passportparking.mobile:id/spinnerRow]
[AndroidBootstrap] [BOOTSTRAP LOG] [debug] Element[] is null: (0)
[AndroidBootstrap] [BOOTSTRAP LOG] [debug] getElements tmp selector:UiSelector[INSTANCE=0, RESOURCE_ID=com.passportparking.mobile:id/spinnerRow]
[AndroidBootstrap] [BOOTSTRAP LOG] [debug] Failed to locate element. Clearing Accessibility cache and retrying.
[AndroidBootstrap] [BOOTSTRAP LOG] [debug] Finding ‘com.passportparking.mobile:id/spinnerRow’ using ‘ID’ with the contextId: ‘’ multiple: true
[AndroidBootstrap] [BOOTSTRAP LOG] [debug] Using: UiSelector[RESOURCE_ID=com.passportparking.mobile:id/spinnerRow]
[AndroidBootstrap] [BOOTSTRAP LOG] [debug] getElements selector:UiSelector[RESOURCE_ID=com.passportparking.mobile:id/spinnerRow]
[AndroidBootstrap] [BOOTSTRAP LOG] [debug] Element[] is null: (0)
[AndroidBootstrap] [BOOTSTRAP LOG] [debug] getElements tmp selector:UiSelector[INSTANCE=0, RESOURCE_ID=com.passportparking.mobile:id/spinnerRow]
[AndroidBootstrap] [BOOTSTRAP LOG] [debug] Returning result: {“status”:0,“value”:[]}
[debug] [AndroidBootstrap] Received command result from bootstrap
[debug] [BaseDriver] Waited for 4429 ms so far
[debug] [AndroidBootstrap] Sending command to android: {“cmd”:“action”,“action”:“find”,“params”:{“strategy”:“id”,“selector”:“com.passportparking.mobile:id/spinnerRow”,“context”:"",“multiple”:true}}
[AndroidBootstrap] [BOOTSTRAP LOG] [debug] Got data from client: {“cmd”:“action”,“action”:“find”,“params”:{“strategy”:“id”,“selector”:“com.passportparking.mobile:id/spinnerRow”,“context”:"",“multiple”:true}}
[AndroidBootstrap] [BOOTSTRAP LOG] [debug] Got command of type ACTION
[AndroidBootstrap] [BOOTSTRAP LOG] [debug] Got command action: find
[AndroidBootstrap] [BOOTSTRAP LOG] [debug] Finding ‘com.passportparking.mobile:id/spinnerRow’ using ‘ID’ with the contextId: ‘’ multiple: true
[AndroidBootstrap] [BOOTSTRAP LOG] [debug] Using: UiSelector[RESOURCE_ID=com.passportparking.mobile:id/spinnerRow]
[AndroidBootstrap] [BOOTSTRAP LOG] [debug] getElements selector:UiSelector[RESOURCE_ID=com.passportparking.mobile:id/spinnerRow]
[AndroidBootstrap] [BOOTSTRAP LOG] [debug] Element[] is null: (0)
[AndroidBootstrap] [BOOTSTRAP LOG] [debug] getElements tmp selector:UiSelector[INSTANCE=0, RESOURCE_ID=com.passportparking.mobile:id/spinnerRow]
[AndroidBootstrap] [BOOTSTRAP LOG] [debug] Failed to locate element. Clearing Accessibility cache and retrying.
[AndroidBootstrap] [BOOTSTRAP LOG] [debug] Finding ‘com.passportparking.mobile:id/spinnerRow’ using ‘ID’ with the contextId: ‘’ multiple: true
[AndroidBootstrap] [BOOTSTRAP LOG] [debug] Using: UiSelector[RESOURCE_ID=com.passportparking.mobile:id/spinnerRow]
[AndroidBootstrap] [BOOTSTRAP LOG] [debug] getElements selector:UiSelector[RESOURCE_ID=com.passportparking.mobile:id/spinnerRow]
[AndroidBootstrap] [BOOTSTRAP LOG] [debug] Element[] is null: (0)
[AndroidBootstrap] [BOOTSTRAP LOG] [debug] getElements tmp selector:UiSelector[INSTANCE=0, RESOURCE_ID=com.passportparking.mobile:id/spinnerRow]
[AndroidBootstrap] [BOOTSTRAP LOG] [debug] Returning result: {“status”:0,“value”:[]}
[debug] [AndroidBootstrap] Received command result from bootstrap
[debug] [BaseDriver] Waited for 5010 ms so far
[debug] [AndroidBootstrap] Sending command to android: {“cmd”:“action”,“action”:“find”,“params”:{“strategy”:“id”,“selector”:“com.passportparking.mobile:id/spinnerRow”,“context”:"",“multiple”:true}}
[AndroidBootstrap] [BOOTSTRAP LOG] [debug] Got data from client: {“cmd”:“action”,“action”:“find”,“params”:{“strategy”:“id”,“selector”:“com.passportparking.mobile:id/spinnerRow”,“context”:"",“multiple”:true}}
[AndroidBootstrap] [BOOTSTRAP LOG] [debug] Got command of type ACTION
[AndroidBootstrap] [BOOTSTRAP LOG] [debug] Got command action: find
[AndroidBootstrap] [BOOTSTRAP LOG] [debug] Finding ‘com.passportparking.mobile:id/spinnerRow’ using ‘ID’ with the contextId: ‘’ multiple: true
[AndroidBootstrap] [BOOTSTRAP LOG] [debug] Using: UiSelector[RESOURCE_ID=com.passportparking.mobile:id/spinnerRow]
[AndroidBootstrap] [BOOTSTRAP LOG] [debug] getElements selector:UiSelector[RESOURCE_ID=com.passportparking.mobile:id/spinnerRow]
[AndroidBootstrap] [BOOTSTRAP LOG] [debug] Element[] is null: (0)
[AndroidBootstrap] [BOOTSTRAP LOG] [debug] getElements tmp selector:UiSelector[INSTANCE=0, RESOURCE_ID=com.passportparking.mobile:id/spinnerRow]
[AndroidBootstrap] [BOOTSTRAP LOG] [debug] Failed to locate element. Clearing Accessibility cache and retrying.
[AndroidBootstrap] [BOOTSTRAP LOG] [debug] Finding ‘com.passportparking.mobile:id/spinnerRow’ using ‘ID’ with the contextId: ‘’ multiple: true
[AndroidBootstrap] [BOOTSTRAP LOG] [debug] Using: UiSelector[RESOURCE_ID=com.passportparking.mobile:id/spinnerRow]
[AndroidBootstrap] [BOOTSTRAP LOG] [debug] getElements selector:UiSelector[RESOURCE_ID=com.passportparking.mobile:id/spinnerRow]
[AndroidBootstrap] [BOOTSTRAP LOG] [debug] Element[] is null: (0)
[AndroidBootstrap] [BOOTSTRAP LOG] [debug] getElements tmp selector:UiSelector[INSTANCE=0, RESOURCE_ID=com.passportparking.mobile:id/spinnerRow]
[AndroidBootstrap] [BOOTSTRAP LOG] [debug] Returning result: {“status”:0,“value”:[]}
[debug] [AndroidBootstrap] Received command result from bootstrap
[debug] [BaseDriver] Waited for 5586 ms so far
[debug] [AndroidBootstrap] Sending command to android: {“cmd”:“action”,“action”:“find”,“params”:{“strategy”:“id”,“selector”:“com.passportparking.mobile:id/spinnerRow”,“context”:"",“multiple”:true}}
[AndroidBootstrap] [BOOTSTRAP LOG] [debug] Got data from client: {“cmd”:“action”,“action”:“find”,“params”:{“strategy”:“id”,“selector”:“com.passportparking.mobile:id/spinnerRow”,“context”:"",“multiple”:true}}
[AndroidBootstrap] [BOOTSTRAP LOG] [debug] Got command of type ACTION
[AndroidBootstrap] [BOOTSTRAP LOG] [debug] Got command action: find
[AndroidBootstrap] [BOOTSTRAP LOG] [debug] Finding ‘com.passportparking.mobile:id/spinnerRow’ using ‘ID’ with the contextId: ‘’ multiple: true
[AndroidBootstrap] [BOOTSTRAP LOG] [debug] Using: UiSelector[RESOURCE_ID=com.passportparking.mobile:id/spinnerRow]
[AndroidBootstrap] [BOOTSTRAP LOG] [debug] getElements selector:UiSelector[RESOURCE_ID=com.passportparking.mobile:id/spinnerRow]
[AndroidBootstrap] [BOOTSTRAP LOG] [debug] Element[] is null: (0)
[AndroidBootstrap] [BOOTSTRAP LOG] [debug] getElements tmp selector:UiSelector[INSTANCE=0, RESOURCE_ID=com.passportparking.mobile:id/spinnerRow]
[AndroidBootstrap] [BOOTSTRAP LOG] [debug] Failed to locate element. Clearing Accessibility cache and retrying.
[AndroidBootstrap] [BOOTSTRAP LOG] [debug] Finding ‘com.passportparking.mobile:id/spinnerRow’ using ‘ID’ with the contextId: ‘’ multiple: true
[AndroidBootstrap] [BOOTSTRAP LOG] [debug] Using: UiSelector[RESOURCE_ID=com.passportparking.mobile:id/spinnerRow]
[AndroidBootstrap] [BOOTSTRAP LOG] [debug] getElements selector:UiSelector[RESOURCE_ID=com.passportparking.mobile:id/spinnerRow]
[AndroidBootstrap] [BOOTSTRAP LOG] [debug] Element[] is null: (0)
[AndroidBootstrap] [BOOTSTRAP LOG] [debug] getElements tmp selector:UiSelector[INSTANCE=0, RESOURCE_ID=com.passportparking.mobile:id/spinnerRow]
[AndroidBootstrap] [BOOTSTRAP LOG] [debug] Returning result: {“status”:0,“value”:[]}
[debug] [AndroidBootstrap] Received command result from bootstrap
[debug] [BaseDriver] Waited for 6141 ms so far
[debug] [AndroidBootstrap] Sending command to android: {“cmd”:“action”,“action”:“find”,“params”:{“strategy”:“id”,“selector”:“com.passportparking.mobile:id/spinnerRow”,“context”:"",“multiple”:true}}
[AndroidBootstrap] [BOOTSTRAP LOG] [debug] Got data from client: {“cmd”:“action”,“action”:“find”,“params”:{“strategy”:“id”,“selector”:“com.passportparking.mobile:id/spinnerRow”,“context”:"",“multiple”:true}}
[AndroidBootstrap] [BOOTSTRAP LOG] [debug] Got command of type ACTION
[AndroidBootstrap] [BOOTSTRAP LOG] [debug] Got command action: find
[AndroidBootstrap] [BOOTSTRAP LOG] [debug] Finding ‘com.passportparking.mobile:id/spinnerRow’ using ‘ID’ with the contextId: ‘’ multiple: true
[AndroidBootstrap] [BOOTSTRAP LOG] [debug] Using: UiSelector[RESOURCE_ID=com.passportparking.mobile:id/spinnerRow]
[AndroidBootstrap] [BOOTSTRAP LOG] [debug] getElements selector:UiSelector[RESOURCE_ID=com.passportparking.mobile:id/spinnerRow]
[AndroidBootstrap] [BOOTSTRAP LOG] [debug] Element[] is null: (0)
[AndroidBootstrap] [BOOTSTRAP LOG] [debug] getElements tmp selector:UiSelector[INSTANCE=0, RESOURCE_ID=com.passportparking.mobile:id/spinnerRow]
[AndroidBootstrap] [BOOTSTRAP LOG] [debug] Failed to locate element. Clearing Accessibility cache and retrying.
[AndroidBootstrap] [BOOTSTRAP LOG] [debug] Finding ‘com.passportparking.mobile:id/spinnerRow’ using ‘ID’ with the contextId: ‘’ multiple: true
[AndroidBootstrap] [BOOTSTRAP LOG] [debug] Using: UiSelector[RESOURCE_ID=com.passportparking.mobile:id/spinnerRow]
[AndroidBootstrap] [BOOTSTRAP LOG] [debug] getElements selector:UiSelector[RESOURCE_ID=com.passportparking.mobile:id/spinnerRow]
[AndroidBootstrap] [BOOTSTRAP LOG] [debug] Element[] is null: (0)
[AndroidBootstrap] [BOOTSTRAP LOG] [debug] getElements tmp selector:UiSelector[INSTANCE=0, RESOURCE_ID=com.passportparking.mobile:id/spinnerRow]
[AndroidBootstrap] [BOOTSTRAP LOG] [debug] Returning result: {“status”:0,“value”:[]}
[debug] [AndroidBootstrap] Received command result from bootstrap
[debug] [BaseDriver] Waited for 6688 ms so far
[debug] [AndroidBootstrap] Sending command to android: {“cmd”:“action”,“action”:“find”,“params”:{“strategy”:“id”,“selector”:“com.passportparking.mobile:id/spinnerRow”,“context”:"",“multiple”:true}}
[AndroidBootstrap] [BOOTSTRAP LOG] [debug] Got data from client: {“cmd”:“action”,“action”:“find”,“params”:{“strategy”:“id”,“selector”:“com.passportparking.mobile:id/spinnerRow”,“context”:"",“multiple”:true}}
[AndroidBootstrap] [BOOTSTRAP LOG] [debug] Got command of type ACTION
[AndroidBootstrap] [BOOTSTRAP LOG] [debug] Got command action: find
[AndroidBootstrap] [BOOTSTRAP LOG] [debug] Finding ‘com.passportparking.mobile:id/spinnerRow’ using ‘ID’ with the contextId: ‘’ multiple: true
[AndroidBootstrap] [BOOTSTRAP LOG] [debug] Using: UiSelector[RESOURCE_ID=com.passportparking.mobile:id/spinnerRow]
[AndroidBootstrap] [BOOTSTRAP LOG] [debug] getElements selector:UiSelector[RESOURCE_ID=com.passportparking.mobile:id/spinnerRow]
[AndroidBootstrap] [BOOTSTRAP LOG] [debug] Element[] is null: (0)
[AndroidBootstrap] [BOOTSTRAP LOG] [debug] getElements tmp selector:UiSelector[INSTANCE=0, RESOURCE_ID=com.passportparking.mobile:id/spinnerRow]
[AndroidBootstrap] [BOOTSTRAP LOG] [debug] Failed to locate element. Clearing Accessibility cache and retrying.
[AndroidBootstrap] [BOOTSTRAP LOG] [debug] Finding ‘com.passportparking.mobile:id/spinnerRow’ using ‘ID’ with the contextId: ‘’ multiple: true
[AndroidBootstrap] [BOOTSTRAP LOG] [debug] Using: UiSelector[RESOURCE_ID=com.passportparking.mobile:id/spinnerRow]
[AndroidBootstrap] [BOOTSTRAP LOG] [debug] getElements selector:UiSelector[RESOURCE_ID=com.passportparking.mobile:id/spinnerRow]
[AndroidBootstrap] [BOOTSTRAP LOG] [debug] Element[] is null: (0)
[AndroidBootstrap] [BOOTSTRAP LOG] [debug] getElements tmp selector:UiSelector[INSTANCE=0, RESOURCE_ID=com.passportparking.mobile:id/spinnerRow]
[AndroidBootstrap] [BOOTSTRAP LOG] [debug] Returning result: {“status”:0,“value”:[]}
[debug] [AndroidBootstrap] Received command result from bootstrap
[debug] [BaseDriver] Waited for 7275 ms so far
[debug] [AndroidBootstrap] Sending command to android: {“cmd”:“action”,“action”:“find”,“params”:{“strategy”:“id”,“selector”:“com.passportparking.mobile:id/spinnerRow”,“context”:"",“multiple”:true}}
[AndroidBootstrap] [BOOTSTRAP LOG] [debug] Got data from client: {“cmd”:“action”,“action”:“find”,“params”:{“strategy”:“id”,“selector”:“com.passportparking.mobile:id/spinnerRow”,“context”:"",“multiple”:true}}
[AndroidBootstrap] [BOOTSTRAP LOG] [debug] Got command of type ACTION
[AndroidBootstrap] [BOOTSTRAP LOG] [debug] Got command action: find
[AndroidBootstrap] [BOOTSTRAP LOG] [debug] Finding ‘com.passportparking.mobile:id/spinnerRow’ using ‘ID’ with the contextId: ‘’ multiple: true
[AndroidBootstrap] [BOOTSTRAP LOG] [debug] Using: UiSelector[RESOURCE_ID=com.passportparking.mobile:id/spinnerRow]
[AndroidBootstrap] [BOOTSTRAP LOG] [debug] getElements selector:UiSelector[RESOURCE_ID=com.passportparking.mobile:id/spinnerRow]
[AndroidBootstrap] [BOOTSTRAP LOG] [debug] Element[] is null: (0)
[AndroidBootstrap] [BOOTSTRAP LOG] [debug] getElements tmp selector:UiSelector[INSTANCE=0, RESOURCE_ID=com.passportparking.mobile:id/spinnerRow]
[AndroidBootstrap] [BOOTSTRAP LOG] [debug] Failed to locate element. Clearing Accessibility cache and retrying.
[AndroidBootstrap] [BOOTSTRAP LOG] [debug] Finding ‘com.passportparking.mobile:id/spinnerRow’ using ‘ID’ with the contextId: ‘’ multiple: true
[AndroidBootstrap] [BOOTSTRAP LOG] [debug] Using: UiSelector[RESOURCE_ID=com.passportparking.mobile:id/spinnerRow]
[AndroidBootstrap] [BOOTSTRAP LOG] [debug] getElements selector:UiSelector[RESOURCE_ID=com.passportparking.mobile:id/spinnerRow]
[AndroidBootstrap] [BOOTSTRAP LOG] [debug] Element[] is null: (0)
[AndroidBootstrap] [BOOTSTRAP LOG] [debug] getElements tmp selector:UiSelector[INSTANCE=0, RESOURCE_ID=com.passportparking.mobile:id/spinnerRow]
[AndroidBootstrap] [BOOTSTRAP LOG] [debug] Returning result: {“status”:0,“value”:[]}
[debug] [AndroidBootstrap] Received command result from bootstrap
[debug] [BaseDriver] Waited for 8653 ms so far
[debug] [AndroidBootstrap] Sending command to android: {“cmd”:“action”,“action”:“find”,“params”:{“strategy”:“id”,“selector”:“com.passportparking.mobile:id/spinnerRow”,“context”:"",“multiple”:true}}
[AndroidBootstrap] [BOOTSTRAP LOG] [debug] Got data from client: {“cmd”:“action”,“action”:“find”,“params”:{“strategy”:“id”,“selector”:“com.passportparking.mobile:id/spinnerRow”,“context”:"",“multiple”:true}}
[AndroidBootstrap] [BOOTSTRAP LOG] [debug] Got command of type ACTION
[AndroidBootstrap] [BOOTSTRAP LOG] [debug] Got command action: find
[AndroidBootstrap] [BOOTSTRAP LOG] [debug] Finding ‘com.passportparking.mobile:id/spinnerRow’ using ‘ID’ with the contextId: ‘’ multiple: true
[AndroidBootstrap] [BOOTSTRAP LOG] [debug] Using: UiSelector[RESOURCE_ID=com.passportparking.mobile:id/spinnerRow]
[AndroidBootstrap] [BOOTSTRAP LOG] [debug] getElements selector:UiSelector[RESOURCE_ID=com.passportparking.mobile:id/spinnerRow]
[AndroidBootstrap] [BOOTSTRAP LOG] [debug] Element[] is null: (0)
[AndroidBootstrap] [BOOTSTRAP LOG] [debug] getElements tmp selector:UiSelector[INSTANCE=0, RESOURCE_ID=com.passportparking.mobile:id/spinnerRow]
[AndroidBootstrap] [BOOTSTRAP LOG] [debug] Failed to locate element. Clearing Accessibility cache and retrying.
[AndroidBootstrap] [BOOTSTRAP LOG] [debug] Finding ‘com.passportparking.mobile:id/spinnerRow’ using ‘ID’ with the contextId: ‘’ multiple: true
[AndroidBootstrap] [BOOTSTRAP LOG] [debug] Using: UiSelector[RESOURCE_ID=com.passportparking.mobile:id/spinnerRow]
[AndroidBootstrap] [BOOTSTRAP LOG] [debug] getElements selector:UiSelector[RESOURCE_ID=com.passportparking.mobile:id/spinnerRow]
[AndroidBootstrap] [BOOTSTRAP LOG] [debug] Element[] is null: (0)
[AndroidBootstrap] [BOOTSTRAP LOG] [debug] getElements tmp selector:UiSelector[INSTANCE=0, RESOURCE_ID=com.passportparking.mobile:id/spinnerRow]
[AndroidBootstrap] [BOOTSTRAP LOG] [debug] Returning result: {“status”:0,“value”:[]}
[debug] [AndroidBootstrap] Received command result from bootstrap
[debug] [BaseDriver] Waited for 9183 ms so far
[debug] [AndroidBootstrap] Sending command to android: {“cmd”:“action”,“action”:“find”,“params”:{“strategy”:“id”,“selector”:“com.passportparking.mobile:id/spinnerRow”,“context”:"",“multiple”:true}}
[AndroidBootstrap] [BOOTSTRAP LOG] [debug] Got data from client: {“cmd”:“action”,“action”:“find”,“params”:{“strategy”:“id”,“selector”:“com.passportparking.mobile:id/spinnerRow”,“context”:"",“multiple”:true}}
[AndroidBootstrap] [BOOTSTRAP LOG] [debug] Got command of type ACTION
[AndroidBootstrap] [BOOTSTRAP LOG] [debug] Got command action: find
[AndroidBootstrap] [BOOTSTRAP LOG] [debug] Finding ‘com.passportparking.mobile:id/spinnerRow’ using ‘ID’ with the contextId: ‘’ multiple: true
[AndroidBootstrap] [BOOTSTRAP LOG] [debug] Using: UiSelector[RESOURCE_ID=com.passportparking.mobile:id/spinnerRow]
[AndroidBootstrap] [BOOTSTRAP LOG] [debug] getElements selector:UiSelector[RESOURCE_ID=com.passportparking.mobile:id/spinnerRow]
[AndroidBootstrap] [BOOTSTRAP LOG] [debug] Element[] is null: (0)
[AndroidBootstrap] [BOOTSTRAP LOG] [debug] getElements tmp selector:UiSelector[INSTANCE=0, RESOURCE_ID=com.passportparking.mobile:id/spinnerRow]
[AndroidBootstrap] [BOOTSTRAP LOG] [debug] Failed to locate element. Clearing Accessibility cache and retrying.
[AndroidBootstrap] [BOOTSTRAP LOG] [debug] Finding ‘com.passportparking.mobile:id/spinnerRow’ using ‘ID’ with the contextId: ‘’ multiple: true
[AndroidBootstrap] [BOOTSTRAP LOG] [debug] Using: UiSelector[RESOURCE_ID=com.passportparking.mobile:id/spinnerRow]
[AndroidBootstrap] [BOOTSTRAP LOG] [debug] getElements selector:UiSelector[RESOURCE_ID=com.passportparking.mobile:id/spinnerRow]
[AndroidBootstrap] [BOOTSTRAP LOG] [debug] Element[] is null: (0)
[AndroidBootstrap] [BOOTSTRAP LOG] [debug] getElements tmp selector:UiSelector[INSTANCE=0, RESOURCE_ID=com.passportparking.mobile:id/spinnerRow]
[AndroidBootstrap] [BOOTSTRAP LOG] [debug] Returning result: {“status”:0,“value”:[]}
[debug] [AndroidBootstrap] Received command result from bootstrap
[debug] [BaseDriver] Waited for 9730 ms so far
[debug] [AndroidBootstrap] Sending command to android: {“cmd”:“action”,“action”:“find”,“params”:{“strategy”:“id”,“selector”:“com.passportparking.mobile:id/spinnerRow”,“context”:"",“multiple”:true}}
[AndroidBootstrap] [BOOTSTRAP LOG] [debug] Got data from client: {“cmd”:“action”,“action”:“find”,“params”:{“strategy”:“id”,“selector”:“com.passportparking.mobile:id/spinnerRow”,“context”:"",“multiple”:true}}
[AndroidBootstrap] [BOOTSTRAP LOG] [debug] Got command of type ACTION
[AndroidBootstrap] [BOOTSTRAP LOG] [debug] Got command action: find
[AndroidBootstrap] [BOOTSTRAP LOG] [debug] Finding ‘com.passportparking.mobile:id/spinnerRow’ using ‘ID’ with the contextId: ‘’ multiple: true
[AndroidBootstrap] [BOOTSTRAP LOG] [debug] Using: UiSelector[RESOURCE_ID=com.passportparking.mobile:id/spinnerRow]
[AndroidBootstrap] [BOOTSTRAP LOG] [debug] getElements selector:UiSelector[RESOURCE_ID=com.passportparking.mobile:id/spinnerRow]
[AndroidBootstrap] [BOOTSTRAP LOG] [debug] Element[] is null: (0)
[AndroidBootstrap] [BOOTSTRAP LOG] [debug] getElements tmp selector:UiSelector[INSTANCE=0, RESOURCE_ID=com.passportparking.mobile:id/spinnerRow]
[AndroidBootstrap] [BOOTSTRAP LOG] [debug] Element[] is null: (1)
[AndroidBootstrap] [BOOTSTRAP LOG] [debug] getElements tmp selector:UiSelector[INSTANCE=1, RESOURCE_ID=com.passportparking.mobile:id/spinnerRow]
[AndroidBootstrap] [BOOTSTRAP LOG] [debug] Returning result: {“status”:0,“value”:[{“ELEMENT”:“1”}]}
[debug] [AndroidBootstrap] Received command result from bootstrap
[debug] [MJSONWP] Responding to client with driver.findElements() result: [{“ELEMENT”:“1”}]
[HTTP] <-- POST /wd/hub/session/eccf115e-7052-4cfb-abc2-812b3acea293/elements 200 10683 ms - 89
[HTTP] --> GET /wd/hub/session/eccf115e-7052-4cfb-abc2-812b3acea293/element/1/displayed {}
[debug] [MJSONWP] Calling AppiumDriver.elementDisplayed() with args: [“1”,“eccf115e-7052-4cfb-abc2-812b3acea293”]
[debug] [AndroidBootstrap] Sending command to android: {“cmd”:“action”,“action”:“element:getAttribute”,“params”:{“attribute”:“displayed”,“elementId”:“1”}}
[AndroidBootstrap] [BOOTSTRAP LOG] [debug] Got data from client: {“cmd”:“action”,“action”:“element:getAttribute”,“params”:{“attribute”:“displayed”,“elementId”:“1”}}
[AndroidBootstrap] [BOOTSTRAP LOG] [debug] Got command of type ACTION
[AndroidBootstrap] [BOOTSTRAP LOG] [debug] Got command action: getAttribute
[AndroidBootstrap] [BOOTSTRAP LOG] [debug] Returning result: {“status”:0,“value”:“true”}
[debug] [AndroidBootstrap] Received command result from bootstrap
[debug] [MJSONWP] Responding to client with driver.elementDisplayed() result: true
[HTTP] <-- GET /wd/hub/session/eccf115e-7052-4cfb-abc2-812b3acea293/element/1/displayed 200 14 ms - 76
[HTTP] --> GET /wd/hub/session/eccf115e-7052-4cfb-abc2-812b3acea293/element/1/enabled {}
[debug] [MJSONWP] Calling AppiumDriver.elementEnabled() with args: [“1”,“eccf115e-7052-4cfb-abc2-812b3acea293”]
[debug] [AndroidBootstrap] Sending command to android: {“cmd”:“action”,“action”:“element:getAttribute”,“params”:{“attribute”:“enabled”,“elementId”:“1”}}
[AndroidBootstrap] [BOOTSTRAP LOG] [debug] Got data from client: {“cmd”:“action”,“action”:“element:getAttribute”,“params”:{“attribute”:“enabled”,“elementId”:“1”}}
[AndroidBootstrap] [BOOTSTRAP LOG] [debug] Got command of type ACTION
[AndroidBootstrap] [BOOTSTRAP LOG] [debug] Got command action: getAttribute
[AndroidBootstrap] [BOOTSTRAP LOG] [debug] Returning result: {“status”:0,“value”:“true”}
[debug] [AndroidBootstrap] Received command result from bootstrap
[debug] [MJSONWP] Responding to client with driver.elementEnabled() result: true
[HTTP] <-- GET /wd/hub/session/eccf115e-7052-4cfb-abc2-812b3acea293/element/1/enabled 200 14 ms - 76
[HTTP] --> POST /wd/hub/session/eccf115e-7052-4cfb-abc2-812b3acea293/elements {“using”:“id”,“value”:“com.passportparking.mobile:id/spinnerRow”}
[debug] [MJSONWP] Calling AppiumDriver.findElements() with args: [“id”,“com.passportparking.mobile:id/spinnerRow”,“eccf115e-7052-4cfb-abc2-812b3acea293”]
[debug] [BaseDriver] Valid locator strategies for this request: xpath, id, class name, accessibility id, -android uiautomator
[debug] [BaseDriver] Valid locator strategies for this request: xpath, id, class name, accessibility id, -android uiautomator
[debug] [BaseDriver] Waiting up to 20000 ms for condition
[debug] [AndroidBootstrap] Sending command to android: {“cmd”:“action”,“action”:“find”,“params”:{“strategy”:“id”,“selector”:“com.passportparking.mobile:id/spinnerRow”,“context”:"",“multiple”:true}}
[AndroidBootstrap] [BOOTSTRAP LOG] [debug] Got data from client: {“cmd”:“action”,“action”:“find”,“params”:{“strategy”:“id”,“selector”:“com.passportparking.mobile:id/spinnerRow”,“context”:"",“multiple”:true}}
[AndroidBootstrap] [BOOTSTRAP LOG] [debug] Got command of type ACTION
[AndroidBootstrap] [BOOTSTRAP LOG] [debug] Got command action: find
[AndroidBootstrap] [BOOTSTRAP LOG] [debug] Finding ‘com.passportparking.mobile:id/spinnerRow’ using ‘ID’ with the contextId: ‘’ multiple: true
[AndroidBootstrap] [BOOTSTRAP LOG] [debug] Using: UiSelector[RESOURCE_ID=com.passportparking.mobile:id/spinnerRow]
[AndroidBootstrap] [BOOTSTRAP LOG] [debug] getElements selector:UiSelector[RESOURCE_ID=com.passportparking.mobile:id/spinnerRow]
[AndroidBootstrap] [BOOTSTRAP LOG] [debug] Element[] is null: (0)
[AndroidBootstrap] [BOOTSTRAP LOG] [debug] getElements tmp selector:UiSelector[INSTANCE=0, RESOURCE_ID=com.passportparking.mobile:id/spinnerRow]
[AndroidBootstrap] [BOOTSTRAP LOG] [debug] Element[] is null: (1)
[AndroidBootstrap] [BOOTSTRAP LOG] [debug] getElements tmp selector:UiSelector[INSTANCE=1, RESOURCE_ID=com.passportparking.mobile:id/spinnerRow]
[AndroidBootstrap] [BOOTSTRAP LOG] [debug] Returning result: {“status”:0,“value”:[{“ELEMENT”:“2”}]}
[debug] [AndroidBootstrap] Received command result from bootstrap
[debug] [MJSONWP] Responding to client with driver.findElements() result: [{“ELEMENT”:“2”}]
[HTTP] <-- POST /wd/hub/session/eccf115e-7052-4cfb-abc2-812b3acea293/elements 200 23 ms - 89
[HTTP] --> GET /wd/hub/session/eccf115e-7052-4cfb-abc2-812b3acea293/element/2/displayed {}
[debug] [MJSONWP] Calling AppiumDriver.elementDisplayed() with args: [“2”,“eccf115e-7052-4cfb-abc2-812b3acea293”]
[debug] [AndroidBootstrap] Sending command to android: {“cmd”:“action”,“action”:“element:getAttribute”,“params”:{“attribute”:“displayed”,“elementId”:“2”}}
[AndroidBootstrap] [BOOTSTRAP LOG] [debug] Got data from client: {“cmd”:“action”,“action”:“element:getAttribute”,“params”:{“attribute”:“displayed”,“elementId”:“2”}}
[AndroidBootstrap] [BOOTSTRAP LOG] [debug] Got command of type ACTION
[AndroidBootstrap] [BOOTSTRAP LOG] [debug] Got command action: getAttribute
[AndroidBootstrap] [BOOTSTRAP LOG] [debug] Returning result: {“status”:0,“value”:“true”}
[debug] [AndroidBootstrap] Received command result from bootstrap
[debug] [MJSONWP] Responding to client with driver.elementDisplayed() result: true
[HTTP] <-- GET /wd/hub/session/eccf115e-7052-4cfb-abc2-812b3acea293/element/2/displayed 200 122 ms - 76
[HTTP] --> GET /wd/hub/session/eccf115e-7052-4cfb-abc2-812b3acea293/element/2/enabled {}
[debug] [MJSONWP] Calling AppiumDriver.elementEnabled() with args: [“2”,“eccf115e-7052-4cfb-abc2-812b3acea293”]
[debug] [AndroidBootstrap] Sending command to android: {“cmd”:“action”,“action”:“element:getAttribute”,“params”:{“attribute”:“enabled”,“elementId”:“2”}}
[AndroidBootstrap] [BOOTSTRAP LOG] [debug] Got data from client: {“cmd”:“action”,“action”:“element:getAttribute”,“params”:{“attribute”:“enabled”,“elementId”:“2”}}
[AndroidBootstrap] [BOOTSTRAP LOG] [debug] Got command of type ACTION
[AndroidBootstrap] [BOOTSTRAP LOG] [debug] Got command action: getAttribute
[AndroidBootstrap] [BOOTSTRAP LOG] [debug] Returning result: {“status”:0,“value”:“true”}
[debug] [AndroidBootstrap] Received command result from bootstrap
[debug] [MJSONWP] Responding to client with driver.elementEnabled() result: true
[HTTP] <-- GET /wd/hub/session/eccf115e-7052-4cfb-abc2-812b3acea293/element/2/enabled 200 51 ms - 76
[BaseDriver] Shutting down because we waited 60 seconds for a command
[debug] [AndroidDriver] Shutting down Android driver
[Appium] Closing session, cause was ‘New Command Timeout of 60 seconds expired. Try customizing the timeout using the ‘newCommandTimeout’ desired capability’
[Appium] Removing session eccf115e-7052-4cfb-abc2-812b3acea293 from our master session list
[debug] [ADB] Getting connected devices…
[debug] [ADB] 1 device(s) connected
[debug] [ADB] Running ‘/Users/Anand/adt-bundle-mac-x86_64-20140702/sdk/platform-tools/adb’ with args: ["-P",5037,"-s",“ZX1B34FZH8”,“shell”,“am”,“force-stop”,“com.passportparking.mobile”]
[debug] [ADB] Pressing the HOME button
[debug] [ADB] Getting connected devices…
[debug] [ADB] 1 device(s) connected
[debug] [ADB] Running ‘/Users/Anand/adt-bundle-mac-x86_64-20140702/sdk/platform-tools/adb’ with args: ["-P",5037,"-s",“ZX1B34FZH8”,“shell”,“input”,“keyevent”,3]
[debug] [AndroidBootstrap] Sending command to android: {“cmd”:“shutdown”}
[AndroidBootstrap] [BOOTSTRAP LOG] [debug] Got data from client: {“cmd”:“shutdown”}
[AndroidBootstrap] [BOOTSTRAP LOG] [debug] Got command of type SHUTDOWN
[AndroidBootstrap] [BOOTSTRAP LOG] [debug] Returning result: {“status”:0,“value”:“OK, shutting down”}
[AndroidBootstrap] [BOOTSTRAP LOG] [debug] Closed client connection
[debug] [AndroidBootstrap] [UIAUTO STDOUT] INSTRUMENTATION_STATUS: numtests=1
[debug] [AndroidBootstrap] [UIAUTO STDOUT] INSTRUMENTATION_STATUS: stream=.
[debug] [AndroidBootstrap] [UIAUTO STDOUT] INSTRUMENTATION_STATUS: id=UiAutomatorTestRunner
[debug] [AndroidBootstrap] [UIAUTO STDOUT] INSTRUMENTATION_STATUS: test=testRunServer
[debug] [AndroidBootstrap] [UIAUTO STDOUT] INSTRUMENTATION_STATUS: class=io.appium.android.bootstrap.Bootstrap
[debug] [AndroidBootstrap] [UIAUTO STDOUT] INSTRUMENTATION_STATUS: current=1
[debug] [AndroidBootstrap] [UIAUTO STDOUT] INSTRUMENTATION_STATUS_CODE: 0
[debug] [AndroidBootstrap] [UIAUTO STDOUT] INSTRUMENTATION_STATUS: stream=
[debug] [AndroidBootstrap] [UIAUTO STDOUT] Test results for WatcherResultPrinter=.
[debug] [AndroidBootstrap] [UIAUTO STDOUT] Time: 75.163
[debug] [AndroidBootstrap] [UIAUTO STDOUT] OK (1 test)
[debug] [AndroidBootstrap] [UIAUTO STDOUT] INSTRUMENTATION_STATUS_CODE: -1
[debug] [AndroidBootstrap] Received command result from bootstrap
[debug] [UiAutomator] Shutting down UiAutomator
[debug] [UiAutomator] Moving to state ‘stopping’
[debug] [UiAutomator] UiAutomator shut down normally
[debug] [UiAutomator] Moving to state ‘stopped’
[debug] [ADB] Attempting to kill all uiautomator processes
[debug] [ADB] Getting all processes with uiautomator
[debug] [ADB] Getting connected devices…
[debug] [ADB] 1 device(s) connected
[debug] [ADB] Running ‘/Users/Anand/adt-bundle-mac-x86_64-20140702/sdk/platform-tools/adb’ with args: ["-P",5037,"-s",“ZX1B34FZH8”,“shell”,“ps”]
[ADB] No uiautomator process found to kill, continuing…
[debug] [UiAutomator] Moving to state ‘stopped’
[debug] [Logcat] Stopping logcat capture
[debug] [ADB] Getting connected devices…
[debug] [ADB] 1 device(s) connected
[debug] [ADB] Running ‘/Users/Anand/adt-bundle-mac-x86_64-20140702/sdk/platform-tools/adb’ with args: ["-P",5037,"-s",“ZX1B34FZH8”,“shell”,“am”,“force-stop”,“io.appium.unlock”]
[debug] [AndroidDriver] Not cleaning generated files. Add clearSystemFiles capability if wanted.

What line of code is this and what value is null?

Have you tried “automationName”:“uiautomator2” ??

Actually value related to app element is not null in my opinion, i think driver initialization is the issue. Tried debugging but with no help.

I tried adding uiautomator2 as capability but it failed again similarly, here is method where it failed on performing click action. Method name: CountrySelectorPageAndroid.java

protected String androidID = “com.passportparking.mobile:id/”;

"public void clickCountrySpinner() {

waitForClickability(androidID + "spinnerRow");
driver.findElement(country_selector_spinner).click();

}"

Appium log for capability UIAutomator2 :

[Appium] Welcome to Appium v1.6.4
[Appium] Appium REST http interface listener started on 0.0.0.0:4723
[HTTP] → POST /wd/hub/session {“capabilities”:[{“desiredCapabilities”:{“app”:“/Users/Anand/Testing/Office/passport-automation/apps/mobilepay-release.apk”,“appPackage”:“com.passportparking.mobile”,“appActivity”:“com.passportparking.mobile.MobilePayApp”,“platformVersion”:“5.1”,“automationName”:“UiAutomator2”,“platformName”:“Android”,“deviceName”:“NotUsed”}},{“requiredCapabilities”:{}}],“desiredCapabilities”:{“app”:“/Users/Anand/Testing/Office/passport-automation/apps/mobilepay-release.apk”,“appPackage”:“com.passportparking.mobile”,“appActivity”:“com.passportparking.mobile.MobilePayApp”,“platformVersion”:“5.1”,“automationName”:“UiAutomator2”,“platformName”:“Android”,“deviceName”:“NotUsed”},“requiredCapabilities”:{}}
[debug] [MJSONWP] Calling AppiumDriver.createSession() with args: [{“app”:“/Users/Anand/Testing/Office/passport-automation/apps/mobilepay-release.apk”,“appPackage”:“com.passportparking.mobile”,“appActivity”:“com.passportparking.mobile.MobilePayApp”,“platformVersion”:“5.1”,“automationName”:“UiAutomator2”,“platformName”:“Android”,“deviceName”:“NotUsed”},{},[{“desiredCapabilities”:{“app”:“/Users/Anand/Testing/Office/passport-automation/apps/mobilepay-release.apk”,“appPackage”:“com.passportparking.mobile”,“appActivity”:“com.passportparking.mobile.MobilePayApp”,“platformVersion”:“5.1”,“automationName”:“UiAutomator2”,“platformName”:“Android”,“deviceName”:“NotUsed”}},{“requiredCapabilities”:{}}],null,null]
[debug] [BaseDriver] Event ‘newSessionRequested’ logged at 1495679633624 (08:03:53 GMT+0530 (IST))
[Appium] Creating new AndroidUiautomator2Driver (v0.3.1) session
[Appium] Capabilities:
[Appium] app: ‘/Users/Anand/Testing/Office/passport-automation/apps/mobilepay-release.apk’
[Appium] appPackage: ‘com.passportparking.mobile’
[Appium] appActivity: ‘com.passportparking.mobile.MobilePayApp’
[Appium] platformVersion: ‘5.1’
[Appium] automationName: ‘UiAutomator2’
[Appium] platformName: ‘Android’
[Appium] deviceName: ‘NotUsed’
[BaseDriver] Session created with session id: 4ddf21df-2066-41fd-b981-6b4a81cd4049
[BaseDriver] Using local app ‘/Users/Anand/Testing/Office/passport-automation/apps/mobilepay-release.apk’
[debug] [UiAutomator2] Checking whether app is actually present
[UiAutomator2] UIAutomator2 Driver version:0.3.1
[debug] [AndroidDriver] Getting Java version
[AndroidDriver] Java version is: 1.8.0_101
[ADB] Checking whether adb is present
[ADB] Using adb from /Users/Anand/adt-bundle-mac-x86_64-20140702/sdk/platform-tools/adb
[AndroidDriver] Retrieving device list
[debug] [ADB] Trying to find a connected android device
[debug] [ADB] Getting connected devices…
[debug] [ADB] 1 device(s) connected
[AndroidDriver] Looking for a device with Android ‘5.1’
[debug] [ADB] Setting device id to ZX1B34FZH8
[ADB] Getting device platform version
[debug] [ADB] Getting connected devices…
[debug] [ADB] 1 device(s) connected
[debug] [ADB] Running ‘/Users/Anand/adt-bundle-mac-x86_64-20140702/sdk/platform-tools/adb’ with args: [“-P”,5037,“-s”,“ZX1B34FZH8”,“shell”,“getprop”,“ro.build.version.release”]
[AndroidDriver] Using device: ZX1B34FZH8
[ADB] Checking whether adb is present
[ADB] Using adb from /Users/Anand/adt-bundle-mac-x86_64-20140702/sdk/platform-tools/adb
[debug] [ADB] Setting device id to ZX1B34FZH8
[ADB] Getting device platform version
[debug] [ADB] Getting connected devices…
[debug] [ADB] 1 device(s) connected
[debug] [ADB] Running ‘/Users/Anand/adt-bundle-mac-x86_64-20140702/sdk/platform-tools/adb’ with args: [“-P”,5037,“-s”,“ZX1B34FZH8”,“shell”,“getprop”,“ro.build.version.release”]
[debug] [ADB] Getting connected devices…
[debug] [ADB] 1 device(s) connected
[debug] [ADB] Running ‘/Users/Anand/adt-bundle-mac-x86_64-20140702/sdk/platform-tools/adb’ with args: [“-P”,5037,“-s”,“ZX1B34FZH8”,“shell”,“wm”,“size”]
[debug] [ADB] Getting connected devices…
[debug] [ADB] 1 device(s) connected
[debug] [ADB] Running ‘/Users/Anand/adt-bundle-mac-x86_64-20140702/sdk/platform-tools/adb’ with args: [“-P”,5037,“-s”,“ZX1B34FZH8”,“shell”,“getprop”,“ro.product.model”]
[debug] [ADB] Current device property ‘ro.product.model’: XT1022
[debug] [ADB] Getting connected devices…
[debug] [ADB] 1 device(s) connected
[debug] [ADB] Running ‘/Users/Anand/adt-bundle-mac-x86_64-20140702/sdk/platform-tools/adb’ with args: [“-P”,5037,“-s”,“ZX1B34FZH8”,“shell”,“getprop”,“ro.product.manufacturer”]
[debug] [ADB] Current device property ‘ro.product.manufacturer’: motorola
[debug] [ADB] Getting connected devices…
[debug] [ADB] 1 device(s) connected
[debug] [ADB] Running ‘/Users/Anand/adt-bundle-mac-x86_64-20140702/sdk/platform-tools/adb’ with args: [“-P”,5037,“-s”,“ZX1B34FZH8”,“shell”,“am”,“force-stop”,“io.appium.uiautomator2.server”]
[debug] [ADB] Running ‘/Users/Anand/adt-bundle-mac-x86_64-20140702/sdk/platform-tools/adb’ with args: [“-P”,5037,“-s”,“ZX1B34FZH8”,“wait-for-device”]
[debug] [ADB] Getting connected devices…
[debug] [ADB] 1 device(s) connected
[debug] [ADB] Running ‘/Users/Anand/adt-bundle-mac-x86_64-20140702/sdk/platform-tools/adb’ with args: [“-P”,5037,“-s”,“ZX1B34FZH8”,“shell”,“echo”,“ping”]
[debug] [Logcat] Starting logcat capture
[debug] [AndroidDriver] Pushing settings apk to device…
[debug] [ADB] Getting install status for io.appium.settings
[debug] [ADB] Getting connected devices…
[debug] [ADB] 1 device(s) connected
[debug] [ADB] Running ‘/Users/Anand/adt-bundle-mac-x86_64-20140702/sdk/platform-tools/adb’ with args: [“-P”,5037,“-s”,“ZX1B34FZH8”,“shell”,“pm”,“list”,“packages”,“io.appium.settings”]
[debug] [ADB] App is installed
[debug] [ADB] Getting package info for io.appium.settings
[debug] [ADB] Getting connected devices…
[ADB] Checking whether aapt is present
[ADB] Using aapt from /Users/Anand/adt-bundle-mac-x86_64-20140702/sdk/build-tools/20.0.0/aapt
[debug] [ADB] 1 device(s) connected
[debug] [ADB] Running ‘/Users/Anand/adt-bundle-mac-x86_64-20140702/sdk/platform-tools/adb’ with args: [“-P”,5037,“-s”,“ZX1B34FZH8”,“shell”,“dumpsys”,“package”,“io.appium.settings”]
[ADB] Cannot read version codes of /usr/local/lib/node_modules/appium/node_modules/io.appium.settings/app/build/outputs/apk/settings_apk-debug.apk and/or io.appium.settings. Assuming correct app version is already installed
[debug] [ADB] Getting connected devices…
[debug] [ADB] 1 device(s) connected
[debug] [ADB] Running ‘/Users/Anand/adt-bundle-mac-x86_64-20140702/sdk/platform-tools/adb’ with args: [“-P”,5037,“-s”,“ZX1B34FZH8”,“shell”,“getprop”,“ro.build.version.sdk”]
[debug] [ADB] Device API level: 22
[debug] [ADB] Getting connected devices…
[debug] [ADB] 1 device(s) connected
[debug] [ADB] Running ‘/Users/Anand/adt-bundle-mac-x86_64-20140702/sdk/platform-tools/adb’ with args: [“-P”,5037,“-s”,“ZX1B34FZH8”,“shell”,“dumpsys”,“package”,“io.appium.settings”]
[debug] [AndroidDriver] Pushing unlock helper app to device…
[debug] [ADB] Running ‘/Users/Anand/adt-bundle-mac-x86_64-20140702/sdk/platform-tools/adb’ with args: [“-P”,5037,“-s”,“ZX1B34FZH8”,“install”,“/usr/local/lib/node_modules/appium/node_modules/appium-unlock/bin/unlock_apk-debug.apk”]
[debug] [ADB] Device API level: 22
[debug] [ADB] Getting connected devices…
[debug] [ADB] 1 device(s) connected
[debug] [ADB] Running ‘/Users/Anand/adt-bundle-mac-x86_64-20140702/sdk/platform-tools/adb’ with args: [“-P”,5037,“-s”,“ZX1B34FZH8”,“shell”,“settings”,“put”,“secure”,“mock_location”,“1”]
[debug] [UiAutomator2] Forwarding UiAutomator2 Server port 6790 to 8200
[debug] [ADB] Forwarding system: 8200 to device: 6790
[debug] [ADB] Running ‘/Users/Anand/adt-bundle-mac-x86_64-20140702/sdk/platform-tools/adb’ with args: [“-P”,5037,“-s”,“ZX1B34FZH8”,“forward”,“tcp:8200”,“tcp:6790”]
[debug] [ADB] Getting connected devices…
[debug] [ADB] 1 device(s) connected
[debug] [ADB] Running ‘/Users/Anand/adt-bundle-mac-x86_64-20140702/sdk/platform-tools/adb’ with args: [“-P”,5037,“-s”,“ZX1B34FZH8”,“shell”,“dumpsys”,“window”]
[AndroidDriver] Screen already unlocked, doing nothing
[debug] [AndroidDriver] Extracting strings from apk /Users/Anand/Testing/Office/passport-automation/apps/mobilepay-release.apk null /var/folders/d_/c22g6js131j48gyxkfg6rtc00000gn/T/com.passportparking.mobile
[debug] [ADB] Extracting strings for language: default
[debug] [ADB] Device API level: 22
[debug] [ADB] Getting connected devices…
[debug] [ADB] 1 device(s) connected
[debug] [ADB] Running ‘/Users/Anand/adt-bundle-mac-x86_64-20140702/sdk/platform-tools/adb’ with args: [“-P”,5037,“-s”,“ZX1B34FZH8”,“shell”,“getprop”,“persist.sys.language”]
[debug] [ADB] Current device property ‘persist.sys.language’: en
[debug] [ADB] No strings.xml for language ‘en’, getting default strings.xml
[debug] [ADB] Reading strings from converted strings.json
[debug] [ADB] Running ‘/Users/Anand/adt-bundle-mac-x86_64-20140702/sdk/platform-tools/adb’ with args: [“-P”,5037,“-s”,“ZX1B34FZH8”,“push”,“/var/folders/d_/c22g6js131j48gyxkfg6rtc00000gn/T/com.passportparking.mobile/strings.json”,“/data/local/tmp”]
[debug] [ADB] Checking app cert for /Users/Anand/Testing/Office/passport-automation/apps/mobilepay-release.apk.
[debug] [ADB] App not signed with debug cert.
[debug] [ADB] Resigning apk.
[debug] [ADB] Zip-aligning ‘/Users/Anand/Testing/Office/passport-automation/apps/mobilepay-release.apk’
[ADB] Checking whether zipalign is present
[ADB] Using zipalign from /Users/Anand/adt-bundle-mac-x86_64-20140702/sdk/build-tools/20.0.0/zipalign
[debug] [ADB] Zip-aligning apk.
[AndroidDriver] Remote apk path is /data/local/tmp/a0f5f6c9aa85c0b22c28c6e666fd6418.apk
[debug] [ADB] Getting connected devices…
[debug] [ADB] 1 device(s) connected
[debug] [ADB] Running ‘/Users/Anand/adt-bundle-mac-x86_64-20140702/sdk/platform-tools/adb’ with args: [“-P”,5037,“-s”,“ZX1B34FZH8”,“shell”,“ls”,“/data/local/tmp/a0f5f6c9aa85c0b22c28c6e666fd6418.apk”]
[debug] [AndroidDriver] Checking if app is installed
[debug] [ADB] Getting install status for com.passportparking.mobile
[debug] [ADB] Getting connected devices…
[debug] [ADB] 1 device(s) connected
[debug] [ADB] Running ‘/Users/Anand/adt-bundle-mac-x86_64-20140702/sdk/platform-tools/adb’ with args: [“-P”,5037,“-s”,“ZX1B34FZH8”,“shell”,“pm”,“list”,“packages”,“com.passportparking.mobile”]
[debug] [ADB] App is installed
[AndroidDriver] Apk was already installed but not from our remote path
[AndroidDriver] Reinstalling apk from remote
[debug] [ADB] Getting connected devices…
[debug] [ADB] 1 device(s) connected
[debug] [ADB] Running ‘/Users/Anand/adt-bundle-mac-x86_64-20140702/sdk/platform-tools/adb’ with args: [“-P”,5037,“-s”,“ZX1B34FZH8”,“shell”,“mkdir”,“-p”,“/data/local/tmp”]
[AndroidDriver] Clearing out any existing remote apks with the same hash
[debug] [AndroidDriver] Removing any old apks
[debug] [AndroidDriver] Except [“a0f5f6c9aa85c0b22c28c6e666fd6418”]
[debug] [ADB] Getting connected devices…
[debug] [ADB] 1 device(s) connected
[debug] [ADB] Running ‘/Users/Anand/adt-bundle-mac-x86_64-20140702/sdk/platform-tools/adb’ with args: [“-P”,5037,“-s”,“ZX1B34FZH8”,“shell”,“ls”,“/data/local/tmp/*.apk”]
[AndroidDriver] Will remove /data/local/tmp/36d02738cbfa34dd1b770020f17b2503.apk
[debug] [ADB] Getting connected devices…
[debug] [ADB] 1 device(s) connected
[debug] [ADB] Running ‘/Users/Anand/adt-bundle-mac-x86_64-20140702/sdk/platform-tools/adb’ with args: [“-P”,5037,“-s”,“ZX1B34FZH8”,“shell”,“rm”,“-f”,“/data/local/tmp/36d02738cbfa34dd1b770020f17b2503.apk”]
[AndroidDriver] Pushing com.passportparking.mobile to device. Will wait up to 90000 milliseconds before aborting
[debug] [ADB] Running ‘/Users/Anand/adt-bundle-mac-x86_64-20140702/sdk/platform-tools/adb’ with args: [“-P”,5037,“-s”,“ZX1B34FZH8”,“push”,“/Users/Anand/Testing/Office/passport-automation/apps/mobilepay-release.apk”,“/data/local/tmp/a0f5f6c9aa85c0b22c28c6e666fd6418.apk”]
[debug] [ADB] Uninstalling com.passportparking.mobile
[debug] [ADB] Getting connected devices…
[debug] [ADB] 1 device(s) connected
[debug] [ADB] Running ‘/Users/Anand/adt-bundle-mac-x86_64-20140702/sdk/platform-tools/adb’ with args: [“-P”,5037,“-s”,“ZX1B34FZH8”,“shell”,“am”,“force-stop”,“com.passportparking.mobile”]
[debug] [ADB] Running ‘/Users/Anand/adt-bundle-mac-x86_64-20140702/sdk/platform-tools/adb’ with args: [“-P”,5037,“-s”,“ZX1B34FZH8”,“uninstall”,“com.passportparking.mobile”]
[ADB] App was uninstalled
[debug] [ADB] Getting connected devices…
[debug] [ADB] 1 device(s) connected
[debug] [ADB] Running ‘/Users/Anand/adt-bundle-mac-x86_64-20140702/sdk/platform-tools/adb’ with args: [“-P”,5037,“-s”,“ZX1B34FZH8”,“shell”,“pm”,“install”,“-r”,“/data/local/tmp/a0f5f6c9aa85c0b22c28c6e666fd6418.apk”]
[ADB] Checking whether aapt is present
[ADB] Using aapt from /Users/Anand/adt-bundle-mac-x86_64-20140702/sdk/build-tools/20.0.0/aapt
[debug] [ADB] Getting install status for io.appium.uiautomator2.server
[debug] [ADB] Getting connected devices…
[debug] [ADB] 1 device(s) connected
[debug] [ADB] Running ‘/Users/Anand/adt-bundle-mac-x86_64-20140702/sdk/platform-tools/adb’ with args: [“-P”,5037,“-s”,“ZX1B34FZH8”,“shell”,“pm”,“list”,“packages”,“io.appium.uiautomator2.server”]
[debug] [ADB] App is not installed
[debug] [ADB] Getting install status for io.appium.uiautomator2.server.test
[debug] [ADB] Getting connected devices…
[debug] [ADB] 1 device(s) connected
[debug] [ADB] Running ‘/Users/Anand/adt-bundle-mac-x86_64-20140702/sdk/platform-tools/adb’ with args: [“-P”,5037,“-s”,“ZX1B34FZH8”,“shell”,“pm”,“list”,“packages”,“io.appium.uiautomator2.server.test”]
[debug] [ADB] App is not installed
[debug] [ADB] Checking app cert for /usr/local/lib/node_modules/appium/node_modules/appium-uiautomator2-driver/uiautomator2/appium-uiautomator2-server-v0.1.4.apk.
[debug] [ADB] App not signed with debug cert.
[debug] [ADB] Resigning apk.
[debug] [ADB] Zip-aligning ‘/usr/local/lib/node_modules/appium/node_modules/appium-uiautomator2-driver/uiautomator2/appium-uiautomator2-server-v0.1.4.apk’
[ADB] Checking whether zipalign is present
[ADB] Using zipalign from /Users/Anand/adt-bundle-mac-x86_64-20140702/sdk/build-tools/20.0.0/zipalign
[debug] [ADB] Zip-aligning apk.
[debug] [ADB] Running ‘/Users/Anand/adt-bundle-mac-x86_64-20140702/sdk/platform-tools/adb’ with args: [“-P”,5037,“-s”,“ZX1B34FZH8”,“install”,“-r”,“/usr/local/lib/node_modules/appium/node_modules/appium-uiautomator2-driver/uiautomator2/appium-uiautomator2-server-v0.1.4.apk”]
[UiAutomator2] Installed UiAutomator2 server apk
[debug] [ADB] Checking app cert for /usr/local/lib/node_modules/appium/node_modules/appium-uiautomator2-driver/uiautomator2/appium-uiautomator2-server-debug-androidTest.apk.
[debug] [ADB] App not signed with debug cert.
[debug] [ADB] Resigning apk.
[debug] [ADB] Zip-aligning ‘/usr/local/lib/node_modules/appium/node_modules/appium-uiautomator2-driver/uiautomator2/appium-uiautomator2-server-debug-androidTest.apk’
[ADB] Checking whether zipalign is present
[ADB] Using zipalign from /Users/Anand/adt-bundle-mac-x86_64-20140702/sdk/build-tools/20.0.0/zipalign
[debug] [ADB] Zip-aligning apk.
[debug] [ADB] Running ‘/Users/Anand/adt-bundle-mac-x86_64-20140702/sdk/platform-tools/adb’ with args: [“-P”,5037,“-s”,“ZX1B34FZH8”,“install”,“-r”,“/usr/local/lib/node_modules/appium/node_modules/appium-uiautomator2-driver/uiautomator2/appium-uiautomator2-server-debug-androidTest.apk”]
[UiAutomator2] Installed UiAutomator2 server apk
[debug] [ADB] Getting connected devices…
[debug] [ADB] 1 device(s) connected
[debug] [ADB] Running ‘/Users/Anand/adt-bundle-mac-x86_64-20140702/sdk/platform-tools/adb’ with args: [“-P”,5037,“-s”,“ZX1B34FZH8”,“shell”,“am”,“force-stop”,“io.appium.uiautomator2.server”]
[UiAutomator2] Starting uiautomator2 server v0.1.4 with cmd: am,instrument,-w,io.appium.uiautomator2.server.test/android.support.test.runner.AndroidJUnitRunner
[UiAutomator2] running command…
adb -s ZX1B34FZH8 shell am instrument -w io.appium.uiautomator2.server.test/android.support.test.runner.AndroidJUnitRunner…
[UiAutomator2] Waiting for UiAutomator2 to be online…
[debug] [JSONWP Proxy] Proxying [GET /status] to [GET http://localhost:8200/wd/hub/status] with no body
[debug] [JSONWP Proxy] Proxying [GET /status] to [GET http://localhost:8200/wd/hub/status] with no body
[debug] [JSONWP Proxy] Proxying [GET /status] to [GET http://localhost:8200/wd/hub/status] with no body
[debug] [JSONWP Proxy] Proxying [GET /status] to [GET http://localhost:8200/wd/hub/status] with no body
[debug] [JSONWP Proxy] Proxying [GET /status] to [GET http://localhost:8200/wd/hub/status] with no body
[debug] [JSONWP Proxy] Proxying [GET /status] to [GET http://localhost:8200/wd/hub/status] with no body
[debug] [JSONWP Proxy] Got response with status 200: “{"sessionId":"SESSIONID","status":0,"value":"Status Invoked"}”
[debug] [JSONWP Proxy] Proxying [POST /session] to [POST http://localhost:8200/wd/hub/session] with body: {“desiredCapabilities”:{“platform”:“LINUX”,“webStorageEnabled”:false,“takesScreenshot”:true,“javascriptEnabled”:true,“databaseEnabled”:false,“networkConnectionEnabled”:true,“locationContextEnabled”:false,“warnings”:{},“desired”:{“app”:“/Users/Anand/Testing/Office/passport-automation/apps/mobilepay-release.apk”,“appPackage”:“com.passportparking.mobile”,“appActivity”:“com.passportparking.mobile.MobilePayApp”,“platformVersion”:“5.1”,“automationName”:“UiAutomator2”,“platformName”:“Android”,“deviceName”:“NotUsed”},“app”:“/Users/Anand/Testing/Office/passport-automation/apps/mobilepay-release.apk”,“appPackage”:“com.passportparking.mobile”,“appActivity”:“com.passportparking.mobile.MobilePayApp”,“platformVersion”:“5.1”,“automationName”:“UiAutomator2”,“platformName”:“Android”,“deviceName”:“ZX1B34FZH8”,“deviceUDID”:“ZX1B34FZH8”,“deviceScreenSize”:“540x960”,“deviceModel”:“XT1022”,“deviceManufacturer”:“motorola”}}
[debug] [JSONWP Proxy] Got response with status 200: {“sessionId”:“4d26dcc6-aeeb-4288-a69d-35d3bf4861d1”,“status”:0,“value”:“Created Session”}
[UiAutomator2] UiAutomator2 did not start the activity we were waiting for, ‘com.passportparking.mobile/com.passportparking.mobile.MobilePayApp’. Starting it ourselves
[debug] [ADB] Device API level: 22
[debug] [ADB] Getting connected devices…
[debug] [ADB] 1 device(s) connected
[debug] [ADB] Running ‘/Users/Anand/adt-bundle-mac-x86_64-20140702/sdk/platform-tools/adb’ with args: [“-P”,5037,“-s”,“ZX1B34FZH8”,“shell”,“am”,“start”,“-W”,“-n”,“com.passportparking.mobile/com.passportparking.mobile.MobilePayApp”,“-S”,“-a”,“android.intent.action.MAIN”,“-c”,“android.intent.category.LAUNCHER”,“-f”,“0x10200000”]
[Appium] New AndroidUiautomator2Driver session created successfully, session 4ddf21df-2066-41fd-b981-6b4a81cd4049 added to master session list
[debug] [BaseDriver] Event ‘newSessionStarted’ logged at 1495679744392 (08:05:44 GMT+0530 (IST))
[debug] [MJSONWP] Responding to client with driver.createSession() result: {“app”:“/Users/Anand/Testing/Office/passport-automation/apps/mobilepay-release.apk”,“appPackage”:“com.passportparking.mobile”,“appActivity”:“com.passportparking.mobile.MobilePayApp”,“platformVersion”:“5.1”,“automationName”:“UiAutomator2”,“platformName”:“Android”,“deviceName”:“NotUsed”}
[HTTP] ← POST /wd/hub/session 200 110777 ms - 358
[HTTP] → GET /wd/hub/session/4ddf21df-2066-41fd-b981-6b4a81cd4049 {}
[debug] [MJSONWP] Calling AppiumDriver.getSession() with args: [“4ddf21df-2066-41fd-b981-6b4a81cd4049”]
[debug] [MJSONWP] Responding to client with driver.getSession() result: {“platform”:“LINUX”,“webStorageEnabled”:false,“takesScreenshot”:true,“javascriptEnabled”:true,“databaseEnabled”:false,“networkConnectionEnabled”:true,“locationContextEnabled”:false,“warnings”:{},“desired”:{“app”:“/Users/Anand/Testing/Office/passport-automation/apps/mobilepay-release.apk”,“appPackage”:“com.passportparking.mobile”,“appActivity”:“com.passportparking.mobile.MobilePayApp”,“platformVersion”:“5.1”,“automationName”:“UiAutomator2”,“platformName”:“Android”,“deviceName”:“NotUsed”},“app”:“/Users/Anand/Testing/Office/passport-automation/apps/mobilepay-release.apk”,“appPackage”:“com.passportparking.mobile”,“appActivity”:“com.passportparking.mobile.MobilePayApp”,“platformVersion”:“5.1”,“automationName”:“UiAutomator2”,“platformName”:“Android”,“deviceName”:“ZX1B34FZH8”,“deviceUDID”:“ZX1B34FZH8”,“deviceScreenSize”:“540x960”,“deviceModel”:“XT1022”,“deviceManufacturer”:“motorola”}
[HTTP] ← GET /wd/hub/session/4ddf21df-2066-41fd-b981-6b4a81cd4049 200 15 ms - 962
[HTTP] → GET /wd/hub/session/4ddf21df-2066-41fd-b981-6b4a81cd4049 {}
[debug] [MJSONWP] Calling AppiumDriver.getSession() with args: [“4ddf21df-2066-41fd-b981-6b4a81cd4049”]
[debug] [MJSONWP] Responding to client with driver.getSession() result: {“platform”:“LINUX”,“webStorageEnabled”:false,“takesScreenshot”:true,“javascriptEnabled”:true,“databaseEnabled”:false,“networkConnectionEnabled”:true,“locationContextEnabled”:false,“warnings”:{},“desired”:{“app”:“/Users/Anand/Testing/Office/passport-automation/apps/mobilepay-release.apk”,“appPackage”:“com.passportparking.mobile”,“appActivity”:“com.passportparking.mobile.MobilePayApp”,“platformVersion”:“5.1”,“automationName”:“UiAutomator2”,“platformName”:“Android”,“deviceName”:“NotUsed”},“app”:“/Users/Anand/Testing/Office/passport-automation/apps/mobilepay-release.apk”,“appPackage”:“com.passportparking.mobile”,“appActivity”:“com.passportparking.mobile.MobilePayApp”,“platformVersion”:“5.1”,“automationName”:“UiAutomator2”,“platformName”:“Android”,“deviceName”:“ZX1B34FZH8”,“deviceUDID”:“ZX1B34FZH8”,“deviceScreenSize”:“540x960”,“deviceModel”:“XT1022”,“deviceManufacturer”:“motorola”}
[HTTP] ← GET /wd/hub/session/4ddf21df-2066-41fd-b981-6b4a81cd4049 200 5 ms - 962
[HTTP] → POST /wd/hub/session/4ddf21df-2066-41fd-b981-6b4a81cd4049/timeouts {“type”:“implicit”,“ms”:20000}
[debug] [MJSONWP] Calling AppiumDriver.timeouts() with args: [“implicit”,20000,“4ddf21df-2066-41fd-b981-6b4a81cd4049”]
[debug] [BaseDriver] Set implicit wait to 20000ms
[debug] [MJSONWP] Responding to client with driver.timeouts() result: null
[HTTP] ← POST /wd/hub/session/4ddf21df-2066-41fd-b981-6b4a81cd4049/timeouts 200 6 ms - 76
[HTTP] → POST /wd/hub/session/4ddf21df-2066-41fd-b981-6b4a81cd4049/elements {“using”:“id”,“value”:“com.passportparking.mobile:id/spinnerRow”}
[debug] [MJSONWP] Calling AppiumDriver.findElements() with args: [“id”,“com.passportparking.mobile:id/spinnerRow”,“4ddf21df-2066-41fd-b981-6b4a81cd4049”]
[debug] [BaseDriver] Valid locator strategies for this request: xpath, id, class name, accessibility id, -android uiautomator
[debug] [BaseDriver] Valid locator strategies for this request: xpath, id, class name, accessibility id, -android uiautomator
[debug] [BaseDriver] Waiting up to 20000 ms for condition
[debug] [JSONWP Proxy] Proxying [POST /elements] to [POST http://localhost:8200/wd/hub/session/4d26dcc6-aeeb-4288-a69d-35d3bf4861d1/elements] with body: {“strategy”:“id”,“selector”:“com.passportparking.mobile:id/spinnerRow”,“context”:“”,“multiple”:true}
[debug] [JSONWP Proxy] Got response with status 200: {“sessionId”:“4d26dcc6-aeeb-4288-a69d-35d3bf4861d1”,“status”:0,“value”:}
[debug] [BaseDriver] Waited for 880 ms so far
[debug] [JSONWP Proxy] Proxying [POST /elements] to [POST http://localhost:8200/wd/hub/session/4d26dcc6-aeeb-4288-a69d-35d3bf4861d1/elements] with body: {“strategy”:“id”,“selector”:“com.passportparking.mobile:id/spinnerRow”,“context”:“”,“multiple”:true}
[debug] [JSONWP Proxy] Got response with status 200: {“sessionId”:“4d26dcc6-aeeb-4288-a69d-35d3bf4861d1”,“status”:0,“value”:}
[debug] [BaseDriver] Waited for 1399 ms so far
[debug] [JSONWP Proxy] Proxying [POST /elements] to [POST http://localhost:8200/wd/hub/session/4d26dcc6-aeeb-4288-a69d-35d3bf4861d1/elements] with body: {“strategy”:“id”,“selector”:“com.passportparking.mobile:id/spinnerRow”,“context”:“”,“multiple”:true}
[debug] [JSONWP Proxy] Got response with status 200: {“sessionId”:“4d26dcc6-aeeb-4288-a69d-35d3bf4861d1”,“status”:0,“value”:}
[debug] [BaseDriver] Waited for 1923 ms so far
[debug] [JSONWP Proxy] Proxying [POST /elements] to [POST http://localhost:8200/wd/hub/session/4d26dcc6-aeeb-4288-a69d-35d3bf4861d1/elements] with body: {“strategy”:“id”,“selector”:“com.passportparking.mobile:id/spinnerRow”,“context”:“”,“multiple”:true}
[debug] [JSONWP Proxy] Got response with status 200: {“sessionId”:“4d26dcc6-aeeb-4288-a69d-35d3bf4861d1”,“status”:0,“value”:}
[debug] [BaseDriver] Waited for 2444 ms so far
[debug] [JSONWP Proxy] Proxying [POST /elements] to [POST http://localhost:8200/wd/hub/session/4d26dcc6-aeeb-4288-a69d-35d3bf4861d1/elements] with body: {“strategy”:“id”,“selector”:“com.passportparking.mobile:id/spinnerRow”,“context”:“”,“multiple”:true}
[debug] [JSONWP Proxy] Got response with status 200: {“sessionId”:“4d26dcc6-aeeb-4288-a69d-35d3bf4861d1”,“status”:0,“value”:}
[debug] [BaseDriver] Waited for 2974 ms so far
[debug] [JSONWP Proxy] Proxying [POST /elements] to [POST http://localhost:8200/wd/hub/session/4d26dcc6-aeeb-4288-a69d-35d3bf4861d1/elements] with body: {“strategy”:“id”,“selector”:“com.passportparking.mobile:id/spinnerRow”,“context”:“”,“multiple”:true}
[debug] [JSONWP Proxy] Got response with status 200: {“sessionId”:“4d26dcc6-aeeb-4288-a69d-35d3bf4861d1”,“status”:0,“value”:}
[debug] [BaseDriver] Waited for 3501 ms so far
[debug] [JSONWP Proxy] Proxying [POST /elements] to [POST http://localhost:8200/wd/hub/session/4d26dcc6-aeeb-4288-a69d-35d3bf4861d1/elements] with body: {“strategy”:“id”,“selector”:“com.passportparking.mobile:id/spinnerRow”,“context”:“”,“multiple”:true}
[debug] [JSONWP Proxy] Got response with status 200: {“sessionId”:“4d26dcc6-aeeb-4288-a69d-35d3bf4861d1”,“status”:0,“value”:}
[debug] [BaseDriver] Waited for 4028 ms so far
[debug] [JSONWP Proxy] Proxying [POST /elements] to [POST http://localhost:8200/wd/hub/session/4d26dcc6-aeeb-4288-a69d-35d3bf4861d1/elements] with body: {“strategy”:“id”,“selector”:“com.passportparking.mobile:id/spinnerRow”,“context”:“”,“multiple”:true}
[debug] [JSONWP Proxy] Got response with status 200: {“sessionId”:“4d26dcc6-aeeb-4288-a69d-35d3bf4861d1”,“status”:0,“value”:}
[debug] [BaseDriver] Waited for 4548 ms so far
[debug] [JSONWP Proxy] Proxying [POST /elements] to [POST http://localhost:8200/wd/hub/session/4d26dcc6-aeeb-4288-a69d-35d3bf4861d1/elements] with body: {“strategy”:“id”,“selector”:“com.passportparking.mobile:id/spinnerRow”,“context”:“”,“multiple”:true}
[debug] [JSONWP Proxy] Got response with status 200: {“sessionId”:“4d26dcc6-aeeb-4288-a69d-35d3bf4861d1”,“status”:0,“value”:}
[debug] [BaseDriver] Waited for 5064 ms so far
[debug] [JSONWP Proxy] Proxying [POST /elements] to [POST http://localhost:8200/wd/hub/session/4d26dcc6-aeeb-4288-a69d-35d3bf4861d1/elements] with body: {“strategy”:“id”,“selector”:“com.passportparking.mobile:id/spinnerRow”,“context”:“”,“multiple”:true}
[debug] [JSONWP Proxy] Got response with status 200: {“sessionId”:“4d26dcc6-aeeb-4288-a69d-35d3bf4861d1”,“status”:0,“value”:}
[debug] [BaseDriver] Waited for 5594 ms so far
[debug] [JSONWP Proxy] Proxying [POST /elements] to [POST http://localhost:8200/wd/hub/session/4d26dcc6-aeeb-4288-a69d-35d3bf4861d1/elements] with body: {“strategy”:“id”,“selector”:“com.passportparking.mobile:id/spinnerRow”,“context”:“”,“multiple”:true}
[debug] [JSONWP Proxy] Got response with status 200: {“sessionId”:“4d26dcc6-aeeb-4288-a69d-35d3bf4861d1”,“status”:0,“value”:}
[debug] [BaseDriver] Waited for 6117 ms so far
[debug] [JSONWP Proxy] Proxying [POST /elements] to [POST http://localhost:8200/wd/hub/session/4d26dcc6-aeeb-4288-a69d-35d3bf4861d1/elements] with body: {“strategy”:“id”,“selector”:“com.passportparking.mobile:id/spinnerRow”,“context”:“”,“multiple”:true}
[debug] [JSONWP Proxy] Got response with status 200: {“sessionId”:“4d26dcc6-aeeb-4288-a69d-35d3bf4861d1”,“status”:0,“value”:}
[debug] [BaseDriver] Waited for 6645 ms so far
[debug] [JSONWP Proxy] Proxying [POST /elements] to [POST http://localhost:8200/wd/hub/session/4d26dcc6-aeeb-4288-a69d-35d3bf4861d1/elements] with body: {“strategy”:“id”,“selector”:“com.passportparking.mobile:id/spinnerRow”,“context”:“”,“multiple”:true}
[debug] [JSONWP Proxy] Got response with status 200: {“sessionId”:“4d26dcc6-aeeb-4288-a69d-35d3bf4861d1”,“status”:0,“value”:}
[debug] [BaseDriver] Waited for 7903 ms so far
[debug] [JSONWP Proxy] Proxying [POST /elements] to [POST http://localhost:8200/wd/hub/session/4d26dcc6-aeeb-4288-a69d-35d3bf4861d1/elements] with body: {“strategy”:“id”,“selector”:“com.passportparking.mobile:id/spinnerRow”,“context”:“”,“multiple”:true}
[debug] [JSONWP Proxy] Got response with status 200: {“sessionId”:“4d26dcc6-aeeb-4288-a69d-35d3bf4861d1”,“status”:0,“value”:}
[debug] [BaseDriver] Waited for 8421 ms so far
[debug] [JSONWP Proxy] Proxying [POST /elements] to [POST http://localhost:8200/wd/hub/session/4d26dcc6-aeeb-4288-a69d-35d3bf4861d1/elements] with body: {“strategy”:“id”,“selector”:“com.passportparking.mobile:id/spinnerRow”,“context”:“”,“multiple”:true}
[debug] [JSONWP Proxy] Got response with status 200: {“sessionId”:“4d26dcc6-aeeb-4288-a69d-35d3bf4861d1”,“status”:0,“value”:}
[debug] [BaseDriver] Waited for 8945 ms so far
[debug] [JSONWP Proxy] Proxying [POST /elements] to [POST http://localhost:8200/wd/hub/session/4d26dcc6-aeeb-4288-a69d-35d3bf4861d1/elements] with body: {“strategy”:“id”,“selector”:“com.passportparking.mobile:id/spinnerRow”,“context”:“”,“multiple”:true}
[debug] [JSONWP Proxy] Got response with status 200: {“sessionId”:“4d26dcc6-aeeb-4288-a69d-35d3bf4861d1”,“status”:0,“value”:[{“ELEMENT”:“f387f6d1-ba33-4389-8d65-4240e352c5de”}]}
[debug] [MJSONWP] Responding to client with driver.findElements() result: [{“ELEMENT”:“f387f6d1-ba33-4389-8d65-4240e352c5de”}]
[HTTP] ← POST /wd/hub/session/4ddf21df-2066-41fd-b981-6b4a81cd4049/elements 200 9590 ms - 124
[HTTP] → GET /wd/hub/session/4ddf21df-2066-41fd-b981-6b4a81cd4049/element/f387f6d1-ba33-4389-8d65-4240e352c5de/displayed {}
[debug] [MJSONWP] Calling AppiumDriver.elementDisplayed() with args: [“f387f6d1-ba33-4389-8d65-4240e352c5de”,“4ddf21df-2066-41fd-b981-6b4a81cd4049”]
[debug] [JSONWP Proxy] Proxying [GET /element/f387f6d1-ba33-4389-8d65-4240e352c5de/attribute/displayed] to [GET http://localhost:8200/wd/hub/session/4d26dcc6-aeeb-4288-a69d-35d3bf4861d1/element/f387f6d1-ba33-4389-8d65-4240e352c5de/attribute/displayed] with body: {}
[debug] [JSONWP Proxy] Got response with status 200: “{"sessionId":"4d26dcc6-aeeb-4288-a69d-35d3bf4861d1","status":0,"value":true}”
[debug] [MJSONWP] Responding to client with driver.elementDisplayed() result: true
[HTTP] ← GET /wd/hub/session/4ddf21df-2066-41fd-b981-6b4a81cd4049/element/f387f6d1-ba33-4389-8d65-4240e352c5de/displayed 200 19 ms - 76
[HTTP] → GET /wd/hub/session/4ddf21df-2066-41fd-b981-6b4a81cd4049/element/f387f6d1-ba33-4389-8d65-4240e352c5de/enabled {}
[debug] [MJSONWP] Calling AppiumDriver.elementEnabled() with args: [“f387f6d1-ba33-4389-8d65-4240e352c5de”,“4ddf21df-2066-41fd-b981-6b4a81cd4049”]
[debug] [JSONWP Proxy] Proxying [GET /element/f387f6d1-ba33-4389-8d65-4240e352c5de/attribute/enabled] to [GET http://localhost:8200/wd/hub/session/4d26dcc6-aeeb-4288-a69d-35d3bf4861d1/element/f387f6d1-ba33-4389-8d65-4240e352c5de/attribute/enabled] with body: {}
[debug] [JSONWP Proxy] Got response with status 200: “{"sessionId":"4d26dcc6-aeeb-4288-a69d-35d3bf4861d1","status":0,"value":true}”
[debug] [MJSONWP] Responding to client with driver.elementEnabled() result: true
[HTTP] ← GET /wd/hub/session/4ddf21df-2066-41fd-b981-6b4a81cd4049/element/f387f6d1-ba33-4389-8d65-4240e352c5de/enabled 200 12 ms - 76
[HTTP] → POST /wd/hub/session/4ddf21df-2066-41fd-b981-6b4a81cd4049/elements {“using”:“id”,“value”:“com.passportparking.mobile:id/spinnerRow”}
[debug] [MJSONWP] Calling AppiumDriver.findElements() with args: [“id”,“com.passportparking.mobile:id/spinnerRow”,“4ddf21df-2066-41fd-b981-6b4a81cd4049”]
[debug] [BaseDriver] Valid locator strategies for this request: xpath, id, class name, accessibility id, -android uiautomator
[debug] [BaseDriver] Valid locator strategies for this request: xpath, id, class name, accessibility id, -android uiautomator
[debug] [BaseDriver] Waiting up to 20000 ms for condition
[debug] [JSONWP Proxy] Proxying [POST /elements] to [POST http://localhost:8200/wd/hub/session/4d26dcc6-aeeb-4288-a69d-35d3bf4861d1/elements] with body: {“strategy”:“id”,“selector”:“com.passportparking.mobile:id/spinnerRow”,“context”:“”,“multiple”:true}
[debug] [JSONWP Proxy] Got response with status 200: {“sessionId”:“4d26dcc6-aeeb-4288-a69d-35d3bf4861d1”,“status”:0,“value”:[{“ELEMENT”:“fd5d23ab-b109-4b0f-9ec7-360e1c171906”}]}
[debug] [MJSONWP] Responding to client with driver.findElements() result: [{“ELEMENT”:“fd5d23ab-b109-4b0f-9ec7-360e1c171906”}]
[HTTP] ← POST /wd/hub/session/4ddf21df-2066-41fd-b981-6b4a81cd4049/elements 200 27 ms - 124
[HTTP] → GET /wd/hub/session/4ddf21df-2066-41fd-b981-6b4a81cd4049/element/fd5d23ab-b109-4b0f-9ec7-360e1c171906/displayed {}
[debug] [MJSONWP] Calling AppiumDriver.elementDisplayed() with args: [“fd5d23ab-b109-4b0f-9ec7-360e1c171906”,“4ddf21df-2066-41fd-b981-6b4a81cd4049”]
[debug] [JSONWP Proxy] Proxying [GET /element/fd5d23ab-b109-4b0f-9ec7-360e1c171906/attribute/displayed] to [GET http://localhost:8200/wd/hub/session/4d26dcc6-aeeb-4288-a69d-35d3bf4861d1/element/fd5d23ab-b109-4b0f-9ec7-360e1c171906/attribute/displayed] with body: {}
[debug] [JSONWP Proxy] Got response with status 200: “{"sessionId":"4d26dcc6-aeeb-4288-a69d-35d3bf4861d1","status":0,"value":true}”
[debug] [MJSONWP] Responding to client with driver.elementDisplayed() result: true
[HTTP] ← GET /wd/hub/session/4ddf21df-2066-41fd-b981-6b4a81cd4049/element/fd5d23ab-b109-4b0f-9ec7-360e1c171906/displayed 200 15 ms - 76
[HTTP] → GET /wd/hub/session/4ddf21df-2066-41fd-b981-6b4a81cd4049/element/fd5d23ab-b109-4b0f-9ec7-360e1c171906/enabled {}
[debug] [MJSONWP] Calling AppiumDriver.elementEnabled() with args: [“fd5d23ab-b109-4b0f-9ec7-360e1c171906”,“4ddf21df-2066-41fd-b981-6b4a81cd4049”]
[debug] [JSONWP Proxy] Proxying [GET /element/fd5d23ab-b109-4b0f-9ec7-360e1c171906/attribute/enabled] to [GET http://localhost:8200/wd/hub/session/4d26dcc6-aeeb-4288-a69d-35d3bf4861d1/element/fd5d23ab-b109-4b0f-9ec7-360e1c171906/attribute/enabled] with body: {}
[debug] [JSONWP Proxy] Got response with status 200: “{"sessionId":"4d26dcc6-aeeb-4288-a69d-35d3bf4861d1","status":0,"value":true}”
[debug] [MJSONWP] Responding to client with driver.elementEnabled() result: true
[HTTP] ← GET /wd/hub/session/4ddf21df-2066-41fd-b981-6b4a81cd4049/element/fd5d23ab-b109-4b0f-9ec7-360e1c171906/enabled 200 15 ms - 76
[

@Brian_Watson

I have fixed the issue after debugging the code. Issue was in page object screens of my app.

Hey, good to hear! There’s a couple things you might want to consider. The wait.until(ExpectedCondition) in function waitForClickAbility(), as most wait/expected conditions do, actually returns a WebElement if the condition is met. So this could be changed to

protected WebElement waitForClickability(String id) {
	return wait.until(ExpectedConditions.elementToBeClickable(By.id(id)));
}

This wait for expected actually returns a WebElement if the condition is met. So the clickCountrySpinner() code can become something more like…

public void clickCountrySpinner() {
	WebElement element = waitForClickability(androidID + "spinnerRow");
	if (element != null) {
	    	element.click();
	} else {
	    	// Not clickable, log error and/or stop test!
	}
}

This does a couple things…

  • clickCountrySpinner() now makes 2 calls to appium, as opposed to 3.
  • Gets rid of the redundant definition of the locator string for the spinner… androidID + “spinnerRow” and country_selector_spinner.

There’s a few other things I could suggest if you were interested. :slight_smile:

@Brian_Watson Sure, that would be helpful.

@Anand_Ravi I am getting same error in my page object , how did u resolve it ?