Appium的java_client库api
2017-03-30 10:07
351 查看
这里只说一些常用的
//重启应用,先closeApp然后在launchAPP
Github源码地址,有说各版本之间的区别、方法:
https://github.com/appium/java-client/blob/master/README.md
1. pressKeyCode(int key)
按下某个键,具体哪个键由key值决定,key值定义在AndroidKeyCode类中。。sendKeyEvent在新版已经被删掉2. pressKeyCode(int key, Integer metastate)
按下某个键的同时按下附加键(Ctrl/Alt/Shift等),具体是哪些键,由key值(AndroidKeyCode类中定义)和metastate(AndroidKeyMetastate类中定义)决定。3. currentActivity()
获取当前activity,比如(.ApiDemos),可用于断言是否跳转到预期的activity4. isAppInstalled(“com.example.android.apis”)
根据包名来判断该应用是否已经安装5. installApp(String appPath)
安装app,appPath为应用的本地路径6. removeApp(String bundleId)
卸载app.bundleId在Android中代表的是包名7. closeApp()
关闭应用,其实就是按home键把应用置于后台8. launchApp()
启动应用9. resetApp()
重置应用,相当于卸载重装//重启应用,先closeApp然后在launchAPP
10. pushFile(String remotePath, byte[] base64Data)
将字符数组用64位格式写到远程目录的某个文件中。也可以理解为把本地文件push到设备上。11. pullFile(String remotePath)
将设备上的文件pull到本地硬盘上12. pullFolder(String remotePath)
将设备上的文件夹pull到本地硬盘上,一般远程文件为/data/local/tmp下的文件。13. setNetworkConnection(NetworkConnectionSetting connection)
设置手机的网络连接状态,可以开关蓝牙、wifi、数据流量。通过NetworkConnectionSetting中的属性来设置各个网络连接的状态。14. getNetworkConnection()
15. openNotifications()
打开下拉通知栏16. runAppInBackground(int seconds)
与resetApp类似,区别是resetApp关闭后立即启动,而这个方法是关闭后等待seconds秒后再启动。17. hideKeyboard()
iOS隐藏键盘18. hideKeyboard(String strategy, String keyName)
隐藏键盘,只能用于ios上。19. performTouchAction(TouchAction touchAction)
执行一个touch动作,该touch动作是由TouchAction封装的。20. performMultiTouchAction(MultiTouchAction multiAction)
执行多步touch动作,由MultiTouchAction封装的多步操作。21. tap(int fingers, WebElement element, int duration)
点击element控件中心点按下,duration*5毫秒秒后松开,如此重复fingers次。22. tap(int fingers, int x, int y, int duration)
点击(x,y)点按下,duration*5毫秒后松开,如此重复fingers次。23. swipe(int startx, int starty, int endx, int endy, int duration)
从(startx,starty)滑到(endx,endy),分duration步滑,每一步用时是5毫秒。24. pinch(WebElement el)
2个手指操作控件,从对角线向中心点滑动,双指往内移动来缩小屏幕26. pinch(int x, int y)
以(x,y)为基准,计算得出(x,y-100),(x,y+100)两个点,然后2个手指按住这两个点同时滑到(x,y)27. zoom(WebElement el)
与pinch(el)的动作刚好相反。放大,两个手指由控件的中心点慢慢向控件的左顶点后右底点滑动。28. zoom(int x, int y)
和pinch(x,y)相反。两个手指从(x,y)点开始向(x,y-100)和(x,y+100)滑动。29. getNamedTextField(String name)
一般用在ios中。根据accessibility id获得控件对象。30. endTestCoverage(String intent, String path)
结束测试覆盖率的检测。(没用过,不太了解)path为.ec文件的路径。31. lockDevice(int seconds)
锁屏多少秒后解锁,lockScreen已经弃用32. shake()
模拟摇晃手机33. scrollTo(String text)
滚动到某个text属性为指定的字符串的控件WebElement element = driver.findElement(By.name("Element Name")); HashMap<String, String> arguments = new HashMap<String, String>(); arguments.put("element", element.getId()); (JavascriptExecutor)driver.executeScript("mobile: scrollTo", arguments);
34. scrollToExact(String text)
滚动到某个text属性包含传入的字符串的控件35. context(String name)
设置上下文36. getContextHandles()
列出所有可用上下文37. getContext()
获取当前上下文38. rotate(ScreenOrientation orientation)
设置屏幕横屏或者竖屏39. getOrientation()
获取当前屏幕的方向41.findElementsByAndroidUIAutomator(String using)
和上面一样,但是该方法获得是多个控件42. findElementByAccessibilityId(String using)
利用accessibility id来获取单个控件43. findElementsByAccessibilityId(String using)
利用accessibility id来获得多个控件44. startActivity(“appPackage”,”com.example.android.apis”, null, null)
在当前应用中打开一个 activity 或者启动一个新应用并打开一个 activity45. getAppStrings()
获取应用的字符串46. 触摸动作(TouchAction) / 多点触摸动作(MultiTouchAction)
TouchAction action = new TouchAction(driver) .press(mapview, 10, 10) .release(). perform();
Github源码地址,有说各版本之间的区别、方法:
https://github.com/appium/java-client/blob/master/README.md
相关文章推荐
- [Android测试] Appium的Java-client库api
- appium()-java-client-api
- 实战Memcached缓存系统(2)Memcached Java API基础之MemcachedClient
- 实战Memcached缓存系统(2)Memcached Java API基础之MemcachedClient
- Memcached Java Client API详解
- Rabbitmq Java Client Api详解
- Memcached Java Client API详解
- memcached java && python client api 共享
- appium之java API(2) -TouchAction
- Memcached Java Client API详解
- Memcached Java Client API详解
- Appium Java Client 最新版本(2.1.0)支持功能及版本演进
- Memcached Java Client API详解
- Memcached Java Client API详解
- Memcached Java Client API详解
- Appium之java API
- Memcached Java Client API
- Memcached Java Client API详解
- java.lang.NoClassDefFoundError: org/hornetq/api/core/client/ClientSession解决
- Memcached Java Client API