Appium+java+Android 四(appium实现自动化发朋友圈用例)

上一篇博客我给大家分享了运用appium+java+android实现自动化发微信的测试用例,今天我再给大家分享一下自动化发朋友圈的测试用例吧,由于基本原理都一样,所以只把代码贴出来,如果有疑问的话,可以看看我的前一篇博客
Appium +java+Android 三(使用appium实现自动化给朋友发微信的测试用例)

以下是我的实现代码

private AppiumDriver driver;

@BeforeClass
public void setUp() throws MalformedURLException {
	DesiredCapabilities cap = new DesiredCapabilities();

	cap.setCapability(CapabilityType.BROWSER_NAME, "");
	cap.setCapability("PlatformName", "Android");
	cap.setCapability("deviceName", "RSY5LZ89F67SJZYT");
	cap.setCapability("platformversion", "5.1");
	cap.setCapability("appPackage", "com.tencent.mm");
	cap.setCapability("appActivity", "com.tencent.mm.ui.LauncherUI");
	cap.setCapability("appWaitActivity", "com.tencent.mm.ui.LauncherUI");
	cap.setCapability("unicodeKeyboard", "True");// 使用Unicode输入法,默认 false
	cap.setCapability("resetKeyboard", "True");// 在使用了unicode输入法测试结束后,重置输入法到原有状态。如果单独使用,将会被忽略。默认值 false
	// 每次启动时覆盖session,否则第二次后运行会报错不能新建session
	cap.setCapability("sessionOverride", true);

	driver = new AndroidDriver(new URL("http://10.10.1.111:4723/wd/hub"), cap);

}

@Test
public void demo() throws InterruptedException {

	try {
		Thread.sleep(5000);
		List<WebElement> list = driver.findElementsById("com.tencent.mm:id/c_x");// 通过驱动找元素

		if (CollectionUtils.isNotEmpty(list)) {

			// 找到第三个发现
			WebElement target = list.get(2);// 发现
			System.out.println(target.getText());
			// WebElement target = getTarget(list);
			if (target != null) {
				target.click();// 点击发现
				Thread.sleep(500);
			}

			List<WebElement> list1 = driver.findElementsById("android:id/title");
			if (CollectionUtils.isNotEmpty(list1)) {
				// 找到第2个框朋友圈
				WebElement target1 = list1.get(1);// 朋友圈
				System.out.println(target1.getText());
				if (target1 != null) {
					target1.click();// 点击进入朋友圈
					Thread.sleep(500);

				}

			}

			// 找到发朋友圈按钮
			WebElement webElement3 = driver.findElementById("com.tencent.mm:id/g_");
			if (webElement3 != null) {
				System.out.println(webElement3.getText());
				webElement3.click();// 点击相机的icon
				Thread.sleep(500);
			}

			// 点击从相册选取
			WebElement webElement4 = (WebElement) driver.findElementsById("com.tencent.mm:id/ga").get(1);
			if (webElement4 != null) {
				System.out.println(webElement4.getText());
				webElement4.click();
				Thread.sleep(500);
			}
			// 选择第一张照片
			List<WebElement> list3 = driver.findElementsById("com.tencent.mm:id/bpl");
			if (CollectionUtils.isNotEmpty(list3)) {
				// WebElement target3 = list3.get(0);// 选择第一张照片

			\\选择九张照片
				for (int i = 0; i < 9; i++) {
					WebElement target3 = list3.get(i);
					if (target3 != null) {
						System.out.println(target3.getText());
						target3.click();// 点击选择照片

					}
				}

			}
			// 点击完成
			WebElement webElement5 = driver.findElementById("com.tencent.mm:id/hd");
			if (webElement5 != null) {
				System.out.println(webElement5.getText());
				webElement5.click();// 点击完成
				Thread.sleep(500);
			}
			//这是朋友圈文字
			driver.findElementById("com.tencent.mm:id/der").sendKeys("这是我的自动化脚本发送的第一条朋友圈,还是很开心");
			Thread.sleep(500);
			driver.findElementById("com.tencent.mm:id/hd").click();

		}

	} catch (Exception e) {
		// TODO: handle exception
		System.out.println(e.getStackTrace());
	}

}

@AfterClass
public void tearDown() throws InterruptedException {
	Thread.sleep(5000);
	driver.quit();

}

}

猜你喜欢

转载自blog.csdn.net/qq_38941812/article/details/85247417