使用appium做安卓手機web自動化測試 真機demo


 

一:appium相關環境搭建過程略。

二:連接真機:

  1.手機(andriod 4.2.2)連接電腦,打開USB調試模式。

  2.運行cmd 輸入 adb devices -l 查看UDID,如圖:

  

 3.再在cmd中輸入 appium -a 127.0.0.1 -p4723 -U4d007e9a1b0050d1 (-a表示ip,-p表示端口,-U表示設備的udid 可以通過appium -h查看更多命令)

 4.如果如下圖所示 就表示 appium服務啟動成功了,注意這個窗口不要關閉 因為這是appium的服務 關了就關了服務,后面過程無法執行,而且這個窗口也是 日志輸出的窗口用於排錯。

  

或者如圖,雖是debug,但對后面case的運行不影響。

三:示例代碼:

package appdemo.mkws;

import java.net.URL;
import java.util.concurrent.TimeUnit;

import junit.framework.Assert;

import org.openqa.selenium.By;
import org.openqa.selenium.WebDriver;
import org.openqa.selenium.remote.DesiredCapabilities;
import org.openqa.selenium.remote.RemoteWebDriver;
import org.testng.annotations.AfterMethod;
import org.testng.annotations.BeforeMethod;
import org.testng.annotations.Test;


public class XXXX {
      private WebDriver driver;

        @BeforeMethod
        public void setUp() throws Exception {
        // set up appium
            //File classpathRoot = new File(System.getProperty("user.dir"));
            //File appDir = new File(classpathRoot, "apps/ContactManager");
            //File app = new File(appDir, "contactManager.apk");
            DesiredCapabilities capabilities = new DesiredCapabilities();
            capabilities.setCapability("deviceName","XX");//XX可以是手機的型號
            capabilities.setCapability("browserName","Chrome");
            capabilities.setCapability("platformVersion", "4.2.2");
            capabilities.setCapability("platformName", "Android");
            driver = new RemoteWebDriver(new URL("http://127.0.0.1:4723/wd/hub"), capabilities);
            driver.manage().timeouts().pageLoadTimeout(2, TimeUnit.MINUTES);// 頁面加載的超時時間
            driver.manage().timeouts().implicitlyWait(2, TimeUnit.MINUTES);
        }

        @AfterMethod
        public void tearDown() throws Exception {
        System.out.println("end");
        driver.quit();
        }
        @Test
        public void get(){
            driver.get("url");//輸入要去到的url
            driver.findElement(By.id("ctl00_tkShared_Header_txtHeaderSearchBox")).sendKeys("fan");
            driver.findElement(By.xpath("//a[@class='tk_searchbtn btn btn-default']")).click();
            String a=driver.findElement(By.id("ctl00_MainContentArea_ctl00_ctl00_ctl00_ucSearchControl_MyResults_EntriesList_ctrl0_ctl00_hlnkProductName")).getText();
            Assert.assertEquals("Sandalwood Fan", a);
            
        }
        

  }

 

 

  


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM