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會自動安裝在手機並啓動。













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