packagemain.java.com.dbyl.library.utils;importio.appium.java_client.MobileElement;importio.appium.java_client.android.AndroidDriver;importio.appium.java_client.remote.AndroidMobileCapabilityType;importio.appium.java_client.remote.AutomationName;importio.appium.java_client.remote.MobileCapabilityType;importorg.openqa.selenium.remote.CapabilityType;importorg.openqa.selenium.remote.DesiredCapabilities;importorg.testng.Assert;import org.testng.annotations.*;importjava.io.File;importjava.net.URL;/*** Created by wwh on 17/2/20.*/@Listeners(main.java.com.dbyl.library.utils.CustomTestngListener.class)//通过注解调用我们自己实现的类public class TestScreenshot extendsUITest{//继承父类UITestprivate AndroidDriverdriver;
@Testpublic void Demo() throwsException {//set up appium
DesiredCapabilities capabilities = newDesiredCapabilities();
capabilities.setCapability(MobileCapabilityType.AUTOMATION_NAME, AutomationName.APPIUM);//for native app set null, for web test please set chrome or firefox
capabilities.setCapability(CapabilityType.BROWSER_NAME, "");
capabilities.setCapability(MobileCapabilityType.PLATFORM_NAME,"Android");
capabilities.setCapability(MobileCapabilityType.DEVICE_NAME,"Android Emulator");//simulator version 4.4
capabilities.setCapability(MobileCapabilityType.PLATFORM_VERSION, "4.4");//if no need install don't add this
File classpathRoot = new File("/Users/wwh/IdeaProjects");//File classpathRoot = new File(System.getProperty("user.dir"));
File appDir = new File(classpathRoot, "apps");
File app= new File(appDir, "apppiumDemo.apk");
capabilities.setCapability(MobileCapabilityType.APP, app.getAbsolutePath());//package name
capabilities.setCapability(AndroidMobileCapabilityType.APP_PACKAGE, "cn.dbyl.appiumdemo");// //support Chinese
capabilities.setCapability("unicodeKeyboard", "True");
capabilities.setCapability("resetKeyboard", "True");//no need sign
capabilities.setCapability("noSign", "True");//launcher activity
capabilities.setCapability(AndroidMobileCapabilityType.APP_ACTIVITY, ".MainActivity");
String url= "http://localhost:4723/wd/hub";
driver= new AndroidDriver(newURL(url), capabilities);super.init(driver);//在driver赋值后,需要将driver传给父类。
MobileElement text= driver.findElementById("cn.dbyl.appiumdemo:id/text11");//这里将ID值由text1改为text11,所以这一句会报错
Assert.assertEquals(text.getText(),"appiumDemo");
MobileElement button= driver.findElementByClassName("android.widget.Button");
button.click();
text= driver.findElementById("cn.dbyl.appiumdemo:id/text1");
Assert.assertEquals(text.getText(),"You just click the button");
}
@AfterTestpublic voidTeardown(){
driver.quit();
}
}