appium Ui自动化调起应用点击
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