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

时间:2025-01-21 21:35:32
  1. 环境准备

    Eclipse + maven + appium + TestNg

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

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

    新建一个java项目

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

    转换成Maven项目

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

    点击finish,完成

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

    修改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简单启动实例

    新建一个TestNg的类

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

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

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

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

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

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

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

    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();
    } }