appium-java,連接真機啟動微信(適應於安卓8.0及以上,新版appium)


1.同理設置appium配置,要啟動多少台機器就啟動多少個appium,注意端口號不能重復

 

 

 

 2.

    public DesiredCapabilities getCapabilities(int i,String appName){
        //配置appuim信息
        DesiredCapabilities capabilities = new DesiredCapabilities();  
        switch (i) {
        case 1:
            capabilities.setCapability("platformName", "Android");  //手機操作系統
            capabilities.setCapability("deviceName", "device"); //手機類型
            capabilities.setCapability("udid", "712CKCRXXXX");  //連接手機的唯一標識
            capabilities.setCapability("platformVersion", "7.0");  //操作系統版本
            //H5驅動關鍵,不配置webview會被識別成com.tencent.mm的webview,不是com.tencent.mm:tools的(舊版本需配置新版不需要)
//            ChromeOptions op= new ChromeOptions();
//            op.setExperimentalOption("androidProcess", "com.tencent.mm:tools");
//            capabilities.setCapability(ChromeOptions.CAPABILITY, op);
            break;
        case 2:
            capabilities.setCapability("platformName", "Android");  
            capabilities.setCapability("deviceName","device");
            capabilities.setCapability("udid", "HLRDU20309XXXX");
            capabilities.setCapability("platformVersion", "10");  
            break;
        default:
            break;
        }
        switch (appName) {
		case "微信":
			capabilities.setCapability("appPackage", "com.tencent.mm");  //app包名
	        capabilities.setCapability("appActivity", ".ui.LauncherUI"); //要啟動的Android Activity名
			break;
		default:
			break;
		}
        capabilities.setCapability("skipServerInstallation", true);//是否跳過appiumServer安裝
		capabilities.setCapability("skipDeviceInitialization", true);//是否跳過appiumDevice安裝
        capabilities.setCapability("noReset", true); //不要在會話前重置應用狀態
        capabilities.setCapability("fullReset", false); //Android是否刪除應用,IOS是否刪除整個模擬器目錄
        capabilities.setCapability("unicodeKeyboard", true); //是否啟動Unicode輸入法
        capabilities.setCapability("resetKeyboard", true);  //結束后是否切換回默認輸入法
        return capabilities;  
    }

  3.使用例子

    private AndroidDriver AndroidDriver;
    @Before
    public void setUp() throws Exception {
        
        try {
            AndroidDriver = new AndroidDriver(new URL("http://0.0.0.0:4723/wd/hub"), Start_Driver.get_capabilities(1));
        } catch (MalformedURLException e) {
            // TODO Auto-generated catch block
            e.printStackTrace();
        }  
    }

 


免責聲明!

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



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