Appium TestNg Maven Android Eclipse java簡單啓動實例

  1. 環境準備
    Eclipse + maven + appium + TestNg
    確保已經在Eclipse 上面安裝maven TestNg的插件java

    打開Eclipse,新建一個java項目,把項目轉換成maven,以後修改Pom 文件
    新建一個java項目
    這裏寫圖片描述android

    轉換成Maven項目
    這裏寫圖片描述markdown

    點擊finish,完成
    這裏寫圖片描述app

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

    <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的類
    這裏寫圖片描述ui

    在項目下新建一個apps文件夾,用來存放要測試的app
    這裏寫圖片描述spa

    打開appium 把地址設置成本機的ip,端口能夠用默認的
    這裏寫圖片描述.net

    以後點擊啓動看到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();
        }
    
    }
相關文章
相關標籤/搜索