everybody! I'm trying to write listener for my testing framework using Appium, java, TestNG for Android application on real device. I want to use some ADB commands through my tests, for example take screenshot, record video, get logcat file, e.t.c.
So I have: Mac OS Android device Xiaomi, with Android version 7.0 ADB ANdroid SDK java
If I use commands in Terminal: adb exec-out screencap -p > /Users/dmytro/Documents/other/1.png - screenshot successfully saved in appropriate folder. And other commands work fine manually typed in terminal and in terminal of my IntelijIDEA as well.
If I use the same command programmatically by using Runtime class:
Runtime.getRuntime().exec(adb exec-out screencap -p > /Users/dmytro/Documents/other/1.png"); // Save screenshot to Mac machine
or
Runtime.getRuntime().exec("adb logcat > /Users/dmytromynziak/Documents/other/log.txt"); //Save logical file
Runtime.getRuntime().exec("db exec-out screencap -p > /sdcard/1.png"); // Save screenshot to scared of android device
It doesn't work, screenshot is not saved to Mac machine and even can't find on android device.
No any error I received, looks like everything works. see screenshot from debug mode.
Actually, some adb commands worked fine on WIndows OS, but on Mac it don't.
Help me execute ADB commands in java code please.