uiautomator特殊场景

1.自定义参数

运行时指定-e:adb shell uiautomator runtest Demo.jar --no-hup -c com.demo.TestDemo -e phone 10086

Bundle d=getParams();

String phone=(String)b.get("phone");

2.send key的方式清除

UiDevice.getInstance().pressKeyCode(KeyEvent.KEYCODE_MOVE_END);

UiDevice.getInstance().pressKeyCode(KeyEvent.KEYCODE_DEL);

this.getUiDevice().pressKeyCode(1); 键盘按键

3.Configurator(间隔) 功能

1)可调节两个模拟动作之间的默认间隔  setActionAcknowledgmentTimeout(5);

2)可调节输入文本的输入时间间隔   setKeyInjectionDelay(long delay)

3)可调节每次滚动的时间间隔  setScrollAcknowledgmentTimeout(long timeout)

4)可调节等待系统空闲的默认时间  setWaitForIdleTimeout(long timeout)

 Configurator.getInstance().setActionAcknowledgmentTimeout(5);

sleep(2000);

UiDevice.getInstance().swipe(x-50,y/2,50,y/2,10);

UiDevice.getInstance().swipe(x-50,y/2,50,y/2,10);//在屏幕上滑动

 4.API:

System.out.println( this.getUiDevice().isNaturalOrientation());  //是否竖屏

this.getUiDevice().setOrientationLeft();
System.out.println( this.getUiDevice().isNaturalOrientation());
System.out.println( this.getUiDevice().getDisplayRotation());  //显示角度  
 
 
 
5.滑动三种方式
          Point s=new Point();
          Point s1=new Point();
          Point[] t={s,s1};        
          this.swipe(t, 13);
 ShellUtil.exec("input swipe 500 1400 500 700 500");
 
UiScrollable aa=new UiScrollable(new UiSelector().resourceId("com.android.browser:id/title"));
     aa.flingBackward();
     aa.flingForward();      
     aa.scrollToEnd(10);
     aa.scrollIntoView(uiobject);
 
 
6.两指放大 
new UiObject(new UiSelector().resourceId(sp.UrlAddress)).pinchOut(50, 20);

performMultiPointGesture(PointerCoords.touches)

7.模拟按键,事件注入
http://www.cnblogs.com/by-dream/p/5195121.html
 
press.sh
 
#!/bin/sh
sendevent /dev/input/event6 1 116 1
sendevent /dev/input/event6 0 0 0
echo "down"
sendevent /dev/input/event6 1 116 1
sendevent /dev/input/event6 0 0 0
echo "down"
sendevent /dev/input/event6 1 116 1
sendevent /dev/input/event6 0 0 0
echo "down"
sendevent /dev/input/event6 1 116 1
sendevent /dev/input/event6 0 0 0
echo "down"
sendevent /dev/input/event6 1 116 1
sendevent /dev/input/event6 0 0 0
echo "down"
sendevent /dev/input/event6 1 116 1
sendevent /dev/input/event6 0 0 0
echo "down"
sendevent /dev/input/event6 1 116 1
sendevent /dev/input/event6 0 0 0
echo "down"
sendevent /dev/input/event6 1 116 1
sendevent /dev/input/event6 0 0 0
echo "down"
sendevent /dev/input/event6 1 116 1
sendevent /dev/input/event6 0 0 0
echo "down"
sendevent /dev/input/event6 1 116 1
sendevent /dev/input/event6 0 0 0
echo "down"
sendevent /dev/input/event6 1 116 1
sendevent /dev/input/event6 0 0 0
echo "down"
sendevent /dev/input/event6 1 116 0
sendevent /dev/input/event6 0 0 0
echo "up"
原文地址:https://www.cnblogs.com/season-xie/p/5365713.html