package com.appium.test;
import io.appium.java_client.android.AndroidDriver;
import java.io.File;
import java.net.MalformedURLException;
import java.net.URL;
import java.util.concurrent.TimeUnit;
import org.openqa.selenium.By;
import org.openqa.selenium.WebElement;
import org.openqa.selenium.remote.CapabilityType;
import org.openqa.selenium.remote.DesiredCapabilities;
import org.testng.annotations.Test;
import org.testng.annotations.BeforeMethod;
import org.testng.annotations.AfterMethod;
public class AppiumTest {
private AndroidDriver driver;
DesiredCapabilities capabilities = new DesiredCapabilities();
@Test
public void loginApp() {
//等待
driver.manage().timeouts().implicitlyWait(20, TimeUnit.SECONDS);
//获得用户名密码输入框
WebElement accountEle = driver.findElement(By.id("com.auto51.checker:id/et_account"));
accountEle.sendKeys("wenbin.li");
WebElement passwordEle = driver.findElement(By.id("com.auto51.checker:id/et_password"));
passwordEle.sendKeys("123456");
driver.manage().timeouts().implicitlyWait(20, TimeUnit.SECONDS);
//获取检测师app登录按钮元素
WebElement loginButton = driver.findElement(By.id("com.auto51.checker:id/btn_login"));
loginButton.click();
driver.manage().timeouts().implicitlyWait(20, TimeUnit.SECONDS);
System.out.println("test1................................");
}
@BeforeMethod
public void beforeMethod() {
try {
//set up appium
File classpathRoot = new File(System.getProperty("user.dir"));//获取跟路径
File appDir = new File(classpathRoot, "apps");
File app = new File(appDir, "checker_2.3.8.apk");//所测app存放的位置
capabilities.setCapability(CapabilityType.BROWSER_NAME, "");
capabilities.setCapability("platformName", "Android");
capabilities.setCapability("deviceName", "a4572f75");//设备号,通过adb命令获得
capabilities.setCapability("app", app.getAbsolutePath());
capabilities.setCapability("appPackage", "com.auto51.checker");//所测app的包名
//支持中文
capabilities.setCapability("unicodeKeyboard", "True");
capabilities.setCapability("resetKeyboard", "True");
//no need sign
capabilities.setCapability("noSign", "True");
capabilities.setCapability("appActivity", ".ASplashActivity");//主activity,通过appium的客户端可以查看
driver = new AndroidDriver(new URL("http://127.0.0.1:4723/wd/hub"), capabilities);
} catch (MalformedURLException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
System.out.println("set up.................................");
}
@AfterMethod
public void afterMethod() {
driver.close();
}
}