移动应用测试---PicFolder

本文仅涉及方法,只供参考。

package com.mooctest;

import io.appium.java_client.AppiumDriver;
import io.appium.java_client.AndroidKeyCode;
import java.io.File;
import java.net.MalformedURLException;
import java.net.URL;
import java.util.List;
import java.util.concurrent.TimeUnit;

import org.openqa.selenium.By;
import org.openqa.selenium.NoSuchElementException;
import org.openqa.selenium.WebElement;
import org.openqa.selenium.remote.CapabilityType;
import org.openqa.selenium.remote.DesiredCapabilities;
import org.openqa.selenium.remote.UnreachableBrowserException;

public class Main {

	/**
	 * 所有和AppiumDriver相关的操作都必须写在该函数中
	 * 
	 * @param driver
	 * @throws InterruptedException
	 */
	public void test(AppiumDriver driver) throws InterruptedException {
		try {
			Thread.sleep(6000); // 等待6s,待应用完全启动
		} catch (InterruptedException e) {
			// TODO Auto-generated catch block
			e.printStackTrace();
		}
		driver.manage().timeouts().implicitlyWait(8, TimeUnit.SECONDS); // 设置尝试定位控件的最长时间为8s,也就是最多尝试8s
		/*
		 * 余下的测试逻辑请按照题目要求进行编写
		 */
		// 活动
		driver.findElementById("android:id/up").click();
		driver.findElementByXPath("//android.widget.TextView[@text='活动']").click();
		driver.findElementByXPath("//android.widget.TextView[@content-desc=\"搜索\"]").click();
		driver.findElementById("android:id/button1").click();
		driver.findElementByXPath("	//android.widget.TextView[@content-desc=\"幻灯片\"]").click();
		driver.navigate().back();
		driver.findElementByXPath("//android.widget.ImageButton[@content-desc=\"更多选项\"]").click();
		driver.findElementByXPath("//android.widget.TextView[@text=\"模式\"]").click();
		driver.findElementByXPath("//android.widget.TextView[@text=\"网格\"]").click();
		driver.findElementByXPath("//android.widget.ImageButton[@content-desc=\"更多选项\"]").click();
		driver.findElementByXPath("//android.widget.TextView[@text=\"模式\"]").click();
		driver.findElementByXPath("//android.widget.TextView[@text=\"列表\"]").click();

		// WiFi快船
		driver.findElementById("android:id/up").click();
		driver.findElementByXPath("//android.widget.TextView[@text='WiFi 快传']").click();
		driver.findElementByXPath("//android.widget.TextView[@text=\"传输列表\"]").click();
		driver.findElementByXPath("//android.widget.TextView[@text=\"发送\"]").click();
		driver.findElementById("com.alensw.PicFolder:id/add").click();
		driver.navigate().back();
		driver.findElementById("com.alensw.PicFolder:id/clear").click();

		driver.findElementByXPath("//android.widget.ImageButton[@content-desc=\"更多选项\"]").click();
		driver.findElementByXPath("//android.widget.TextView[@text=\"重命名\"]").click();
		driver.navigate().back();
		driver.findElementByXPath("//android.widget.ImageButton[@content-desc=\"更多选项\"]").click();
		driver.findElementByXPath("//android.widget.TextView[@text=\"分享:快图浏览\"]").click();
		driver.navigate().back();
		driver.findElementByXPath("//android.widget.ImageButton[@content-desc=\"更多选项\"]").click();
		driver.findElementByXPath(
				"/hierarchy/android.widget.FrameLayout/android.widget.ListView/android.widget.LinearLayout[3]").click();
		driver.navigate().back();

		
		// 500px
		driver.findElementById("android:id/up").click();
		driver.findElementByXPath("//android.widget.TextView[@text='500px']").click();
		driver.navigate().back();
		// 添加
		driver.findElementById("android:id/up").click();
		driver.findElementByXPath("//android.widget.TextView[@text='添加']").click();
		driver.navigate().back();
		// 贴士
		driver.findElementById("android:id/up").click();
		driver.findElementByXPath("//android.widget.TextView[@text='贴士与反馈']").click();
		driver.navigate().back();
		// 评价我们
		driver.findElementById("android:id/up").click();
		driver.findElementByXPath("//android.widget.TextView[@text='评价我们']").click();
		driver.navigate().back();
		// 关于
		driver.findElementById("android:id/up").click();
		driver.findElementByXPath("//android.widget.TextView[@text='关于']").click();
		driver.navigate().back();
		// 相册
		driver.findElementById("android:id/up").click();
		driver.findElementByXPath("//android.widget.TextView[@text='相册']").click();
		// 相册==搜索
		driver.findElementByXPath("//android.widget.TextView[@content-desc=\"搜索\"]").click();
		driver.findElementById("android:id/button1").click();
		driver.findElementByXPath("//android.widget.TextView[@content-desc=\"搜索\"]").click();
		driver.findElementById("android:id/button2").click();
		// 相册==相机相册
		driver.findElementByXPath("//android.widget.TextView[@content-desc=\"相机照片\"]").click();
		// 首页历史
		driver.findElementById("com.alensw.PicFolder:id/recent_btn_img").click();
		driver.findElementById("com.alensw.PicFolder:id/recent_photos_take_photo_btn").click();
		driver.findElementById("com.alensw.PicFolder:id/menu_btn_iv").click();
		driver.findElementById("com.alensw.PicFolder:id/tv_content").click();
		// 首页历史 --设置
//		driver.findElementById("com.alensw.PicFolder:id/help").click();
//		Thread.sleep(800);
//		driver.navigate().back();
		// 首页历史 --设置
		driver.findElementByXPath("//android.widget.TextView[@text='包含文件夹']").click();
		driver.navigate().back();
		driver.findElementByXPath("//android.widget.TextView[@text='排除文件夹']").click();
		driver.navigate().back();
		// 首页历史 --设置--默认排序模式
		driver.findElementByXPath("//android.widget.TextView[@text='默认排序模式']").click();
		driver.findElementByXPath("//android.widget.TextView[@text='按时间']").click();
		driver.findElementByXPath("//android.widget.TextView[@text='默认排序模式']").click();
		driver.findElementByXPath("//android.widget.TextView[@text='按名称']").click();
		driver.findElementByXPath("//android.widget.TextView[@text='默认排序模式']").click();
		driver.findElementByXPath("//android.widget.TextView[@text='按拍摄时间']").click();
		driver.findElementByXPath("//android.widget.TextView[@text='默认排序模式']").click();
		driver.findElementByXPath("//android.widget.TextView[@text='按大小']").click();
		driver.findElementByXPath("//android.widget.TextView[@text='默认排序模式']").click();
		driver.findElementByXPath("//android.widget.TextView[@text='默认']").click();
		// 首页历史 --设置--单选
		driver.findElementByXPath("//android.widget.TextView[@text='隐藏面板']").click();
		driver.findElementByXPath("//android.widget.TextView[@text='隐藏最近照片功能']").click();
		driver.findElementByXPath("//android.widget.TextView[@text='隐藏顶部状态栏']").click();
		driver.findElementByXPath("//android.widget.TextView[@text='横向滚动缩略图']").click();
		driver.findElementByXPath("//android.widget.TextView[@text='裁剪缩略图成正方形']").click();
		driver.findElementByXPath("//android.widget.TextView[@text='数值化文件名顺序']").click();
		driver.findElementByXPath("//android.widget.TextView[@text='打开最后的文件夹']").click();
		driver.navigate().back();
		Thread.sleep(800);

		// 相册=更多选项==模式
		//
		driver.findElementByXPath("//android.widget.ImageButton[@content-desc=\"更多选项\"]").click();
		driver.findElementByXPath("//android.widget.TextView[@text=\"模式\"]").click();
		driver.findElementByXPath("//android.widget.TextView[@text=\"层叠\"]").click();
		//
		driver.findElementByXPath("//android.widget.ImageButton[@content-desc=\"更多选项\"]").click();
		driver.findElementByXPath("//android.widget.TextView[@text=\"模式\"]").click();
		driver.findElementByXPath("//android.widget.TextView[@text=\"网格\"]").click();
		//
		driver.findElementByXPath("//android.widget.ImageButton[@content-desc=\"更多选项\"]").click();
		driver.findElementByXPath("//android.widget.TextView[@text=\"模式\"]").click();
		driver.findElementByXPath("//android.widget.TextView[@text=\"列表\"]").click();
		//
		driver.findElementByXPath("//android.widget.ImageButton[@content-desc=\"更多选项\"]").click();
		driver.findElementByXPath("//android.widget.TextView[@text=\"模式\"]").click();
		driver.findElementByXPath("//android.widget.TextView[@text=\"文件浏览\"]").click();
		//
		driver.findElementByXPath("//android.widget.ImageButton[@content-desc=\"更多选项\"]").click();
		driver.findElementByXPath("//android.widget.TextView[@text=\"模式\"]").click();
		driver.findElementByXPath("//android.widget.TextView[@text=\"默认\"]").click();
		// 相册=更多选项==排序
		//
		driver.findElementByXPath("//android.widget.ImageButton[@content-desc=\"更多选项\"]").click();
		driver.findElementByXPath("//android.widget.TextView[@text=\"排序\"]").click();
		driver.findElementByXPath("//android.widget.TextView[@text=\"按时间\"]").click();
		//
		driver.findElementByXPath("//android.widget.ImageButton[@content-desc=\"更多选项\"]").click();
		driver.findElementByXPath("//android.widget.TextView[@text=\"排序\"]").click();
		driver.findElementByXPath("//android.widget.TextView[@text=\"按路径\"]").click();
		//
		driver.findElementByXPath("//android.widget.ImageButton[@content-desc=\"更多选项\"]").click();
		driver.findElementByXPath("//android.widget.TextView[@text=\"排序\"]").click();
		driver.findElementByXPath("//android.widget.TextView[@text=\"按名称\"]").click();
		// 相册=更多选项==添加
		driver.findElementByXPath("//android.widget.ImageButton[@content-desc=\"更多选项\"]").click();
		driver.findElementByXPath("//android.widget.TextView[@text=\"添加\"]").click();
		driver.findElementById("android:id/button1").click();
		driver.findElementByXPath("//android.widget.ImageButton[@content-desc=\"更多选项\"]").click();
		driver.findElementByXPath("//android.widget.TextView[@text=\"添加\"]").click();
		driver.findElementById("android:id/button2").click();
		// 相册=更多选项==显示隐藏
		driver.findElementByXPath("//android.widget.ImageButton[@content-desc=\"更多选项\"]").click();
		driver.findElementByXPath("//android.widget.TextView[@text=\"显示隐藏项\"]").click();
		driver.findElementByXPath("//android.widget.ImageButton[@content-desc=\"更多选项\"]").click();
		driver.findElementByXPath("//android.widget.TextView[@text=\"不显示隐藏项\"]").click();
		// 相册=更多选项==WiFi 快传
		driver.findElementByXPath("//android.widget.ImageButton[@content-desc=\"更多选项\"]").click();
		driver.findElementByXPath("//android.widget.TextView[@text=\"WiFi 快传\"]").click();
		driver.navigate().back();
		// 相册=更多选项==设置
		driver.findElementByXPath("//android.widget.ImageButton[@content-desc=\"更多选项\"]").click();
		driver.findElementByXPath("//android.widget.TextView[@text=\"设置\"]").click();
		driver.navigate().back();
		// 相册=更多选项==贴士
		driver.findElementByXPath("//android.widget.ImageButton[@content-desc=\"更多选项\"]").click();
		driver.findElementByXPath("//android.widget.TextView[@text=\"贴士与反馈\"]").click();
		driver.navigate().back();
		// 设置
				driver.findElementById("android:id/up").click();
				driver.findElementByXPath("//android.widget.TextView[@text='设置']").click();
				// 设置--详情
				// 设置--详情--常规
				driver.findElementByXPath("//android.widget.TextView[@text='常规']").click();
				driver.findElementByXPath("//android.widget.TextView[@text='包含视频文件']").click();
				driver.findElementByXPath("//android.widget.TextView[@text='自动黑背景']").click();
				driver.findElementByXPath("//android.widget.TextView[@text='分行控制栏']").click();
				driver.findElementByXPath("//android.widget.TextView[@text='设为默认图库']").click();
				driver.navigate().back();
				driver.findElementByXPath("//android.widget.TextView[@text='主题']").click();
				driver.findElementByXPath(
						"/hierarchy/android.widget.FrameLayout/android.view.View[1]/android.widget.FrameLayout[2]/android.widget.GridView/android.widget.FrameLayout[2]/android.widget.ImageView")
						.click();
				driver.navigate().back();
				// 设置--详情--常规
				driver.findElementByXPath("//android.widget.TextView[@text='浏览']").click();
				driver.navigate().back();
				// 设置--详情--常规
				driver.findElementByXPath("//android.widget.TextView[@text='查看']").click();
				driver.findElementByXPath("//android.widget.TextView[@text='屏幕显示方向']").click();
				driver.findElementByXPath("//android.widget.CheckedTextView[@text='使用方向传感器']").click();
				driver.findElementByXPath("//android.widget.TextView[@text='屏幕显示方向']").click();
				driver.findElementByXPath("//android.widget.CheckedTextView[@text='根据图像尺寸']").click();
				driver.findElementByXPath("//android.widget.TextView[@text='屏幕显示方向']").click();
				driver.findElementByXPath("//android.widget.CheckedTextView[@text='根据系统设置']").click();
				driver.findElementByXPath("//android.widget.TextView[@text='屏幕调到最亮']").click();
				driver.findElementByXPath("//android.widget.TextView[@text='自动隐藏虚拟按键']").click();
				driver.findElementByXPath("//android.widget.TextView[@text='单击进行缩放']").click();
				driver.findElementByXPath("//android.widget.TextView[@text='强制输出真彩色']").click();
				driver.findElementByXPath("//android.widget.TextView[@text='网格图案背景']").click();
				driver.findElementByXPath("//android.widget.TextView[@text='在屏幕底部显示']").click();
				driver.findElementByXPath("//android.widget.CheckedTextView[@text='详情']").click();
				driver.findElementByXPath("//android.widget.CheckedTextView[@text='缩放按钮']").click();
				driver.findElementById("android:id/button1").click();
				driver.navigate().back();
				
				// 设置--详情--幻灯片
				driver.findElementByXPath("//android.widget.TextView[@text='幻灯片']").click();
				// 设置--详情--幻灯片---过渡动画
				driver.findElementByXPath("//android.widget.TextView[@text='过渡动画']").click();
				driver.findElementByXPath("//android.widget.CheckedTextView[@text='渐隐']").click();
				driver.findElementByXPath("//android.widget.TextView[@text='过渡动画']").click();
				driver.findElementByXPath("//android.widget.CheckedTextView[@text='平移']").click();
				driver.findElementByXPath("//android.widget.TextView[@text='过渡动画']").click();
				driver.findElementByXPath("//android.widget.CheckedTextView[@text='翻转']").click();
				driver.findElementByXPath("//android.widget.TextView[@text='过渡动画']").click();
				driver.findElementByXPath("//android.widget.CheckedTextView[@text='旋转']").click();
				driver.findElementByXPath("//android.widget.TextView[@text='过渡动画']").click();
				driver.findElementByXPath("//android.widget.CheckedTextView[@text='卡片']").click();
				driver.findElementByXPath("//android.widget.TextView[@text='过渡动画']").click();
				driver.findElementByXPath("//android.widget.CheckedTextView[@text='随机']").click();
				// 设置--详情--幻灯片--播放间隔
				driver.findElementByXPath("//android.widget.TextView[@text='播放间隔']").click();
				driver.findElementByXPath("//android.widget.CheckedTextView[@text='3']").click();
				driver.findElementByXPath("//android.widget.TextView[@text='播放间隔']").click();
				driver.findElementByXPath("//android.widget.CheckedTextView[@text='5']").click();
				driver.findElementByXPath("//android.widget.TextView[@text='播放间隔']").click();
				driver.findElementByXPath("//android.widget.CheckedTextView[@text='10']").click();
				driver.findElementByXPath("//android.widget.TextView[@text='播放间隔']").click();
				driver.findElementByXPath("//android.widget.CheckedTextView[@text='30']").click();
				driver.findElementByXPath("//android.widget.TextView[@text='播放间隔']").click();
				driver.findElementByXPath("//android.widget.CheckedTextView[@text='60']").click();
				driver.findElementByXPath("//android.widget.TextView[@text='播放间隔']").click();
				driver.findElementByXPath("//android.widget.CheckedTextView[@text='自定义…']").click();
				driver.findElementByXPath("//android.widget.EditText[@text='3']").sendKeys("3");
				driver.findElementById("android:id/button1").click();
				// 设置--详情--幻灯片
				driver.findElementByXPath("//android.widget.TextView[@text='随机播放']").click();
				driver.findElementByXPath("//android.widget.TextView[@text='逐渐放大效果']").click();
				driver.navigate().back();
				// 设置--详情--添加
				driver.findElementByXPath("//android.widget.TextView[@text='其他云备份']").click();
				driver.findElementByXPath("//android.widget.TextView[@text='添加']").click();
				driver.navigate().back();
				driver.findElementByXPath("//android.widget.TextView[@text='包含视频文件']").click();
				driver.findElementByXPath("//android.widget.TextView[@text='仅通过 WiFi']").click();
				driver.findElementById("android:id/button1").click();
				driver.findElementByXPath("//android.widget.TextView[@text='仅限充电时']").click();
				driver.navigate().back();
				// 设置--详情--常规
				driver.findElementByXPath("//android.widget.TextView[@text='缓存']").click();
				driver.findElementByXPath("//android.widget.TextView[@text='缓存全屏预览图']").click();
				driver.findElementByXPath("//android.widget.TextView[@text='清除全屏预览图']").click();
				driver.findElementById("android:id/button2").click();
				driver.navigate().back();
				// 设置--详情--常规
				driver.findElementByXPath("//android.widget.TextView[@text='安全']").click();
				driver.findElementByXPath("//android.widget.TextView[@text='通过密码访问']").click();
				driver.findElementByXPath("//android.widget.TextView[@text='数字']").click();
				driver.findElementByXPath("//android.widget.TextView[@text='1']").click();
				driver.findElementByXPath("//android.widget.TextView[@text='2']").click();
				driver.findElementByXPath("//android.widget.TextView[@text='3']").click();
				driver.findElementByXPath("//android.widget.TextView[@text='4']").click();
				driver.findElementByXPath("//android.widget.TextView[@text='5']").click();
				driver.findElementByXPath("//android.widget.TextView[@text='✓']").click();
				driver.findElementByXPath("//android.widget.TextView[@text='1']").click();
				driver.findElementByXPath("//android.widget.TextView[@text='2']").click();
				driver.findElementByXPath("//android.widget.TextView[@text='3']").click();
				driver.findElementByXPath("//android.widget.TextView[@text='4']").click();
				driver.findElementByXPath("//android.widget.TextView[@text='5']").click();
				driver.findElementByXPath("//android.widget.TextView[@text='✓']").click();
				driver.findElementById("android:id/button1").click();

	}

