Appium常用APi03

厌伴老儒烹瓠叶,强随举子踏槐花。这篇文章主要讲述Appium常用APi03相关的知识,希望能为你提供帮助。
1.getScreenshotAs
截图功能,当测试用例执行失败之后进行屏幕截图,保存到本地为了更好的查找问题
File file =androidDriver.getScreenshotAs(OutputType.FILE);
FileUtils.copyFile(file,new File("D:\\\\test.png"));
eg:
【Appium常用APi03】//getScreenshotAs
      //截图功能,当测试用例执行失败之后进行屏幕截图,保存到本地为了更好的查找问题
      File file =androidDriver.getScreenshotAs(OutputType.FILE);
      FileUtils.copyFile(file,new File("D:\\\\test\\\\test.png"));
2.getDeviceTime获取设备时间信息
3.getDisplayDensity获取设备DPI,注意不是分辨率
4.getAutomationName获取automation name,默认null,如果有指定automation name为uiautomator2就为对应的数值
5.getOrientation获取设备横竖屏状态,有PORTRAIT竖屏/LANDSCAPE横屏
//7.getScreenshotAs
      //截图功能,当测试用例执行失败之后进行屏幕截图,保存到本地为了更好的查找问题
      //File file =androidDriver.getScreenshotAs(OutputType.FILE);
      //FileUtils.copyFile(file,new File("D:\\\\test\\\\test.png"));
      //8.getDeviceTime获取设备时间信息
      System.out.println("当前时间为:"+androidDriver.getDeviceTime());
      //9.getDisplayDensity获取设备DPI,注意不是分辨率
      System.out.println("当前屏幕DPI: "+androidDriver.getDisplayDensity());
      //10.getAutomationName获取automation name,默认null,如果有指定automation name为uiautomator2就为对应的数值
      System.out.println("当前的引擎为: "+androidDriver.getAutomationName());
      //11.getOrientation获取设备横竖屏状态,有PORTRAIT竖屏/LANDSCAPE横屏
      System.out.println("当前的横屏竖屏状态为: "+androidDriver.getOrientation());
整个脚本如下
package com.test.firstAppium; import java.io.File;
import java.io.IOException;
import java.net.MalformedURLException;
import java.net.URL;
import java.util.concurrent.TimeUnit; import org.apache.commons.io.FileUtils;
import org.openqa.selenium.OutputType;
import org.openqa.selenium.WebElement;
import org.openqa.selenium.remote.DesiredCapabilities;
import org.testng.annotations.AfterTest;
import org.testng.annotations.BeforeTest;
import org.testng.annotations.Test; import io.appium.java_client.android.Activity;
import io.appium.java_client.android.AndroidDriver; public class AppiumApiTest {
 
  // 声明全局变量
    public static AndroidDriver< WebElement> androidDriver;     @BeforeTest
    public void setup() throws MalformedURLException {
      // 1.創建配置對象
      DesiredCapabilities desiredCapabilities = new DesiredCapabilities();
      // 2.添加配置
      // deviceName:可以找到我们测试的设备
      desiredCapabilities.setCapability("deviceName", "127.0.0.1:62001");
      // platformName:测试平台android or ios
      desiredCapabilities.setCapability("platformName", "Android");
      // appPackage:找到测试 APP:aapt dump badging.....
      desiredCapabilities.setCapability("appPackage", "com.handsgo.jiakao.android");
      // automationName:uiautomator2来解决输入框输入不了数据
      // 自动化引擎
      // desiredCapabilities.setCapability("automationName", "uiautomator2");
      // 不清理应用的数据,默认是清理的
      desiredCapabilities.setCapability("noReset", true);
      // appActivity:测试app入口
      desiredCapabilities.setCapability("appActivity", "com.handsgo.jiakao.android.splash.Login");
      // 创建驱动
      // 传入2个参数,第一个参数:Appium通讯地址,第二个参数:配置对象
      androidDriver = new AndroidDriver< WebElement> (new URL("http://127.0.0.1:4723/wd/hub"), desiredCapabilities);
      // 隐式等待
      androidDriver.manage().timeouts().implicitlyWait(30, TimeUnit.SECONDS);     }
    @Test
    public void ApiTest() throws InterruptedException, IOException {
      Thread.sleep(6000);
        //1.页面的跳转-APP内部页面的跳转
      //Activity activity = new Activity("com.handsgo.jiakao.android","cn.mucang.android.account.activity.LoginMultiDefaultSmsActivity");
      //androidDriver.startActivity(activity);
      //2.app相互跳转-跳转到其他app页面(入口)
      //Activity activity = new Activity("com.baidu.BaiduMap","com.baidu.baidumaps.WelcomeScreen");
      //androidDriver.startActivity(activity);
      //3.getPageSource
      //String pageSource = androidDriver.getPageSource();
      //System.out.println(pageSource);
      //4.currentActivity获得当前页面得类名
//      System.out.println(androidDriver.currentActivity());
      //5.resetAPP清除数据
      //androidDriver.resetApp();
      //6.获取应用是否安装isAppInstalled
      //System.out.println(androidDriver.isAppInstalled("com.baidu.BaiduMap"));
      //7.getScreenshotAs
      //截图功能,当测试用例执行失败之后进行屏幕截图,保存到本地为了更好的查找问题
      //File file =androidDriver.getScreenshotAs(OutputType.FILE);
      //FileUtils.copyFile(file,new File("D:\\\\test\\\\test.png"));
      //8.getDeviceTime获取设备时间信息
      System.out.println("当前时间为:"+androidDriver.getDeviceTime());
      //9.getDisplayDensity获取设备DPI,注意不是分辨率
      System.out.println("当前屏幕DPI: "+androidDriver.getDisplayDensity());
      //10.getAutomationName获取automation name,默认null,如果有指定automation name为uiautomator2就为对应的数值
      System.out.println("当前的引擎为: "+androidDriver.getAutomationName());
      //11.getOrientation获取设备横竖屏状态,有PORTRAIT竖屏/LANDSCAPE横屏
      System.out.println("当前的横屏竖屏状态为: "+androidDriver.getOrientation());
     
    }
    @AfterTest
    public void teardown() throws InterruptedException {
      Thread.sleep(3000);
      androidDriver.quit();     }
  }  

Appium常用APi03

文章图片
 
 

    推荐阅读