安卓手机Appium+RF自动化测试初体验

前提条件:

在进行手机自动化测试之前,一定要搭建好appium环境,具体步骤可回看上一篇APP自动化安装篇:appium环境搭建

一、连接设备

将手机连接好电脑后,一定要打开手机的开发者选项和USB调试

打开电脑的管理员cmd,这里可能和电脑有关系,我试过使用普通cmd运行adb命令会提示:'adb' 不是内部或外部命令,也不是可运行的程序或批处理文件。但其他电脑用普通cmd也能正常使用adb命令。

在管理员cmd中执行命令adb devices,可以查看当前有哪些设备连接了电脑,这里我连接电脑的手机已经识别出来了。如果觉得没把握,可以拔掉手机执行adb devices,这时连接列表一定是空的,然后再插上手机执行adb devices,那么识别出来的设备就一定是你的手机了

如果连接手机后没有识别出来,或者之后要用IP地址的连接方式也可以手动连接。

1、保证手机的IP和电脑的IP要在同一个网段内,简单地说就是手机电脑都用一个WiFi

2、要开启5555端口,执行命令adb tcpip 5555

3、通过手机的IP连接,执行命令adb connect *.*.*.*

执行完以上三步后,再用adb devices查看就能看到以IP连接的设备了。图中由于我已经开过5555端口,所以我这里提示重启5555,如果是第一次开放不会有任何提示

二、准备测试脚本

连接好了手机自然要开始试试是不是可以自动化运行了,但首先我们要写一个最简单的脚本用到最基础的关键词Open Application,先来说说这个关键词的语法

http://localhost:4723/wd/hub:Appium所在路径(由于appium搭建在本机,所以url格式固定不变)

platformName:平台名称,Android或者ios

platformVersion:平台版本,也就是Android的版本号

deviceName:设备名称,即连接的手机(或模拟器)的名称

appPackage:app的包名

appActivity:app的activity名字

unicodeKeyboard、resetKeyboard:两个和键盘相关的参数,如果要使用键盘且要使用中文,两个参数都设为true;如果不用键盘,不要这两个参数也行

前面的几个值中重点讲下deviceName、appPackage、appActivity如何填写

deviceName就是我们用adb devices看到的已连接的设备,可以直接使用47b6f095,也可以使用192.168.137.105:5555,效果是一样的

appPackage、appActivity就需要通过命令获取了,前提条件一定要在手机中打开要测试的应用才能获取

1、如果设备连接表中只有一个设备,执行

>> adb shell

>>  dumpsys activity | grep mFocusedActivity

2、如果设备连接表中像我现在有两个设备,执行

>> adb -s devicesID shell

>>  dumpsys activity | grep mFocusedActivity

获取到的值/前面的是appPackage,/后面的是appActivity,执行exit命令退出shell

三、测试

经过前面的两步,终于可以运行自动化了,但在开始之前还有几点要完成

1、打开Appium软件,并运行

2、手机端安装控制软件,这个不用自己去安装,Appium运行起来后,我们把RF的脚本跑起来,手机会自动要求安装两个软件AppiumSettings、Unlock,直接安装即可

再次运行脚本,APP自动化终于可以跑起来了!!!

四、踩过的坑

在第三步测试阶段遇到两个问题

问题一:每次运行脚本就不停的要求安装AppiumSettings、Unlock导致自动化没法继续

解决办法:

由于我的Appium版本很老是1.4的,找不到网上解决办法中的文件(网上都是基于Appium1.6或以上的),最终通过修改...\Appium\node_modules\appium\lib\devices\android\android.js这个文件,将大概112、113、114、117这四行注释掉(以内容为准),再重启Appium后问题解决,不再要求安装这两个文件

问题二:RF报错:Keyword 'Capture Page Screenshot' could not be run on failure: No application is open

解决办法:

修改...\Appium\node_modules\appium\node_modules\appium-adb\lib\adb.js文件,大概在位置1139行左右(以上下文内容为准),添加代码:outlines.shift()  

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 216,125评论 6 498
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 92,293评论 3 392
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 162,054评论 0 351
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 58,077评论 1 291
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 67,096评论 6 388
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 51,062评论 1 295
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 39,988评论 3 417
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 38,817评论 0 273
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 45,266评论 1 310
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 37,486评论 2 331
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 39,646评论 1 347
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 35,375评论 5 342
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 40,974评论 3 325
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 31,621评论 0 21
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 32,796评论 1 268
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 47,642评论 2 368
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 44,538评论 2 352

推荐阅读更多精彩内容