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

appium Ui自动化调起应用点击的更多相关文章

  1. Appium UI自动化的那些梗

    @作者 彭海波 转载请注明出处 前言 由于需求的快速迭代和敏捷测试的要求,在测试过程中引入自动化成为必不可少的手段.作为一个互联网测试团队,我们自然也引入了自动化测试这个环节.在众多的测试框架中,我们 ...

  2. appium+python自动化26-模拟手势点击坐标(tap)

    ​# 前言: 有时候定位元素的时候,你使出了十八班武艺还是定位不到,怎么办呢?(面试经常会问) 那就拿出绝招:点元素所在位置的坐标 tap用法 1.tap是模拟手指点击,一般页面上元素 的语法有两个参 ...

  3. appium+python自动化37-adb shell模拟点击事件(input tap)

    前言 appium有时候定位一个元素很难定位到,或者说明明定位到这个元素了,却无法点击,这个时候该怎么办呢? 求助大神是没用的,点击不了就是点击不了,appium不是万能的,这个时候应该转换思路,换其 ...

  4. appium+python自动化26-模拟手势点击坐标(tap)【转载】

    ​# 前言:有时候定位元素的时候,你使出了十八班武艺还是定位不到,怎么办呢?(面试经常会问)那就拿出绝招:点元素所在位置的坐标 tap用法 1.tap是模拟手指点击,一般页面上元素的语法有两个参数,第 ...

  5. appium+python自动化-adb shell模拟点击事件(input tap)

    前言 appium有时候定位一个元素很难定位到,或者说明明定位到这个元素了,却无法点击,这个时候该怎么办呢? 求助大神是没用的,点击不了就是点击不了,appium不是万能的,这个时候应该转换思路,换其 ...

  6. MAC下搭建appium UI自动化环境

    参考资料: http://qa.blog.163.com/blog/static/190147002201510161119832/ http://blog.csdn.net/liuchunming0 ...

  7. UI自动化实例:遍历点击带有滚动条的列表每一项

    需求:验证列表每条资讯里的用户数是否正确.该列表分页请求数据,每页10条,每次滚动到底部自动增量请求10条. 实现自动化必要性: 1 资讯每天不定时更新需经常性验证, 程序更新或者环境切换需验证所有资 ...

  8. Appium+python自动化

    名称 链接地址 Appium+python自动化8-Appium Python API(上) http://mp.weixin.qq.com/s/WvpT5oRrYY22avI95FuypQ Appi ...

  9. (appium+python)UI自动化_07_app UI自动化实例【叮咚搜索加车为例】

    前言 初学UI自动化的小伙伴,在配置好appium+python自动化环境后,往往不知道如何下手实现自动化.小编在初期学习的时候也有这种疑惑,在此以叮咚买菜app-搜索加车为实例,展示下appium是 ...

随机推荐

  1. EOJ Monthly 2019.11 E. 数学题(莫比乌斯反演+杜教筛+拉格朗日插值)

    传送门 题意: 统计\(k\)元组个数\((a_1,a_2,\cdots,a_n),1\leq a_i\leq n\)使得\(gcd(a_1,a_2,\cdots,a_k,n)=1\). 定义\(f( ...

  2. PAT甲级|1151 LCA in a Binary Tree 先序中序遍历建树 lca

    给定先序中序遍历的序列,可以确定一颗唯一的树 先序遍历第一个遍历到的是根,中序遍历确定左右子树 查结点a和结点b的最近公共祖先,简单lca思路: 1.如果a和b分别在当前根的左右子树,当前的根就是最近 ...

  3. wbr 标签实现连续英文字符的精准换行你知道吗?

    1.一般情况下的换行: word-break:break-all或者word-wrap:break-word <p>大家<wbr>想要<wbr>实现<wbr& ...

  4. 面向对象程序设计(JAVA) 第12周学习指导及要求

    2019面向对象程序设计(Java)第12周学习指导及要求 (2019.11.15-2019.11.18)   学习目标 (1) 掌握Vetor.Stack.Hashtable三个类的用途及常用API ...

  5. CSRF介绍

    对于常规的Web攻击手段,如XSS.CRSF.SQL注入.(常规的不包括文件上传漏洞.DDoS攻击)等,防范措施相对来说比较容易,对症下药即可,比如XSS的防范需要转义掉输入的尖括号,防止CRSF攻击 ...

  6. python连接MySQL pymysql模块,游标,SQL注入问题,增删改查操作

    pymysql模块 pymysql是用python控制终端对MySQL数据库进行操作的第三方模块 import pymysql # 1.连接数据库 client = pymysql.connect( ...

  7. WPF 精修篇 属性触发器

    原文:WPF 精修篇 属性触发器 属性触发器是通过  某个条件触发改变属性 通过无代码实现功能 <Style TargetType="{x:Type Label}"> ...

  8. Docker学习——Dockerfile

    上一篇我们讲了docker的基本使用,掌握了前一篇,docker使用基本不成问题,但是要是你学习了Dockerfile,你会发现它使用起来有多方便了.项目最终部署时,我们希望docker容器打开时项目 ...

  9. 自己实现LinkedList

    public class MyLinkedList<E> { private Node first; private int size; public int size(){ return ...

  10. python基础(32):进程(二)

    1. multiprocess模块 仔细说来,multiprocess不是一个模块而是python中一个操作.管理进程的包. 之所以叫multi是取自multiple的多功能的意思,在这个包中几乎包含 ...