• APP元素定位和元素操作


    1.APP 定位元素需要用到UIautomator

    打开:D:Andriod_SDK oolsuiautomatorviewer.bat

    打开模拟器-》驾考宝典.apk,一会进行元素定位

     脚本:

    package com.test.firstAppium;
    import java.net.MalformedURLException;
    import java.net.URL;
    import org.openqa.selenium.WebElement;
    import org.openqa.selenium.remote.DesiredCapabilities;
    import io.appium.java_client.android.AndroidDriver;
    public class AppiumTest001 {
     //声明全局变量
     public static AndroidDriver<WebElement> androidDriver;
     
     public static void main(String[] args) throws MalformedURLException, InterruptedException {
      //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");
      //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);
      testJiakao();
      
     }
     //自定义方法
     public static void testJiakao() throws InterruptedException {
      Thread.sleep(20000);
     //选择同意
      
     //1.找到定位城市文本,并且点击
      androidDriver.findElementById("com.handsgo.jiakao.android:id/cityTv").click();
     //2.输入城市:上海
     // androidDriver.findElementById("com.handsgo.jiakao.android:id/edt_search_q").sendKeys("上海");
     //3.输入框无法识别
      androidDriver.findElementByXPath("//android.widget.TextView[@text='北京']").click();
      //.findElementByXPath("//android.widget.TextView[@text='上海']").click();
      //4.选择性别
      androidDriver.findElementById("com.handsgo.jiakao.android:id/femaleTv").click();
     //5.选择驾校包名状态-未报名
      androidDriver.findElementById("com.handsgo.jiakao.android:id/unRegisterTv").click();
     //6.选择当前类型:小车
      androidDriver.findElementById("com.handsgo.jiakao.android:id/itemCar").click();
     //7.点击下一步
      androidDriver.findElementById("com.handsgo.jiakao.android:id/okBtn").click();
      
      
      
      
      
     }
    }
    运行脚本的时候,打开Appium和模拟器,uiautomator定位,但是这里脚本运行行没有识别搜索框,所以用XPath定位
     
  • 相关阅读:
    .net core 反编译一小段
    .net core 自动注入。。。。懵逼。。
    css 过渡效果
    sqlserver 插入语句
    sqlserver 删除表 外键
    关于selenium的CI、框架……
    浅析selenium的PageFactory模式
    java使用IO读写文件总结
    selenium结合sikuliX操作Flash网页
    记阿里巴巴的一次面试
  • 原文地址:https://www.cnblogs.com/JacquelineQA/p/12438785.html
Copyright © 2020-2023  润新知