uiautomator
文章平均质量分 63
测试狂人
就职于某大型国企,世界500强企业
擅长:
1.自动化测试开发
2.测试管理
3.项目管理PMP
展开
-
uiautomator如何实现脱机/脱离USB数据线运行脚本
怎么实现脱机/脱离数据线运行脚本呢?其实,很简单,在运行脚本中在-C前加上一句“--nohup”:原创 2017-11-09 10:39:45 · 4806 阅读 · 14 评论 -
uiautomator模拟短按和长按物理按键
手机测试行业自动化测试中,需要模拟长按操作,但是很多同学只知道长按屏幕界面,但是对于长按物理键(如电源键、音量键、还有其他公司手机自己自定义的键)不知道如何实现,uiautomator中的API介绍都是只讲了短按,百度中的方法都看起来很复杂,需要写个方法和类。非物理按键的有:home键、菜单键、Back键(返回键)一般常用的方法有:getUiDevice().pressHome();...原创 2017-10-25 08:36:42 · 6884 阅读 · 10 评论 -
uiautomator拨号盘输入数字内容/文本输入内容
我们拨号盘要自动输入号码,先要获取拨号盘输入数字的文本框的:UiObject bohaoshuru = new UiObject(new UiSelector().resourceId("com.shengyu:id/first_button"));//拨号输入框bohaoshuru.setText("13838380438");//自动输入号码要是文本,笔记本,计算器,得先获取文本笔记本的键值...原创 2018-04-20 10:38:00 · 2641 阅读 · 0 评论 -
uiautomator中运用adb
在编写自动化测试,经常用到adb,在uiautomator中,我们怎么调用adb呢?例如,我们要调用一个app程序,这首先得需要获取app的报名(如何获取app包名,详情查看我另篇文章)谷歌浏览器app为例(包名:com.android.chrome/com.google.android.apps.chrome.firstrun.FirstRunActivity),我们要打开谷歌浏览器,用adb的...原创 2018-04-20 11:25:52 · 3504 阅读 · 4 评论 -
VoLTE和语音呼通率测试开发--被叫终端(一)
现在我们要测试两台终端的接通率,这里我只写VoLTE视频通话的呼叫,一般使用移动卡,且开通VOLTE业务。视频通话功能!我们基于uiautomatior框架。在uiautomatior中有来电监听API的UIwatchar,不懂得百度;一般在在自动化的时候,监听是为了测试过程会有来电中断测试,所以监听一有来电就挂掉,不让它影响测试;我们这里监听不是为了挂断,是为了接听,思路很简单:当有来电...原创 2018-06-25 20:34:06 · 1273 阅读 · 0 评论 -
VoLTE和语音呼通率测试开发--主叫终端(二)
上篇文章写完被叫,我们这里肯定先写主叫,这里值得注意的是,暂不支持两台终端同时连接(在改进,后面在发出来),我们会通过shell/bat脚本文件去实现运行;VoLTE视频通话呼通率:代码如下:匆匆忙忙写的,格式很乱,被注释的语句请忽略(或者删除),只看中文注释package uiauto;import java.util.Scanner;import util.File...原创 2018-06-26 16:48:32 · 520 阅读 · 0 评论 -
VoLTE和语音呼通率测试开发--执行脚本(三)
编译前面的文章,导出jar,编写执行脚本文件,提供测试人员执行;新建文件夹callRateV2.0.0,把testui.jar包和执行脚本文件全放进去,建议文件夹放D盘根目录下;1).使用说明书:需求:volte 通话次数50 次、通话时长180s、间隔时间30s、呼叫超时时间30s运行前:1.主叫终端设置亮屏(被叫无所谓),且注意终端电量充足;2.两台终端开启log开关(...原创 2018-06-26 17:04:56 · 762 阅读 · 0 评论 -
uiautomator如何设置打印时间戳
简单的两句话,获取pc端系统时间:SimpleDateFormat df = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");System.out.println(df.format(new Date()));原创 2018-07-24 14:59:32 · 403 阅读 · 0 评论 -
Android手机终端长连接心跳检测自动化测试方案
Android心跳检测,为何要心跳检测,什么是心跳检测,这篇文章我给大家讲解下思路,以免跟我一样走过不少的弯路。 android终端心跳检测是跟系统侧进行交互,用作长连接用的,终端隔断时间给系统发包,告诉系统我还在,若是系统没有收到终端的心跳包,就会断掉终端连接,默认该终端已经挂了。说到这里就这都此android终端非公网机,而是有与系统交互的机器。详细相关心跳解析百度下......原创 2018-07-24 15:51:39 · 3045 阅读 · 0 评论 -
Uiautomator基础教学大全
UiAutomator要用到的全部内容API,还有结合实际的现实案例代码,帮助理解和使用,只要看这文档就能写出你要的东西,不用再费劲去百度了。下载地址:https://download.csdn.net/download/bbs11007/10603891...原创 2018-08-14 19:53:41 · 466 阅读 · 0 评论 -
uiautomation下拉状态栏命令
下拉状态栏一般可以使用坐标,但是坐标的缺点是不一定适用其他机型uiautomation提供一个API,如下所示: //下拉状态栏 UiDevice.getInstance().openQuickSettings();那么问题来了,下拉状态栏后,如何左滑、右滑呢?...原创 2019-06-21 11:24:37 · 1302 阅读 · 0 评论 -
uiautomator如何提取控件文字中的数字,将其转换成int类型
一般例如有个控件内容是:“4个联系人”,这些字符串,如何提取出这个“4”,而且还是数字类型的“4”?//获取该控件的文字内容UiObject NumberContact = new UiObject(new UiSelector().resourceId("com.dsy:id/allcontacts"));String number = NumberContact.getT...原创 2019-07-02 14:17:50 · 863 阅读 · 0 评论 -
uiautomation如何判断息屏/锁屏,自动亮屏/解锁
简单一句命令放在最开头if(!device.isScreenOn()){ device.wakeUp(); device.waitForIdle(10000); device.swipe(240, 660, 240, 200, 15); }原创 2019-07-02 14:29:00 · 2345 阅读 · 5 评论 -
uiautomator如何编译运行
写完uiautomator测试用例后,如何进行操作,有种方法可以写main方法,但是这里用最笨的方法一步步来,提供入门者调试专用,以后可以自己写.bat文件一次性操作运行。一、工程目录下生成build.xml文件,android create uitest-project -n testui -t 2 -p D:\PublicPressureTsetCases修改:(1原创 2017-12-07 20:10:28 · 802 阅读 · 0 评论 -
uiautomator如何截图
通过按键长按电源键和音量下键,目前还没有实现,但是uiautomator自带截图api,可以通过api去实现截图;截图api:UiDevice.getInstance().takeScreenshot(new File("/sdcard/jietu.png"));大家这里肯定想到了,要是循环截图保存,命名都是一样的,那每次都覆盖上一张,所以只会有一张截图而已,那我们应该原创 2017-12-07 15:21:13 · 3956 阅读 · 0 评论 -
uiautomator测试判断结果后保存入指定文件夹路径中
我们都知道,在写uiautomator的时候,会写判断和定位问题,每条用例是否通过,不能人工一直守在旁边,要执行完后把结果保存到指定路径中,我们查看结果的时间去该路径查看就知道我们执行的这条用例是否通过,那么我们怎么去保存文件;1.首先我们要自定义一个类和方法,为什么要定义,因为你后续要写很多条用例,不可能每条都要去写一遍,写好单独的公共类,就可以直接调用了。文件方法百度可以直接搜原创 2017-10-25 09:34:41 · 2061 阅读 · 0 评论 -
uiautomator中如何判断开关wifi开启和关闭是否正确
在我们测试压力中肯定有这么些用例,就是让你打开xxx开关,判断开关开启成功,该如何去判断呢!我们就举wifi开关为例,这里不考虑wifi打开后连接wifi然后能上网一系列动作我们暂不考虑,只开了打开和关闭开关这个动作,打开时是否打开成功,关闭时是否关闭成功;第一步,打开开关这个动作我相信每个人都会,但是我们要思考如何并且判断打开开关成功,自动化开发就难倒在如何去判断和定位问题,我们打开开关...原创 2017-10-25 09:50:26 · 3640 阅读 · 0 评论 -
uiautomator录音等操作生成的文件保存到手机指定文件中,然后如何判断是否存在
我们在测试一些项目会自动保存到文件夹中,如:录音、录像、拍照等,都自动保存到指定路径中,我们该如何判断是否已经保存到指定目录中呢?或者说指定目录中是否含有我们要的文件呢?首先考虑一个就是保存到指定文件夹,肯定已知哪个文件夹、文件名称是什么,保存后会自动提示,但是代码如何去做;保存文件路径,那肯定是固定的,这个不用考虑了。我们考虑是:先获取当前文件的文件名,然后根据文件名去指定路径去查找,看原创 2017-10-25 11:37:11 · 1244 阅读 · 2 评论 -
uiautomator中采用longClick()长按界面或按钮
我们都知道有些按钮的东西需要长按才会弹出菜单选项,如删除等原创 2017-10-25 12:40:51 · 3712 阅读 · 4 评论 -
uiautomator中相同控件名该如何获取想要的控件,instance(0)区分布局一样的控件
使用uiautomator测试中肯定遇到一样布局、连控件ID都一样的情况,我们该如何去获取?原创 2017-10-25 10:19:12 · 3471 阅读 · 0 评论 -
uiautomator不能获取动态界面,闹钟怎么获取整个界面的数量
大家在写闹钟用例脚本的时候发现,当前闹钟界面存在多个闹钟,而我们的uiautomator view工具只能识别当前界面的数量值,如,当前只看到五个闹钟,其他的需要滑动去数数看有多少个,在编写代码时,很多小伙伴肯定说,在编写时可以做个滑动操作在判断,要知道我们android的布局list view是只能获取当前界面的,而且滑动操作这个动作,你不知道每次都要滑到那个位置,就不能判断准确获取当前的数值,原创 2017-10-26 10:42:06 · 1848 阅读 · 0 评论 -
uiautomator打包jar后如何给测试员提供可视化界面自行选择执行用例
我们uiautomator写完所有用例,打包好jar包,要提供给测试员或者客户使用,至少要做个简便操作界面框,不可能让测试人员重新敲代码,这里我采用.bat的方法,双击就可以运行,测试员就可以根据提示选择要执行的测试用例,这就需要到shell语言了。效果大概如下(因为公司网络做了限制,不能截图上传,就是cmd类):欢迎使用自动化压力测试用例,脚本由宽带终端测试科自动化团队制作D原创 2017-10-26 11:02:59 · 1200 阅读 · 8 评论 -
uiautomator点击不同对话框按钮--正则表达式
今天告诉大家一种只要有对话框弹出,就点击确定或者取消的方法,不要每一个获取 ID在去点它; 一般我们会用到以下这种方法呢?我遇到几种情况:1.当你在操作这个功能的时候,有可能会弹出提示框时(存在着不确定性),如,有可能报错或者其他提示,我们要跳过提示,因为它不是必然出现的;2.只要弹出提示框我就点确定或者取消,大家会疑问,传统方式界面不是也可以点击吗,当然,但是呢,要是有很多提示呢,而且每个提示框布局都不一样,要一个个写着按界面点击的方法,岂不累死;(即有很多弹出提示框,且必须点击确定或者取消时可原创 2017-11-15 22:59:00 · 1420 阅读 · 0 评论 -
uiautomator如何兼容中英文语言--正则表达式
大家使用uiautomator的时候,是不支持语言兼容的,当你写的脚本的针对的是中文界面,即text对象都是中文,当手机语言切换成英文了,显示就是英文,那脚本还得全部都修改,很麻烦的,那我们该怎么做呢?这里我们采用到正则表达式,正则有或的功能,请看:很多人都写text(“联系人”),这个是中文状态下,要是切换成了英文,脚本就无法识别,所以原创 2017-11-15 22:27:15 · 490 阅读 · 0 评论 -
uiautomator如何添加随机数
java中设置随机数最常见的方式:1.--正则表达式联系人新建,要随机命名,不能重复,不能一个个写,怎么做呢?随机大家的知道用Random。 // a 加上 这个随机参数的书100以内数字,也可以用其他字符 例如:a47 2.设置指定范围的随机数/*设置1~60的随机参数*/int max=60;int min=1;Random random = ...原创 2017-11-15 22:37:58 · 639 阅读 · 0 评论 -
uiautomator中UiScrollable下滑自动找到内容点击
我们操作手机时,要选择那个东西,当前界面没有,就要滑动去找,找到就点击它;例如:要打开设置中的更多内容,更多这个按钮在下方,打开设置界面是看不到的,需要滑动下找,这就用的了我们的UiScrollable的api;第一步:先找到可以滑动的界面(uiautomator view工具可以看到Scrollable属性是true代表可以支持滑动,false代表不支持滑动)第二步:设置最大的扫到次原创 2017-12-08 12:33:01 · 5570 阅读 · 2 评论 -
uiautomation如何由用户自己输入内容(号码)和接收多参数内容
我们使用uiautomation时会涉及到呼叫电话的用例,但是这个号码又想让用户自己输入,那我们jar怎么接收用户自己输入的号码呢?首先我们看看uiautomation如何获取外部参数的 //接收用户输入内容 Bundle phone = getParams(); String phoneNumber=phone.getString("phone");//安装键值提取...原创 2019-07-18 11:28:29 · 1016 阅读 · 0 评论