一、使用IntelliJ IDEA直接創建案例工程
1、打開IntelliJ IDEA,【File】-->【New】-->【Project】
2、選擇【Java Project】-->【Next】
3、點擊【Finish】
4、點擊工程 ,新建兩個文件夾:apps和libs,目錄結構如下:
二、導入測試的類庫
File -> Project Structure -> Modules -> 選中要添加build path的項目 -> Dependencies -> libs點擊右邊的小加號 -> 選擇JARs or directories ->選擇要添加的外部jar包。
1、導入Selenum類庫:http://docs.seleniumhq.org/download/
1) selenium-server-standalone-2.44.0.jar
2、導入Appium類庫:
三、代碼
package com.***.test;
import io.appium.java_client.AppiumDriver;
import org.junit.After;
import org.junit.Before;
import org.junit.Test;
import org.openqa.selenium.By;
import org.openqa.selenium.WebElement;
import org.openqa.selenium.remote.CapabilityType;
import org.openqa.selenium.remote.DesiredCapabilities;
import java.io.File;
import java.net.URL;
import java.util.concurrent.TimeUnit;
public class LoginTest {
private AppiumDriver driver;
@Before
public void setUp() throws Exception {
//設置apk路徑
File classpathRoot = new File(System.getProperty("user.dir"));
File appDir = new File(classpathRoot,"app");
File app = new File(appDir,"***.apk");
//設置自動化相關參數
DesiredCapabilities capabilities = new DesiredCapabilities();
capabilities.setCapability(CapabilityType.BROWSER_NAME,"");
capabilities.setCapability("platformName","Android");
capabilities.setCapability("deviceName","HUAWEI VNS-AL00");
capabilities.setCapability("platformVersion","6.0");
capabilities.setCapability("app",app.getAbsolutePath());
capabilities.setCapability("appPackage","com.***.***");
capabilities.setCapability("appActivity","com.***.***.SplashActivity");
//初始化
driver = new AppiumDriver(new URL("http://localhost:4723/wd/hub"), capabilities);
// AndroidDriver androidDriver = new AndroidDriver(new URL("http://localhost:4723/wd/hub"), capabilities);
}
@Test
public void loginTest() {
String account = "123456789**";
String pwd = "666***";
WebElement elAccount = driver.findElement(By.id("account_edit"));
elAccount.clear();
elAccount.sendKeys(account);
WebElement elPwd = driver.findElement(By.id("password_edit"));
elPwd.clear();
elPwd.sendKeys(pwd);
driver.findElement(By.id("login_button")).click();
//隱式等待
driver.manage().timeouts().implicitlyWait(5, TimeUnit.SECONDS);
}
@After
public void tearDown() throws Exception {
driver.quit();
}
}
參考:https://www.cnblogs.com/houchen/p/13408600.html
https://blog.csdn.net/jlminghui/article/details/41121479
邊運行邊記錄,有問題后續改進~