JAVA+Appium+testng+Maven---微信小程序自动化实现demo

实现了以下功能:

1、微信小程序的调起(通过小程序使用历史列表)

2、小程序内部的元素定位和输入、查找

框架还是之前的JAVA+Appium+testng+Maven管理的。

没有的见上一篇《appium+java+Testng+Maven的自动化框架部署》

 

 

package com.herry.demo;public class appiumMiniAppdemo {  private AndroidDriver driver;  @BeforeClass    public void setup() throws MalformedURLException {          //设置自动化相关参数          DesiredCapabilities capabilities = new DesiredCapabilities();          capabilities.setCapability(CapabilityType.BROWSER_NAME, "");          capabilities.setCapability("platformName", "Android");         capabilities.setCapability("automationName","Uiautomator2");          capabilities.setCapability("deviceName", "d0efea11");//指定测试机的ID,通过adb devices获取          //设置安卓系统版本          capabilities.setCapability("platformVersion", "6.0.1");          //设置apk路径          capabilities.setCapability("sessionOverride", true);//每次启动时覆盖session,否则第二次后运行会报错不能新建session          capabilities.setCapability("noReset", "true");/每次启动时不清楚应用数据启动(不需要每次微信登录、授权等)                    capabilities.setCapability("unicodeKeyboard",true);//是使用unicode编码方式发送字符串          capabilities.setCapability("resetKeyboard",true);          //设置app的主包名和主类名          capabilities.setCapability("appPackage", "com.tencent.mm");          capabilities.setCapability("appActivity", "com.tencent.mm.ui.LauncherUI");          capabilities.setCapability("appWaitActivity","com.tencent.mm.ui.LauncherUI");           capabilities.setCapability("androidProcess", "com.tencent.mm:appbrand1");          //初始化           driver = new AndroidDriver(new URL("http://127.0.0.1:4723/wd/hub"), capabilities);              }  @Test  public void myTest() throws InterruptedException {        Thread.sleep(2000);    driver.findElementByXPath("//*[@text='发现']").click();    Thread.sleep(2000);    driver.findElementByXPath("//*[@text='小程序']").click();    Thread.sleep(2000);    //进入小程序    driver.findElementByXPath("//*[@text='省钱大帮手Pro']").click();    Thread.sleep(5000);    System.out.println(driver.getContext());    Set contexts=driver.getContextHandles();    for (String str:contexts){      System.out.println("context:"+str);    }    Thread.sleep(5000);    driver.findElementByXPath("//*[@text='搜索关键字或者标题']").click();    Thread.sleep(2000);    driver.findElementByXPath("//*[@text='输入标题或商品关键字']").sendKeys("衣服");    Thread.sleep(2000);    driver.findElementsByXPath("//*[@text='搜索']").get(1).click();    Thread.sleep(10000);  }  @AfterClass    public void testend() throws Exception {        driver.quit();    }}

你可能感兴趣的:(app自动化)