appium+java+Mac自动化测试【eclipse脚本编写】

1.Eclipse安装

 百度一下“eclipse下载”,然后选择第一个点进去,如下图

然后

 然后傻瓜式安装。
安装好后就可以打开了。

2.创建工程,文件。略,网上一大堆。

2.5集成maven、testing插件,百度一下,花费十多分钟就可以,主要是下载需要时间,确认集成成功了,不要慌。

3.写脚本

在工程里面新建一个lib 文件夹,然后去这里下载需要的jar包
http://download.csdn.net/download/zhouchuandake/10193801
下载后放到lib文件夹里面,然后右键一个个加入工程,不会的百度一下,怎么添加jar包。
然后新建一个app目录,里面放要测试的安装包.apk,我这里放的是花生地铁Wi-Fi的安装包,可以去豌豆荚历史版本中下一个放进来,版本4.*的就可以。
目录大概这样:

然后新建一个类,开始写脚本
package nfyg.testapp;

import java.io.File;
import java.io.IOException;
import java.net.URL;
import java.util.concurrent.TimeUnit;

import org.openqa.selenium.remote.CapabilityType;
import org.openqa.selenium.remote.DesiredCapabilities;
import org.testng.Assert;
import org.testng.annotations.Test;

import io.appium.java_client.AppiumDriver;
import io.appium.java_client.android.AndroidDriver;
import nfyg.testapp.utils.UtilGesture;
import nfyg.testapp.utils.UtilOnClick;

@Test
public class StartApp<IChimpDevice> {

	public static AppiumDriver driver;

	public static AppiumDriver getDriver() {
		return driver;
	}

	public static void setDriver(AppiumDriver driver) {
		StartApp.driver = driver;
	}

	private boolean isInstall = false;//可以删除

	public void startDriver() throws Exception {

		// set up appium设置apk路径
		File classpathRoot = new File(System.getProperty("user.dir"));
		File appDir = new File(classpathRoot, "app");
		File app = new File(appDir, "app-release.apk");//与app文件夹里的文件名字要一致
		System.out.println(app.getAbsolutePath());// 获取绝对路径
		// 启动appium
		DesiredCapabilities capabilities = new DesiredCapabilities();
		// 设置apk 的路径
		capabilities.setCapability("app", app.getAbsolutePath());
		// no need sign 安装时不对apk进行重签名,设置很有必要,否则有的apk在重签名之后无法正常使用
		capabilities.setCapability("noSign", "True");
		capabilities.setCapability("deviceName", "9da9a9347d23");//手机设备号
		capabilities.setCapability("automationName", "Appium");
		capabilities.setCapability("platformName", "Android");
		capabilities.setCapability("platformVersion", "6.0.1");// 手机系统版本
		capabilities.setCapability("appPackage", "com.nfyg.hsbb");//要测试的app包名
		capabilities.setCapability("appActivity", ".views.main.CoverActivity");//app的启动类
		capabilities.setCapability("sessionOverride", true); // 每次启动时覆盖session,否则第二次后运行会报错不能新建session
		capabilities.setCapability("unicodeKeyboard", true); // 设置键盘support Chinese支持中文输入
		capabilities.setCapability("resetKeyboard", true); // false设置默认键盘为appium的键盘,true为系统键盘
		capabilities.setCapability(CapabilityType.BROWSER_NAME, ""); // 指定浏览器的名字,我们测试的是APK所以没有浏览器,故而为空;

		// //指定需要测试的APK,也就是需要安装的APK文件;
		driver = new AndroidDriver(new URL("http://127.0.0.1:4723/wd/hub"), capabilities);
		driver.manage().timeouts().implicitlyWait(10, TimeUnit.SECONDS);

		//到这里就已经把app启动起来了,下面的是操作动作,滑动与点击

		// UtilGesture.swipeToLeft(driver, 1000, 5);//滑动
		// UtilGesture.swipeToRight(driver, 1000, 4);
		// UtilGesture.swipeToDown(driver, 1000, 2);
		// UtilGesture.swipeToUp(driver, 1000, 3);
		// UtilGesture.swipeToLeft(driver, 1000, 5);
		// UtilGesture.swipeToDown(driver, 1000, 2);
		// UtilGesture.swipeToUp(driver, 1000, 3);

		Assert.assertEquals(2, 2, "Not equals: ");//断言举例,先不管
		// UtilOnClick.onClick("com.nfyg.hsbb:id/click_view", driver);//点击动作,先不管

	}

	

	/**
	 * 录视频,这里可以先不管
	 */
	public void startRecord() throws IOException {
		// Runtime rt = Runtime.getRuntime();
		// // this code for record the screen of your device
		// rt.exec("cmd.exe /C adb shell screenrecord --time-limit 3 --size 1280*720
		// /storage/runCase.mp4");
	}

}
代码拷贝进来后,确认没有错误

4.然后用数据线连接Android手机到Mac

打开终端,输入adb devices回车,就会看到刚刚USB连接的手机的设备号,如果没有出来,那就确认下有没有打开设备的开发者模式、有没有允许手机的USB安装权限、USB调试权限。
获取设备号后,替换代码里面的手机设备号。
5.然后选中类,右键选择testing运行
然后就跑起来了。app会自动安装在手机并启动。













發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章