1. 环境准备

    Eclipse + maven + appium + TestNg

    确保已经在Eclipse 上面安装maven TestNg的插件

    打开Eclipse,新建一个java项目,把项目转换成maven,之后修改Pom 文件

    新建一个java项目

    Appium TestNg  Maven Android  Eclipse java简单启动实例-LMLPHP

    转换成Maven项目

    Appium TestNg  Maven Android  Eclipse java简单启动实例-LMLPHP

    点击finish,完成

    Appium TestNg  Maven Android  Eclipse java简单启动实例-LMLPHP

    修改Pom.xml 文件,添加dependency 依赖

      <dependencies>
    <dependency>
    <groupId>org.testng</groupId>
    <artifactId>testng</artifactId>
    <version>6.1.1</version>
    <scope>test</scope>
    </dependency> <dependency>
    <groupId>org.seleniumhq.selenium</groupId>
    <artifactId>selenium-java</artifactId>
    <version>LATEST</version>
    </dependency> <dependency>
    <groupId>io.appium</groupId>
    <artifactId>java-client</artifactId>
    <version>2.1.0</version>
    </dependency>
    </dependencies> </project>

    之后如图所示,jar包依赖成功

    Appium TestNg  Maven Android  Eclipse java简单启动实例-LMLPHP

    新建一个TestNg的类

    Appium TestNg  Maven Android  Eclipse java简单启动实例-LMLPHP

    在项目下新建一个apps文件夹,用来存放要测试的app

    Appium TestNg  Maven Android  Eclipse java简单启动实例-LMLPHP

    打开appium 把地址设置成本机的ip,端口可以用默认的

    Appium TestNg  Maven Android  Eclipse java简单启动实例-LMLPHP

    之后点击启动看到Debug,说明启动成功了

    Appium TestNg  Maven Android  Eclipse java简单启动实例-LMLPHP

    1. 代码实例

      编写TestNg类,代码如下
    package appiumDemo;
    
    import java.io.File;
    import java.net.MalformedURLException;
    import java.net.URL; import io.appium.java_client.android.AndroidDriver;
    import io.appium.java_client.remote.MobileCapabilityType; import org.openqa.selenium.remote.CapabilityType;
    import org.openqa.selenium.remote.DesiredCapabilities;
    import org.testng.Assert;
    import org.testng.annotations.AfterClass;
    import org.testng.annotations.BeforeClass;
    import org.testng.annotations.Test; public class NewTest { private AndroidDriver driver; //初始化参数,安装apk
    @BeforeClass
    public void setUp() throws Exception { // 设置启动的程序位置和程序的名字,安装的apk文件
    File classpathRoot = new File(System.getProperty("user.dir"));
    File appDir = new File(classpathRoot, "./apps");
    File app = new File(appDir, "填写apk文件名字"); //例如apkName.apk // 设置设备的属性
    DesiredCapabilities capabilities = new DesiredCapabilities(); capabilities.setCapability(CapabilityType.BROWSER_NAME, ""); // 设置平台 Android
    capabilities.setCapability("platformName", "Android"); // 设置设备的名称,真机或者模拟器的, 设备连接电脑,在命令行输入adb devices 查看即可
    capabilities.setCapability("deviceName", ""); // 设置Android系统的版本号,例如 4.3 4.4
    capabilities.setCapability("platformVersion", ""); // 设置apk文件的路径
    capabilities.setCapability("app", app.getAbsolutePath()); // 设置apk的包名
    capabilities.setCapability("appPackage", ""); // 设置main Activity,例如 .mainNmae.activity 记得带上点
    capabilities.setCapability("appActivity",""); //waitActivity ,如果启动成功,没有影响,可以不填写
    capabilities.setCapability("appWaitActivity", ""); // 设置UNicode键盘支持中文输入,会默认的代替内置的键盘
    capabilities.setCapability("unicodeKeyboard", "True");
    capabilities.setCapability("resetKeyboard", "True"); try { // 加载驱动,ip,填写相应的ip和端口 例如 http://172.16.11.120:4720
    driver = new AndroidDriver(new URL("http://ip地址:端口/wd/hub"),
    capabilities); } catch (MalformedURLException e) {
    // TODO Auto-generated catch block
    e.printStackTrace();
    }
    } //启动成功后,会自动的安装apk,这个断言判断apk是否安装成功,修改包名为实际值
    @Test
    public void Test()
    //输出判断结果
    System.out.println("Result:"+driver.isAppInstalled("包名")); //判断是否安装成功
    Assert.assertEquals(driver.isAppInstalled("包名"), true, "安装失败");
    } //测试完成后,退出driver
    @AfterClass
    public void tearDown() throws Exception {
    driver.quit();
    } }
05-08 14:56