当前位置 : 主页 > 网络安全 > 测试自动化 >

自动化测试系统计算器---Android studio + java + appium

来源:互联网 收集:自由互联 发布时间:2021-06-19
前言:已配置好appium+java环境,如有问题,可参考前篇blog。 实例: 1. 创建java项目 ,导入相关依赖,java-client和selenium 版本号最好对应 ,不然可能出现很奇葩的问题。相关网站:https

前言:已配置好appium+java环境,如有问题,可参考前篇blog。

 

实例:

1.创建java项目,导入相关依赖,java-client和selenium版本号最好对应,不然可能出现很奇葩的问题。相关网站:https://mvnrepository.com/artifact/io.appium/java-client。点击相应版本,下面会有对应的selenium版本号对应的网址。

 

 java文件对应的配置如下

配置好java项目后,可以通过sdk包下面的tools文件夹下面找到uiautomatorviewer.bat文件,双击打开,可以获取app页面相关元素的id,记录,后面编码有用到。如下图:

编码,测试1+6,打开appium并运行,并运行下面代码,观察结果

public class MyClass {

    private AppiumDriver driver;

    @BeforeClass
    public void setup() throws Exception{
        DesiredCapabilities cap = new DesiredCapabilities();
        cap.setCapability(CapabilityType.BROWSER_NAME,"");
        cap.setCapability("platformName","Android");
        cap.setCapability("deviceName","9HNBB18330161672");
        cap.setCapability("platformVersion","6.0");

        cap.setCapability("appPackage","com.android.calculator2");
        cap.setCapability("appActivity","com.android.calculator2.Calculator");
        cap.setCapability("appWaitActivity","com.android.calculator2.Calculator");
        cap.setCapability("sessionOverride",true);
        driver = new AndroidDriver(new URL("http://127.0.0.1:4723/wd/hub"), cap);
    }

    @Test
    public void plus(){
        //获取1
        driver.findElementById("com.android.calculator2:id/digit1").click();
        //获取+
        driver.findElementById("com.android.calculator2:id/plus").click();
        //获取6
        driver.findElementById("com.android.calculator2:id/digit6").click();
        //获取=
        driver.findElementById("com.android.calculator2:id/equal").click();
    }

    @AfterClass
    public void tearDown() throws Exception{
        driver.quit();
    }
}

 

难点解析:

1.环境配置。一点要创建java项目,避免依赖文件冲突。

采坑点,在Android studio中导入相关jar文件,必须创建java项目,而不是android项目。因为AS会默认创建Android项目,刚开始没注意这一点,在通过glide导入相关依赖文件的时候,冲突了,一直报错。

如下:Caused by: java.lang.RuntimeException: com.android.builder.dexing.DexArchiveMergerException: Error while merging dex archives

因为io.appium:java-client:4.1.2和com.android.support:appcompat-v7:27.1.1有重复引用

2.获取app页面元素id,如果可以自己看代码,皆大欢喜,如果没法看到源码,可以通过sdk下自带工具获取。

3.编码,后续详解

网友评论