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

posted @ 2018-10-03 17:05  peachlf  阅读(1302)  评论(0编辑  收藏  举报