51Testing软件测试论坛

 找回密码
 (注-册)加入51Testing

QQ登录

只需一步,快速开始

微信登录,快人一步

手机号码,快捷登录

查看: 1607|回复: 0
打印 上一主题 下一主题

Appium中部分api的使用方法

[复制链接]

该用户从未签到

跳转到指定楼层
1#
发表于 2018-4-9 15:23:26 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
  1. 1.使用AndroidDriver,其已经继承了AppiumDriver
  2. [java] view plain copy
  3.        private AndroidDriver driver;  
  4.   
  5. @Before  
  6. public void setUp() throws Exception {  
  7.     DesiredCapabilities capabilities = new DesiredCapabilities();  
  8.     capabilities.setCapability("deviceName", "Android Emulator");  
  9.     capabilities.setCapability("platformVersion", "4.4");  
  10.     capabilities.setCapability("platformName", "Android");  
  11.     capabilities.setCapability("appPackage", "com.android.settings");  
  12.     capabilities.setCapability("appActivity", ".Settings");  
  13.   
  14.     driver = new AndroidDriver(new URL("http://127.0.0.1:4723/wd/hub"),  
  15.             capabilities);  
  16. }  
  17.   
  18. @After  
  19. public void tearDown() throws Exception {  
  20.     driver.quit();  
  21. }  
  22. 2.截屏并保存至本地
  23. [java] view plain copy
  24.               //截屏并保存至本地  
  25. File screen = driver.getScreenshotAs(OutputType.FILE);  
  26. File screenFile = new File("d:\\screen.png");  
  27. try {  
  28.     FileUtils.copyFile(screen, screenFile); //commons-io-2.0.1.jar中的api  
  29. } catch (IOException e) {  
  30.     e.printStackTrace();  
  31. }   

  32. 3.push文件、pull文件
  33. [java] view plain copy
  34.         File file = new File("d:\\test.txt"); //test.txt内容为"test"  
  35. String content = null;  
  36. try {  
  37.     content = FileUtils.readFileToString(file);  
  38. } catch (IOException e) {  
  39.     e.printStackTrace();  
  40. }  
  41.   
  42. byte[] data = Base64.encodeBase64(content.getBytes());  
  43. driver.pushFile("sdcard/test.txt", data);  
  44.   
  45. byte[] resultDate = driver.pullFile("sdcard/test.txt");  
  46. System.out.println(new String(Base64.decodeBase64(resultDate))); //打印结果为"test"  

  47. 4.
  48. [java] view plain copy
  49. //获取当前界面的activity,可用于断言是否跳转到预期的activity  
  50. driver.currentActivity();  

  51. 5.
  52. [java] view plain copy
  53. //打开通知栏界面  
  54. driver.openNotifications();  
  55. 6.
  56. [html] view plain copy
  57. //获取网络状态  
  58. int status = driver.getNetworkConnection().value;  
  59. System.out.println(status);  
  60.   
  61. //设置网络状态  
  62. driver.setNetworkConnection(new NetworkConnectionSetting(status));  
  63. //或者  
  64. driver.setNetworkConnection(new NetworkConnectionSetting(false, true, false));  
  65. 7.
  66. [java] view plain copy
  67. //启动其他应用,跨APP  
  68. driver.startActivity("com.android.camera", ".CameraLauncher");  
  69. 8.
  70. [java] view plain copy
  71. //自动滑动列表  
  72. driver.scrollTo("text");  
  73. //或者  
  74. driver.scrollToExact("text");  
  75. 9.
  76. [java] view plain copy
  77.               //安装APP  
  78. driver.installApp(appPath);  
  79.   
  80. //判断应用是否已安装  
  81. driver.isAppInstalled("package name");  
  82. 10.
  83. [java] view plain copy
  84. //拖动相机图标至日历图标位置  
  85. new TouchAction(driver).longPress(driver.findElementByName("相机"))  
  86. .moveTo(driver.findElementByName("日历")).release().perform();  
  87. 11.
  88. [java] view plain copy
  89.               //锁屏  
  90. driver.lockScreen(2);  
  91.   
  92. //判断是否锁屏  
  93. driver.isLocked();   
  94. 12.
  95. [java] view plain copy
  96. //发送按键事件  
  97. Event(AndroidKeyCode.HOME);  
  98. 13.
  99. [java] view plain copy
  100. <span style="color:#ff0000;"> </span>  
  101.                 //通过uiautomator定位clickable属性为true的元素并点击  
  102.         driver.findElementByAndroidUIAutomator("new UiSelector().clickable(true)").click();  
  103.          
  104.         //相同属性的元素使用List存放  
  105.         List<WebElement> elements = driver.findElementsByClassName("class name");  
  106.         elements.get(0).click(); //点击List中的第一个元素  
  107.         //tap,点击元素位置  
  108.         driver.tap(1, driver.findElementByName("日期和时间"), 0);  
复制代码


分享到:  QQ好友和群QQ好友和群 QQ空间QQ空间 腾讯微博腾讯微博 腾讯朋友腾讯朋友
收藏收藏
回复

使用道具 举报

本版积分规则

关闭

站长推荐上一条 /1 下一条

小黑屋|手机版|Archiver|51Testing软件测试网 ( 沪ICP备05003035号 关于我们

GMT+8, 2024-11-10 23:20 , Processed in 0.067493 second(s), 23 queries .

Powered by Discuz! X3.2

© 2001-2024 Comsenz Inc.

快速回复 返回顶部 返回列表