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定位
 
原文地址:https://www.cnblogs.com/JacquelineQA/p/12438785.html