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

  1. 环境准备
    Eclipse + maven + appium + TestNg
    确保已经在Eclipse 上面安装maven TestNg的插件

    打开Eclipse,新建一个java项目,把项目转换成maven,之后修改Pom 文件
    新建一个java项目
    这里写图片描述

    转换成Maven项目
    这里写图片描述

    点击finish,完成
    这里写图片描述

    修改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包依赖成功
    这里写图片描述

    新建一个TestNg的类
    这里写图片描述

    在项目下新建一个apps文件夹,用来存放要测试的app
    这里写图片描述

    打开appium 把地址设置成本机的ip,端口可以用默认的
    这里写图片描述

    之后点击启动看到Debug,说明启动成功了
    这里写图片描述

    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();
        }
    
    }
    
事在人为,功不唐捐
原文地址:https://www.cnblogs.com/xinleishare/p/4570138.html