AppiumAPPUI自动化测试简介与环境搭建

AppiumAPPUI自动化测试简介与环境搭建

2023年6月28日发(作者:)

AppiumAPPUI⾃动化测试简介与环境搭建⼀、 app⾃动化测试背景移动终端越来越多,⼿机应⽤也越来越多App回归测试⽤例越来越多,但全量回归很消耗时间移动端碎⽚化严重,尤其是Android端(兼容性就是碎⽚化的体现,有很多⼚商、机型、版本)机型多,⾃动化测试可减少兼容性测试⼯作为了减少这种重复的、⼤量回归的测试任务,我们迫切需要引进⼀些⾃动化测试来协助⼆、 appium⾃动化测试简介1. 概念appium是⼀个开源的、免费的,适⽤于以下⾃动化测试框架:1)原⽣:native,完全⽤安卓⾃带的⼀些原⽣组件去开发的,流畅性⾼2)混合移动应⽤:hybrid,在原⽣中嵌⼊了⼀些h5页⾯,类似⼿机中的web页⾯⼀样。appium应⽤webdriver:JSON wire protocol驱动安卓和IOS移动应⽤扩展:1)H5:相当于⼿机中的web页⾯2)为什么要嵌⼊H5:因为最早的Android开发机制是开发⼀个界⾯以后需要打成⼀个APP,上传到各⼤应⽤市场,⽤户才能够下载应⽤,这种⽅式需要各⼤应⽤市场的审核时间,是⽐较耗时的,可能导致应⽤失去时效性。H5页⾯就像web页⾯,只需要后台启动就能⽣效3)能否将所有的页⾯都做成H5?不可以,因为H5的性能⽐较差,体验性会差⼀点2. appium特点⽀持多平台:Android、IOS等(⼀套代码不能同时跑安卓和苹果,因为安卓和苹果的⼀些控件定位和操作是不⼀样的,但可以使⽤同⼀套框架)⽀持多语⾔(Python、Java、Ruby、JS、C#等)跨平台,可以在MAC/Windows以及Linux桌⾯系统上运⾏对于安卓:可以在MAC、Windows、Linux上搭建⾃动化测试框架对于IOS:只能在MAC上搭建(因为要使⽤底层的⼀些⼯具)Appium选择了client/server的设计模式,只要client能够发送HTTP请求给server,那么client使⽤什么语⾔来实现都可以(即⽀持多语⾔)Appium扩展了webdriver的协议,以前的webdriver API能够直接被继承过来,以前的selenium(webdriver)各种语⾔的binding都可以拿来直接使⽤,省去了为每种语⾔开发⼀个client的⼯作量。3. Appium底层⼯作原理通过写代码在客户端(client)发起⼀个请求,请求就会到appium server端,appium server就会打⼀个包,并将其打到⼿机⾥⾯,通过bootstrip去转发、分析指令,然后去调⽤uiautomator底层的⼀些框架,然后把要调⽤的⼀些控件的ID、属性、⽅法等传进去,uiautomator⾃⾝就有⼀些实现⾃动化的动作,从⽽去操作整个APP在appium中过程如下:4. Appium的哲学开源免费不需要重新编译或者修改应⽤(不需要对apk源码进⾏修改,可直接进⾏⾃动化测试)不被⼀种语⾔或者框架约束不重复造轮⼦5. 市⾯上常见的⾃动化测试框架Monkeyrunner:使⽤Python实现,更多实现的是对坐标的点击,维护性差Monkeytalk:基于控件定位,只⽀持js代码(需要往APP⾥插⼊⼀些代理,可能会使APP出问题)Robotium:基于控件定位,只⽀持Java语⾔,也⽀持混合移动应⽤(需要重签名)三、 appium⾃动化测试环境搭建1. Python安装之前已经安装过,此处直接进⾏第⼆步2. JDK环境变量配置2) 环境变量配置安装完成后我的电脑系统变量新建⽤户变量,变量名:JAVA_HOME ,变量值:C:Program FilesJavajdk1.8.0_261 (java的安装路径)。并在系统变量path中加⼊%JAVA_HOME%bin3) 验证JDK环境是否OK按windows+R,输⼊cmd,输⼊java –version,验证如下图即OK3. SDK环境变量配置4. 下载nodejs 并配置环境变量下载之后默认安装即可(也可⾃定义安装路径)2) 环境配置将node安装路径D:Program Filesnodejs(具体根据你安装的路径决定)添加到环境变量Path中3) 验证nodejs环境是否OKcmd中输⼊node –v或npm –v,如下图:5. 下载安装appium1) 下载地址: 有对应的downloads地址2) 安装,直接双击安装包进⾏安装3) 安装完成后打开appium,界⾯如下:进⼊之后appium如下图显⽰,说明处于监听状态注意:win7的同志们可能会遇到安装好后死活也打不开appium的问题(我就遇到了),这可能是因为兼容性问题,可找到,然后右击选择属性,在兼容模式下选择Windows7(亲测有效),然后就可以打开了6. 安装其他依赖库在cmd下输⼊如下命令:pip install seleniumpip install Appium-Python-Client7. 安装模拟器对于逍遥模拟器,安装之后,在cmd⾥⾯输⼊adb devices,如果有设备,即说明环境OK,如下图⼿机没有连接上的⼏种可能性:1. USB调试没有打开2. 对于模拟器来说,关闭后重新使⽤管理员权限打开可能就OK了3. 对于真机,如果提⽰设备offline,可能是⼿机没有授权(拔掉数据线重新插上,在弹出的授权页⾯选择确定)4. 对于真机,如果插上没有任何反应,说明真机驱动没有安装(⼿机和电脑连接需要⼀个驱动)。驱动安装——下载91助⼿,会⾃动安装驱动。注意:如果出现adb的版本不匹配,可以将F:sdkplatform-tools⽬录下的三个⽂件复制到(覆盖)D:ProgramFilesMicrovirtMEmu(逍遥模拟器)中8. 验证环境是否OK1) 打开模拟器,在模拟器上安装最右app2) 打开appium3) 打开pycharm,运⾏以下代码from appium import webdriverdesired_caps = {}desired_caps['platformName'] = 'android'desired_caps['platformVersion'] = '5.1'desired_caps['deviceName'] = 'Android Emulator'desired_caps['appPackage'] = ''desired_caps['appActivity'] = '.Activity'driver = ('localhost:4723/wd/hub',desired_caps)itly_wait(40)_element_by_id(':id/iconTabItem')[1].click()如果最右APP被启动,且appium有打印输出则说明环境OK

发布者:admin,转转请注明出处:http://www.yc00.com/xiaochengxu/1687931260a58294.html

相关推荐

发表回复

评论列表(0条)

  • 暂无评论

联系我们

400-800-8888

在线咨询: QQ交谈

邮件:admin@example.com

工作时间:周一至周五,9:30-18:30,节假日休息

关注微信