	/**
	 * AppiumDriver的初始化逻辑必须写在该函数中
	 * 
	 * @return
	 */
	public AppiumDriver initAppiumTest() {

		AppiumDriver driver = null;
		File classpathRoot = new File(System.getProperty("user.dir"));
		File appDir = new File(classpathRoot, "apk");
		File app = new File(appDir, "PicFolder.apk");

		// 设置自动化相关参数
		DesiredCapabilities capabilities = new DesiredCapabilities();
		capabilities.setCapability("browserName", "");
		capabilities.setCapability("platformName", "Android");
		capabilities.setCapability("deviceName", "Android Emulator");
		capabilities.setCapability("appPackage", "com.alensw.PicFolder");
		capabilities.setCapability("appActivity", "com.alensw.PicFolder.GalleryActivity");
		capabilities.setCapability("noSign", "true");

		// 设置apk路径
		capabilities.setCapability("app", app.getAbsolutePath());

		// 设置使用unicode键盘,支持输入中文和特殊字符
		capabilities.setCapability("unicodeKeyboard", "true");
		// 设置用例执行完成后重置键盘
		capabilities.setCapability("resetKeyboard", "true");
		// 初始化
		try {
			driver = new AppiumDriver(new URL("http://127.0.0.1:4723/wd/hub"), capabilities);
		} catch (MalformedURLException e) {
			// TODO Auto-generated catch block
			e.printStackTrace();
		}
		return driver;
	}

	public void start() {
		try {
			test(initAppiumTest());
		} catch (InterruptedException e) {
			// TODO Auto-generated catch block
			e.printStackTrace();
		}
	}

	public static void main(String[] args) {
		Main main = new Main();
		main.start();
	}

}

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

Larry Chow

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值