Native Mobile commands in Appium
![](https://s3.amazonaws.com/media-p.slid.es/uploads/928493/images/6245851/ic_launcher.png)
![](https://s3.amazonaws.com/media-p.slid.es/uploads/928495/images/6219825/pasted-from-clipboard.png)
Automating Gestures
iOS specific gestures
Map<String, Object> args = new HashMap<>();
args.put("direction", "up");
driver.executeScript("mobile: swipe", args);
args.put("direction", "down");
driver.executeScript("mobile: swipe", args);
mobile: swipe
Map<String, Object> args = new HashMap<>();
args.put("direction", "down");
driver.executeScript("mobile: scroll", args);
args.put("direction", "up");
driver.executeScript("mobile: scroll", args);
mobile: scroll
Map<String, Object> args = new HashMap<>();
args.put("scale", 5);
driver.executeScript("mobile: pinch", args);
mobile: pinch
iOS specific gestures
Map<String, Object> args = new HashMap<>();
args.put("element", ((MobileElement) element).getId());
args.put("x", 2);
args.put("y", 2);
driver.executeScript("mobile: tap", args);
mobile: tap
// double-tap the screen at a specific point
Map<String, Object> args = new HashMap<>();
args.put("x", 100);
args.put("y", 200);
driver.executeScript("mobile: doubleTap", args);
mobile: doubleTap
// two-finger-tap an element (assume element object already
exists)
Map<String, Object> args = new HashMap<>();
args.put("element", ((MobileElement) element).getId());
driver.executeScript("mobile: twoFingerTap", args);
mobile: twoFingerTap
Switching b/w multiple Apps
![](https://s3.amazonaws.com/media-p.slid.es/uploads/928495/images/6219939/ios12-iphone-x-switch-apps-animation.gif)
![](https://s3.amazonaws.com/media-p.slid.es/uploads/928495/images/6220120/pasted-from-clipboard.png)
Siri Shortcuts
args.put("text", "Hey Siri Whats trending");
driver.executeScript("mobile: siriCommand", args);
![](https://s3.amazonaws.com/media-p.slid.es/uploads/928495/images/6219954/pasted-from-clipboard.png)
Performance Profiling
Face Unlock
args.put("type", "faceId");
args.put("match", "true");
driver.executeScript("mobile: sendBiometricMatch", args);
![](https://s3.amazonaws.com/media-p.slid.es/uploads/928495/images/6232525/pasted-from-clipboard.png)
![](https://s3.amazonaws.com/media-p.slid.es/uploads/928495/images/6220190/pasted-from-clipboard.png)
Instant Apps
args.put("url", "https://www.site.com/");
args.put("package", "com.site.SomeAndroidPackage");
driver.executeScript("mobile: deepLink", args);
Drawer Actions
args.put("gravity", "3");
args.put("element", ((RemoteWebElement) element).getId());
driver.executeScript("mobile: openDrawer", args);
![](https://s3.amazonaws.com/media-p.slid.es/uploads/928495/images/6232552/pasted-from-clipboard.png)
![](https://s3.amazonaws.com/media-p.slid.es/uploads/928495/images/6232554/pasted-from-clipboard.png)
Date Picker
args.put("year", "2020");
args.put("monthOfYear", "10");
args.put("dayOfMonth", "25");
args.put("element", ((RemoteWebElement) element).getId());
driver.executeScript("mobile: setDate", args);
![](https://s3.amazonaws.com/media-p.slid.es/uploads/928495/images/6232535/pasted-from-clipboard.png)
![](https://s3.amazonaws.com/media-p.slid.es/uploads/928495/images/6232552/pasted-from-clipboard.png)
Android shell interactions
10057 ◯ : adb shell dumpsys battery
Current Battery Service state:
AC powered: true
USB powered: false
Wireless powered: false
Max charging current: 0
Max charging voltage: 0
Charge counter: 0
status: 2
health: 2
present: true
level: 100
scale: 100
voltage: 0
temperature: 0
technology: Li-ion
Get Battery Information
10078 ◯ : adb shell dumpsys cpuinfo
Load: 0.0 / 0.0 / 0.0
CPU usage from 312959ms to 312499ms ago (2018-10-07 10:49:37.267 to 2018-10-07 10:49:37.727):
151% 1523/system_server: 51% user + 100% kernel / faults: 7233 minor 83 major
15% 1365/surfaceflinger: 6.6% user + 8.8% kernel / faults: 1 minor
15% 1375/installd: 2.2% user + 13% kernel / faults: 113 minor
6.6% 1499/bootanimation: 4.4% user + 2.2% kernel
4.4% 1358/android.hardware.graphics.composer@2.1-service: 2.2% user + 2.2% kernel
2.2% 1288/kworker/0:1: 0% user + 2.2% kernel
2.2% 1298/logd: 0% user + 2.2% kernel / faults: 5 minor
2.2% 1299/servicemanager: 0% user + 2.2% kernel / faults: 1 minor
2.2% 1360/android.hardware.sensors@1.0-service: 0% user + 2.2% kernel / faults: 20 minor
50% TOTAL: 13% user + 26% kernel + 10% iowait
Get cpu Information
10079 ◯ : adb shell service list
List all services
@saikrisv
saikrisv@thoughtworks.com
github.com/saikrishna321
![](https://s3.amazonaws.com/media-p.slid.es/uploads/928493/images/6247225/github-octocat-vector-png--1600.png)
![](https://s3.amazonaws.com/media-p.slid.es/uploads/928493/images/6247233/23681.png)
![](https://s3.amazonaws.com/media-p.slid.es/uploads/928493/images/6247234/email_PNG55.png)
@srinivasanskr
sekars@thoughtworks.com
github.com/srinivasantarget
![](https://s3.amazonaws.com/media-p.slid.es/uploads/928493/images/6247225/github-octocat-vector-png--1600.png)
![](https://s3.amazonaws.com/media-p.slid.es/uploads/928493/images/6247233/23681.png)
![](https://s3.amazonaws.com/media-p.slid.es/uploads/928493/images/6247234/email_PNG55.png)
![](https://s3.amazonaws.com/media-p.slid.es/uploads/928493/images/6247250/AppiumLogoTrans.png)
![](https://s3.amazonaws.com/media-p.slid.es/uploads/928493/images/6247288/twlogo-footer-snap-pink-868451df79dfdab302dcfc51e0d931f9.png)
![](https://s3.amazonaws.com/media-p.slid.es/uploads/928493/images/6247100/08_ThankYou.gif)
![](https://s3.amazonaws.com/media-p.slid.es/uploads/928493/images/6247134/LikableCelebratedHart-small.gif)