android微信小程序自动填表_微信小程序自动化

//打开测试App

DesiredCapabilities desiredCapabilities = new DesiredCapabilities();

desiredCapabilities.setCapability("platformName", "Android");

desiredCapabilities.setCapability("appPackage", "com.tencent.mm");

desiredCapabilities.setCapability("appActivity", "com.tencent.mm.ui.LauncherUI");

// 支持X5内核应用自动化配置

desiredCapabilities.setCapability("recreateChromeDriverSessions", true);

// ChromeOptions使用来定制启动选项,因为在appium中切换context识别webview的时候,

// 把com.tencent.mm:toolsmp的webview识别成com.tencent.mm的webview.

// 所以为了避免这个问题,加上androidProcess: com.tencent.mm:toolsmp

ChromeOptions options = new ChromeOptions();

options.setExperimentalOption("androidProcess", "com.tencent.mm:appbrand0");

desiredCapabilities.setCapability(ChromeOptions.CAPABILITY, options);

// 初始化会默认将chrome浏览器打开,需要将Browser置为空

desiredCapabilities.setBrowserName("");

//添加noReset 不清除数据 值取布尔值

//默认不加的值为false 一定要注意:不加的话后果很严重,把微信的数据全部的清掉

desiredCapabilities.setCapability("noReset", true);

URL remoteUrl = new URL("http://localhost:4723/wd/hub");

driver = new AndroidDriver(remoteUrl, desiredCapabilities);

driver.manage().timeouts().implicitlyWait(5, TimeUnit.SECONDS);

Thread.sleep(10000);

//下拉==向下滑动

swipeDown(600);

//选择小程序

driver.findElement(MobileBy.AndroidUIAutomator("new UiSelector().text(\"apple2软件…\")")).click();

Thread.sleep(6000);

//切换context

System.out.println(driver.getContextHandles());

//选择context的时候:context名字是包含之前查询到的小程序进程名

driver.context("WEBVIEW_com.tencent.mm:appbrand0");

//因为小程序开启之后会连带打开三个web窗口,所以我们需要切换到对应正确的窗口中去

//每一个窗口会有对应的句柄(标识) 三个句柄

Set handles = driver.getWindowHandles();

for(String handle:handles){

if(driver.getTitle().equals("apple2购物商城")){

break;

}

//切换句柄

driver.switchTo().window(handle);

}

//定位小程序页面元素

driver.findElement(By.xpath("//a[text()='商品(103)']")).click();

你可能感兴趣的:(android微信小程序自动填表_微信小程序自动化)