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
appium Ui自动化调起应用点击的更多相关文章
- Appium UI自动化的那些梗
@作者 彭海波 转载请注明出处 前言 由于需求的快速迭代和敏捷测试的要求,在测试过程中引入自动化成为必不可少的手段.作为一个互联网测试团队,我们自然也引入了自动化测试这个环节.在众多的测试框架中,我们 ...
- appium+python自动化26-模拟手势点击坐标(tap)
# 前言: 有时候定位元素的时候,你使出了十八班武艺还是定位不到,怎么办呢?(面试经常会问) 那就拿出绝招:点元素所在位置的坐标 tap用法 1.tap是模拟手指点击,一般页面上元素 的语法有两个参 ...
- appium+python自动化37-adb shell模拟点击事件(input tap)
前言 appium有时候定位一个元素很难定位到,或者说明明定位到这个元素了,却无法点击,这个时候该怎么办呢? 求助大神是没用的,点击不了就是点击不了,appium不是万能的,这个时候应该转换思路,换其 ...
- appium+python自动化26-模拟手势点击坐标(tap)【转载】
# 前言:有时候定位元素的时候,你使出了十八班武艺还是定位不到,怎么办呢?(面试经常会问)那就拿出绝招:点元素所在位置的坐标 tap用法 1.tap是模拟手指点击,一般页面上元素的语法有两个参数,第 ...
- appium+python自动化-adb shell模拟点击事件(input tap)
前言 appium有时候定位一个元素很难定位到,或者说明明定位到这个元素了,却无法点击,这个时候该怎么办呢? 求助大神是没用的,点击不了就是点击不了,appium不是万能的,这个时候应该转换思路,换其 ...
- MAC下搭建appium UI自动化环境
参考资料: http://qa.blog.163.com/blog/static/190147002201510161119832/ http://blog.csdn.net/liuchunming0 ...
- UI自动化实例:遍历点击带有滚动条的列表每一项
需求:验证列表每条资讯里的用户数是否正确.该列表分页请求数据,每页10条,每次滚动到底部自动增量请求10条. 实现自动化必要性: 1 资讯每天不定时更新需经常性验证, 程序更新或者环境切换需验证所有资 ...
- Appium+python自动化
名称 链接地址 Appium+python自动化8-Appium Python API(上) http://mp.weixin.qq.com/s/WvpT5oRrYY22avI95FuypQ Appi ...
- (appium+python)UI自动化_07_app UI自动化实例【叮咚搜索加车为例】
前言 初学UI自动化的小伙伴,在配置好appium+python自动化环境后,往往不知道如何下手实现自动化.小编在初期学习的时候也有这种疑惑,在此以叮咚买菜app-搜索加车为实例,展示下appium是 ...
随机推荐
- 2019-2020-1 20199305《Linux内核原理与分析》第一周作业
进入Linux的世界 1.何为Linux? Linux是一个操作系统. 2.Linux的由来 芬兰赫尔辛基大学的研究生 Linus Torvalds接触Unix时认为其费用不友好,决定自己开发一个操作 ...
- Go语言系列教程
一 Go介绍与开发环境搭建 01-Go语言简介 02-开发环境搭建 03-Go语言集成开发环境之GoLand安装使用 04-Go语言集成开发环境之VS Code安装使用 05-Go包管理详解 二 Go ...
- LINUX CFS 调度tick逻辑,即check_preemt_tick解析
计算当前task在这个tick周期实际用时delta_exetime, 更新当前task的vruntime; 根据权重,重新计算调度period,计算当前task的应得时间片slice(idle_ru ...
- javaScript之基础介绍
前言一:javascript历史背景介绍 布兰登 • 艾奇(Brendan Eich,1961年-),1995年在网景公司,发明的JavaScript. 一开始JavaScript叫做LiveScri ...
- Python - ^在正则表达式中的作用
^在正则表达式中有两个作用,一是表达以什么开头,二是表达对什么取反.有时候经常傻傻的分不清楚,接下来给大家详细介绍该怎么用这个^准备一个python文件test.py,借用re.search函数举例说 ...
- pandas 学习 第7篇:DataFrame - 数据处理(应用、操作索引、重命名、合并)
DataFrame的这些操作和Series很相似,这里简单介绍一下. 一,应用和应用映射 apply()函数对每个轴应用一个函数,applymap()函数对每个元素应用一个函数: DataFrame. ...
- 【linux】linux命令--uptime查看机器存活多久和平均负载 解读平均负载含义
一.uptime命令,查看机器存活时间和平均负载 键入命令: uptime 该结果和 top命令查看结果最上面一行的 是一样的显示. 返回数据介绍: #当前服务器时间: 19:56:44 #当前服务器 ...
- Python中字符的编码与解码
1 文本和字节序列 我们都知道字符串,就是由一些字符组成的序列构成串,那么字符又是什么呢?计算机只能识别二进制的东西,那么计算机又为什么会显示我们的汉字,或者是某个字母呢? 由于最早发明使用计算机是美 ...
- C# rename files
static void RenameFiles() { string sourceDir = @"D:\ll"; string[] allFiles = Directory.Get ...
- ASP.NET Core框架深度学习(四)宿主对象
11.WebHost 第六个对象 到目前为止我们已经知道了由一个服务器和多个中间件构成的管道是如何完整针对请求的监听.接收.处理和最终响应的,接下来来讨论这样的管道是如何被构建出来的.管道是在作为应 ...