zoukankan      html  css  js  c++  java
  • 自动化测试系统计算器---Android studio + java + appium

    前言:已配置好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.编码,后续详解

  • 相关阅读:
    C#判断闰年
    C#计算时间,107653秒是几天几小时几分钟几秒?
    两个值交换,不使用第三个中间变量做缓存。实现方法
    element UI dialog 固定高度 且关闭时清空数据
    JS
    PHP
    element UI 上传文件成功后
    windows环境安装vue-cli及webpack并创建vueJs项目
    PHP
    mysql点滴记录 三 (基础操作)
  • 原文地址:https://www.cnblogs.com/mbp-study/p/10238786.html
Copyright © 2011-2022 走看看