appium Ui自動化調起微信並點擊登錄按鈕的java代碼(對的,就這么一丟丟)。
public class testWX { public static void main(String[] args) throws Exception { AndroidDriver driver; //DesiredCapabilities 負責啟動服務端時的參數設置。 DesiredCapabilities cap = new DesiredCapabilities(); cap.setCapability("automationName","Appium"); //想要使用的自動化引擎-這里使用appium做自動化 //cap.setCapability("app", "C:\\software\\jrtt.apk"); //安裝apk //cap.setCapability("browserName", "chrome"); //設置HTML5的自動化,打開谷歌瀏覽器-對app進行自動化測試,此項不填 cap.setCapability("deviceName","vivo X7"); //設備名稱——目前在Android上,此參數不起作用.iOS上此項必填 cap.setCapability("platformName","Android"); //使用的手機操作系統,Android還是iOS cap.setCapability("platformVersion","5.1"); //操作系統版本 //cap.setCapability("udid", "192.168.56.101:5555"); //設備udid——可以使用adb devices查詢 cap.setCapability("appPackage","com.tencent.mm"); //應用包包名 cap.setCapability("appActivity","com.tencent.mm.ui.LauncherUI"); //被測app入口activity名稱 cap.setCapability("unicodeKeyboard",true); //是否支持中文輸入 cap.setCapability("resetKeyboard",true); //重置鍵盤——如果支持中文輸入則這兩條都需要配置 cap.setCapability("noSign","True"); //不重新簽名apk cap.setCapability("newCommandTimeOut","30"); //如果沒有新命令,appium XX秒退出 //各項參數解讀: http://blog.csdn.net/amylibao/article/details/47171809 //https://www.cnblogs.com/wysk/p/7346659.html driver = new AndroidDriver(new URL("http://127.0.0.1:4723/wd/hub"),cap); //把以上配置傳到appium服務端並連接手機 driver.manage().timeouts().implicitlyWait(10, TimeUnit.SECONDS); //隱式等待 Thread.sleep(10000); //休眠10s //點擊微信的登錄按鈕 driver.findElementById("com.tencent.mm:id/d37").click(); //通過id點擊某元素} }
想要得到應用包名可以使用“adb shell dumpsys activity | grep "mFocusedActivity"” 命令獲取,可以得到應用包名稱和當前activity的名稱。不過要注意一下setCapacity的時候appActivity的寫法。
原文:https://blog.csdn.net/dontsi/article/details/79626748