Not able to mobile interact element constantly getting null pointer exception

Exception:

[Appium] Welcome to Appium v1.5.3
[Appium] Appium REST http interface listener started on 0.0.0.0:4723
[HTTP] --> GET /wd/hub/status {}
[MJSONWP] Calling AppiumDriver.getStatus() with args: []
[MJSONWP] Responding to client with driver.getStatus() result: {“build”:{“version”:“1.5.3”…
[HTTP] <-- GET /wd/hub/status 200 96 ms - 83
Appium service started
Appium server started
[HTTP] --> POST /wd/hub/session {“desiredCapabilities”:{“app”:“D:\App\TrustCase-release-1.2.1.apk”,“app-wait-activity”:“com.trustcase.android.views.activities.MainActivity”,“no-reset”:false,“platformVersion”:“21”,“automationName”:“Appium”,“app-activity”:“com.trustcase.android.views.activities.MainActivity”,“app-pkg”:“com.trustcase”,“session-override”:true,“platformName”:“Android”,“udid”:“0858d7f500f33b32”,“deviceName”:“0858d7f500f33b32”,“pre-launch”:true}}
[MJSONWP] Calling AppiumDriver.createSession() with args: [{“app”:"D:\App\TrustCase…
[Appium] Creating new AndroidDriver session
[Appium] Capabilities:
[Appium] app: ‘D:\App\TrustCase-release-1.2.1.apk’
[Appium] app-wait-activity: ‘com.trustcase.android.views.activities.MainActivity’
[Appium] no-reset: false
[Appium] platformVersion: ‘21’
[Appium] automationName: ‘Appium’
[Appium] app-activity: ‘com.trustcase.android.views.activities.MainActivity’
[Appium] app-pkg: ‘com.trustcase’
[Appium] session-override: true
[Appium] platformName: ‘Android’
[Appium] udid: ‘0858d7f500f33b32’
[Appium] deviceName: ‘0858d7f500f33b32’
[Appium] pre-launch: true
[BaseDriver] The following capabilities were provided, but are not recognized by appium: app-wait-activity, no-reset, app-activity, app-pkg, session-override, pre-launch.
[BaseDriver] Session created with session id: 1ea4a84f-a683-41b0-80da-5460418cb629
[debug] [AndroidDriver] Getting Java version
[AndroidDriver] Java version is: 1.8.0_121

[ADB] Checking whether adb is present
[ADB] Using adb.exe from D:\Soft\AndroidADT\adt\sdk\platform-tools\adb.exe
[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] Using device: 0858d7f500f33b32
[ADB] Checking whether adb is present
[ADB] Using adb.exe from D:\Soft\AndroidADT\adt\sdk\platform-tools\adb.exe
[debug] [ADB] Setting device id to 0858d7f500f33b32
[BaseDriver] Using local app ‘D:\App\TrustCase-release-1.2.1.apk’
[debug] [AndroidDriver] Checking whether app is actually present
[AndroidDriver] Starting Android session
[debug] [ADB] Running D:\Soft\AndroidADT\adt\sdk\platform-tools\adb.exe with args: ["-P",5037,"-s",“0858d7f500f33b32”,“wait-for-device”]
[debug] [ADB] Getting connected devices…
[debug] [ADB] 1 device(s) connected
[debug] [ADB] Running D:\Soft\AndroidADT\adt\sdk\platform-tools\adb.exe with args: ["-P",5037,"-s",“0858d7f500f33b32”,“shell”,“echo”,“ping”]
[debug] [Logcat] Starting logcat capture
[debug] [AndroidDriver] Pushing settings apk to device…
[debug] [ADB] Running D:\Soft\AndroidADT\adt\sdk\platform-tools\adb.exe with args: ["-P",5037,"-s",“0858d7f500f33b32”,“install”,“C:\Users\pavan.tuptewar\AppData\Roaming\npm\node_modules\appium\node_modules\appium-android-driver\node_modules\io.appium.settings\bin\settings_apk-debug.apk”]
[debug] [AndroidDriver] Pushing unlock helper app to device…
[debug] [ADB] Running D:\Soft\AndroidADT\adt\sdk\platform-tools\adb.exe with args: ["-P",5037,"-s",“0858d7f500f33b32”,“install”,“C:\Users\pavan.tuptewar\AppData\Roaming\npm\node_modules\appium\node_modules\appium-android-driver\node_modules\appium-unlock\bin\unlock_apk-debug.apk”]
[ADB] Getting device platform version
[debug] [ADB] Getting connected devices…
[debug] [ADB] 1 device(s) connected
[debug] [ADB] Running D:\Soft\AndroidADT\adt\sdk\platform-tools\adb.exe with args: ["-P",5037,"-s",“0858d7f500f33b32”,“shell”,“getprop”,“ro.build.version.release”]
[debug] [ADB] Getting connected devices…
[debug] [ADB] 1 device(s) connected
[debug] [ADB] Running D:\Soft\AndroidADT\adt\sdk\platform-tools\adb.exe with args: ["-P",5037,"-s",“0858d7f500f33b32”,“shell”,“dumpsys”,“window”]
[AndroidDriver] Unlocking screen
[debug] [AndroidDriver] Screen is locked, trying to unlock
[debug] [ADB] Getting connected devices…
[debug] [ADB] 1 device(s) connected
[debug] [ADB] Running D:\Soft\AndroidADT\adt\sdk\platform-tools\adb.exe with args: ["-P",5037,"-s",“0858d7f500f33b32”,“shell”,“am”,“force-stop”,“io.appium.unlock”]
[debug] [ADB] Getting connected devices…
[debug] [ADB] 1 device(s) connected
[debug] [ADB] Running D:\Soft\AndroidADT\adt\sdk\platform-tools\adb.exe with args: ["-P",5037,"-s",“0858d7f500f33b32”,“shell”,“getprop”,“ro.build.version.sdk”]
[debug] [ADB] Device API level: 23
[debug] [ADB] Getting connected devices…
[debug] [ADB] 1 device(s) connected
[debug] [ADB] Running D:\Soft\AndroidADT\adt\sdk\platform-tools\adb.exe with args: ["-P",5037,"-s",“0858d7f500f33b32”,“shell”,“am”,“start”,"-n",“io.appium.unlock/.Unlock”,"-a",“android.intent.action.MAIN”,"-c",“android.intent.category.LAUNCHER”,"-f",“0x10200000”]
[debug] [ADB] Device API level: 23
[debug] [ADB] Getting connected devices…
[debug] [ADB] 1 device(s) connected
[debug] [ADB] Running D:\Soft\AndroidADT\adt\sdk\platform-tools\adb.exe with args: ["-P",5037,"-s",“0858d7f500f33b32”,“shell”,“am”,“start”,"-n",“io.appium.unlock/.Unlock”,"-a",“android.intent.action.MAIN”,"-c",“android.intent.category.LAUNCHER”,"-f",“0x10200000”]
[debug] [ADB] Getting connected devices…
[debug] [ADB] 1 device(s) connected
[debug] [ADB] Running D:\Soft\AndroidADT\adt\sdk\platform-tools\adb.exe with args: ["-P",5037,"-s",“0858d7f500f33b32”,“shell”,“dumpsys”,“window”]
[debug] [AndroidDriver] Screen unlocked successfully
[debug] [AndroidDriver] Parsing package and activity from app manifest
[ADB] Checking whether aapt is present
[ADB] Using aapt.exe from D:\Soft\AndroidADT\adt\sdk\build-tools\25.0.2\aapt.exe
[ADB] Extracting package and launch activity from manifest
[debug] [ADB] badging package: com.trustcase
[debug] [ADB] badging act: com.trustcase.android.views.activities.MainActivity
[debug] [AndroidDriver] Parsed package and activity are: com.trustcase/com.trustcase.android.views.activities.MainActivity
[AndroidDriver] Remote apk path is /data/local/tmp/0e30c9fe25294d8a23931a96d1084f6e.apk
[debug] [ADB] Getting connected devices…
[debug] [ADB] 1 device(s) connected
[debug] [ADB] Running D:\Soft\AndroidADT\adt\sdk\platform-tools\adb.exe with args: ["-P",5037,"-s",“0858d7f500f33b32”,“shell”,“ls”,"/data/local/tmp/0e30c9fe25294d8a23931a96d1084f6e.apk"]
[debug] [AndroidDriver] Checking if app is installed
[debug] [ADB] Getting install status for com.trustcase
[debug] [ADB] Device API level: 23
[debug] [ADB] Getting connected devices…
[debug] [ADB] 1 device(s) connected
[debug] [ADB] Running D:\Soft\AndroidADT\adt\sdk\platform-tools\adb.exe with args: ["-P",5037,"-s",“0858d7f500f33b32”,“shell”,“pm”,“list”,“packages”,"-3",“com.trustcase”]
[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 D:\Soft\AndroidADT\adt\sdk\platform-tools\adb.exe with args: ["-P",5037,"-s",“0858d7f500f33b32”,“shell”,“am”,“force-stop”,“com.trustcase”]
[debug] [ADB] Getting connected devices…
[debug] [ADB] 1 device(s) connected
[debug] [ADB] Running D:\Soft\AndroidADT\adt\sdk\platform-tools\adb.exe with args: ["-P",5037,"-s",“0858d7f500f33b32”,“shell”,“pm”,“clear”,“com.trustcase”]
[debug] [AndroidDriver] Extracting strings from apk D:\App\TrustCase-release-1.2.1.apk null C:\Users\PAVAN~1.TUP\AppData\Local\Temp\com.trustcase
[debug] [ADB] Extracting strings for language: default
[debug] [ADB] Device API level: 23
[debug] [ADB] Getting connected devices…
[debug] [ADB] 1 device(s) connected
[debug] [ADB] Running D:\Soft\AndroidADT\adt\sdk\platform-tools\adb.exe with args: ["-P",5037,"-s",“0858d7f500f33b32”,“shell”,“getprop”,“persist.sys.locale”]
[debug] [ADB] Current device property ‘persist.sys.locale’: en-IN
[debug] [ADB] No strings.xml for language ‘en’, getting default strings.xml
[debug] [ADB] Reading strings from converted strings.json
[debug] [ADB] Running D:\Soft\AndroidADT\adt\sdk\platform-tools\adb.exe with args: ["-P",5037,"-s",“0858d7f500f33b32”,“push”,“C:\Users\PAVAN~1.TUP\AppData\Local\Temp\com.trustcase\strings.json”,"/data/local/tmp"]
[debug] [AndroidBootstrap] Watching for bootstrap disconnect
[debug] [ADB] Forwarding system: 4724 to device: 4724
[debug] [ADB] Running D:\Soft\AndroidADT\adt\sdk\platform-tools\adb.exe with args: ["-P",5037,"-s",“0858d7f500f33b32”,“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 D:\Soft\AndroidADT\adt\sdk\platform-tools\adb.exe with args: ["-P",5037,"-s",“0858d7f500f33b32”,“push”,“C:\Users\pavan.tuptewar\AppData\Roaming\npm\node_modules\appium\node_modules\appium-android-driver\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 D:\Soft\AndroidADT\adt\sdk\platform-tools\adb.exe with args: ["-P",5037,"-s",“0858d7f500f33b32”,“shell”,“ps”,“uiautomator”]
[ADB] No uiautomator process found to kill, continuing…
[debug] [UiAutomator] Starting UIAutomator
[debug] [ADB] Creating ADB subprocess with args: -P, 5037, -s, 0858d7f500f33b32, shell, uiautomator, runtest, AppiumBootstrap.jar, -c, io.appium.android.bootstrap.Bootstrap, -e, pkg, com.trustcase, -e, disableAndroidWatchers, false, -e, acceptSslCerts, false
[debug] [UiAutomator] Moving to state ‘online’
[AndroidBootstrap] [BOOTSTRAP LOG] [debug] json loading complete.
[AndroidBootstrap] [BOOTSTRAP LOG] [debug] Registered crash watchers.
[AndroidBootstrap] Android bootstrap socket is now connected
[debug] [ADB] Device API level: 23
[debug] [ADB] Getting connected devices…
[AndroidBootstrap] [BOOTSTRAP LOG] [debug] Client connected
[debug] [ADB] 1 device(s) connected
[debug] [ADB] Running D:\Soft\AndroidADT\adt\sdk\platform-tools\adb.exe with args: ["-P",5037,"-s",“0858d7f500f33b32”,“shell”,“am”,“start”,"-n",“com.trustcase/com.trustcase.android.views.activities.MainActivity”,"-S","-a",“android.intent.action.MAIN”,"-c",“android.intent.category.LAUNCHER”,"-f",“0x10200000”]
[debug] [ADB] Waiting for pkg: ‘com.trustcase’ and activity: ‘com.trustcase.android.views.activities.MainActivity’ to be focused
[debug] [ADB] Possible activities, to be checked: com.trustcase.android.views.activities.MainActivity, .android.views.activities.MainActivity, .com.trustcase.android.views.activities.MainActivity
[debug] [ADB] Getting focused package and activity
[debug] [ADB] Getting connected devices…
[debug] [ADB] 1 device(s) connected
[debug] [ADB] Running D:\Soft\AndroidADT\adt\sdk\platform-tools\adb.exe with args: ["-P",5037,"-s",“0858d7f500f33b32”,“shell”,“dumpsys”,“window”,“windows”]
[debug] [ADB] Found package: ‘com.trustcase’ and activity: ‘.android.views.activities.MainActivity’
[Appium] New AndroidDriver session created successfully, session 1ea4a84f-a683-41b0-80da-5460418cb629 added to master session list
[MJSONWP] Responding to client with driver.createSession() result: {“platform”:“LINUX”,"webSto…
[HTTP] <-- POST /wd/hub/session 200 17529 ms - 1326

Code snippet:
@Parameters({“platform”})
@BeforeTest(description=“Launch Application”)
public void launchApp(String platform) throws MalformedURLException{

	switch(platform){
		
	case "Android" :
		builder = new AppiumServiceBuilder();
		builder.withIPAddress(SuiteBaseData.hostName);
		builder.usingPort(4723);
		builder.withArgument(GeneralServerFlag.SESSION_OVERRIDE);
		builder.withArgument(GeneralServerFlag.LOG_LEVEL,"error");
		appiumService = AppiumDriverLocalService.buildDefaultService();
		startAppium();
		System.out.println("Appium server started");
		cap = new DesiredCapabilities();
		cap.setCapability("automationName", "Appium");
		cap.setCapability("platformName", "Android");
		cap.setCapability("deviceName", "0858d7f500f33b32");
		cap.setCapability("app-pkg", "com.trustcase");
		cap.setCapability("app-activity","com.trustcase.android.views.activities.MainActivity");
		cap.setCapability("app-wait-activity", "com.trustcase.android.views.activities.MainActivity");			
		cap.setCapability("app",SuiteBaseData.trustCaseApplication);
		cap.setCapability("session-override", true);
		cap.setCapability("no-reset", false);
		cap.setCapability("pre-launch",true);
		cap.setCapability("platformVersion", "21");
		cap.setCapability("udid", "0858d7f500f33b32");
		//cap.setCapability("orientation", "LANDSCAPE");
		
		driver = new RemoteWebDriver(new URL(SuiteBaseData.hostName),cap);
		wait = new WebDriverWait(driver,60);
		action = new Actions(driver);
		break;