专栏电商日志财经减肥爱情
投稿投诉
爱情常识
搭配分娩
减肥两性
孕期塑形
财经教案
论文美文
日志体育
养生学堂
电商科学
头戴业界
专栏星座
用品音乐

基于Docker构建Appium容器Genymotion完成

  Python自动化,大概也许或者是今年最具热度的话题之一了。七月流火,招聘市场上对于Python自动化的追捧热度仍未消减,那么Python自动化到底能帮我们做些什么呢?
  第一,Python自动化可以避免熟练工种的重复工作,对于功能相对完整和成熟的软件,每发布一个新的版本,无论是大版本还是小版本,其中大部分功能和界面都几乎和上一个版本相似或完全相同,但所谓向上兼容,你不能因为新功能的产生而不对老版本功能进行测试工作,而这些老功能又在上一个版本上线时测过,所以这部分功能特别适合于自动化测试,从而可以让测试达到测试每个特征的目的。
  第二,Python自动化可以帮助我们提高测试效率:比如一个项目要的开发周期只有短短的几个月,而在测试期间是每周都要发布一个版本供测试人员测试,一个系统的功能点有几千个上万个,人工测试是非常的耗时和繁琐,这样必然会使测试效率低下,而自动化流程恰恰帮我们提高了测试效率。
  那么对于移动App测试领域,如果一个新的应用发布版本,QA人员面临的挑战就是如何应对市场上数以千计的机型兼容性测试,毫无疑问,这是一个非常浩大的工程,更别提有些工程机在市面上根本就采购不到,比如谷歌的Nexus和Pixel系列手机,所以本次我们就在Win10系统下尝试利用Genymotion模拟器配合Docker构建Appium容器,实现短时间内上千款机型的自动化测试工作。
  首先关于Android模拟器为什么选择Genymotion,诚然,国内也有蓝神等模拟器可供选择,但是Genymotion作为Android模拟器领域的执牛耳者,其启动及运行速度非常快,不仅支持多个Android版本,还可以多个Android系统同时启动运行,这就为我们并行测试脚本提供了便利,当然了,Genymotion也有自身的缺点,就是客户端版本为内核x86架构暂不支持arm框架的应用,但是云端服务已经支持了arm架构,这无疑在模拟器领域是一个重大利好。
  进入Genymotion注册页面:https:wwwv1。genymotion。comaccountcreate
  注册成功后,注意邮箱需要激活一下,随后进入下载页面:https:www。genymotion。comdownload
  这里Win10系统会有两个版本,因为Genymotion内核是基于VirtualBox虚拟机,所以如果未安装VirtualBox,则选择withVirtualbox,否则可以选择withoutVirtualbox,直接选择Genymotion本体即可。
  安装成功后,用刚刚注册的账号进行登录,随后选择personaluse(个人版):
  随后选择需要测试的机型创建即可:
  创建好对应手机的虚拟机,还需要进行一些设置,才能保证虚拟机正常运行。
  将Virtualbox设置常规选项中的版本重新选择OhterLinux64位
  同时将网络选项的混杂模式选择:允许虚拟电脑,这个稍后链接虚拟机的时候会用到:
  最后,为了安全起见,最好将宿主机的hyperv功能关闭,管理员权限打开终端,执行命令bcdeditsethypervisorlaunchtypeoff
  重启电脑后,启动手机模拟器,出现Android界面则表示配置成功:
  接着我们来配置AndroidADB,AndroidADB又是什么?ADB全称是AndroidDebugBridge,是开发或使用Android时很常用到的工具。可以从电脑透过USB连线到Android手机上,利用指令列来控制你的手机。
  这里我们主要是通过ADB命令来获取虚拟机的终端ip,直接下载压缩包文件:https:dl。google。comandroidrepositoryplatformtoolslatestwindows。zip
  将其解压到C盘根目录,C:platformtoolsr31。0。2windowsplatformtools
  然后将该目录配置全局环境变量,使其可以在终端内直接访问:C:UsersliuyueadbversionAndroidDebugBridgeversion1。0。41Version31。0。27242960InstalledasC:platformtoolsr31。0。2windowsplatformtoolsadb。exe
  现在执行设备列表命令:C:UsersliuyueadbdevicesListofdevicesattached192。168。42。103:5555device
  可以看到,刚刚我们启动的虚拟机已经出现在设备列表中了,直接通过connect命令就可以进行连接,和真机几乎没有任何差别:C:UsersliuyueadbdevicesListofdevicesattached192。168。42。103:5555deviceC:Usersliuyueadbconnect192。168。42。103:5555alreadyconnectedto192。168。42。103:5555C:Usersliuyue
  下面轮到Docker出场了,Docker的任务主要是利用容器运行Appuim自动化脚本,这样就避免了繁缛的Appuim安装配置环节,当然了,您的电脑得提前装好Docker,如果没有,请移步:win10系统下把玩折腾DockerToolBox以及更换国内镜像源(各种神坑)
  随后下载Appium基础镜像,Dockerhub上的镜像鱼龙混杂,这里还是推荐官方的版本:https:hub。docker。comrappiumappium
  执行命令:dockerpullappiumappium
  查看镜像:liuyueDESKTOPNVU6CCVMINGW32dockerimagesREPOSITORYTAGIMAGEIDCREATEDSIZEappiumappiumlatest70f3d328b9496weeksago1。55GB
  紧接着启动容器:dockerrunprivilegeddp4723:4723nameappiumappiumappium
  这里我们启动Appium容器,端口映射到4723,privileged参数让其具备root权限,d后台执行。
  随后查看容器运行状态:liuyueDESKTOPNVU6CCVMINGW32dockerrunprivilegeddp4723:4723nameappiumappiumappiuma2e8f11fdf7c561b075b563dfcc1efb6e5381e78dc3d4435a89cf8f97be52f6dliuyueDESKTOPNVU6CCVMINGW32dockerpsCONTAINERIDIMAGECOMMANDCREATEDSTATUSPORTSNAMESa2e8f11fdf7cappiumappiumbinshcrootw7minutesagoUp19seconds4567tcp,0。0。0。0:47234723tcpappium
  此时,我们就可以利用docker容器内的adb服务进行操作了:dockerexecitappiumadbconnect192。168。42。103:5555
  可以看到,docker连接手机配对成功:liuyueDESKTOPNVU6CCVMINGW32dockerexecitappiumadbconnect192。168。42。103:5555connectedto192。168。42。103:5555
  常用的adb命令都可以进行操作,例如查看手机Android版本:liuyueDESKTOPNVU6CCVMINGW32dockerexecitappiumadbshellgetpropro。build。version。release5。0
  下面我们来编写一套简单的Appium自动化测试脚本,首先安装Appium库:pipinstallAppiumPythonClient
  编写appiumtest。py:fromappiumimportwebdrivercap{platformName:Android,platformVersion:5,deviceName:192。168。42。103:5555,udid:192。168。42。103:5555,真机的platformName:Android,platformVersion:7。1。2,deviceName:10d4e4387d74,noReset:True,unicodeKeyboard:True,resetkeyboard:True}driverwebdriver。Remote(https:192。168。99。100:4723wdhub,cap)安装APPdriver。installapp(apppathC:test。apk,replaceFalse,不允许覆盖timeout10000,超时时间为10秒allowTestPackagesTrue,允许测试包useSdcardFalse,不要安装在SdcardgrantPermissionsFalse)授予权限driver。quit()
  这里的192。168。42。103:5555是Genymotion模拟的手机客户端地址,而https:192。168。99。100:4723wdhub则是基于Docker的Appium容器,这里我们为手机安装一款测试的app。
  安装操作脚本执行以后,可以判断是否安装成功:fromappiumimportwebdrivercap{platformName:Android,platformVersion:5,deviceName:192。168。42。103:5555,udid:192。168。42。103:5555,真机的platformName:Android,platformVersion:7。1。2,deviceName:10d4e4387d74,noReset:True,unicodeKeyboard:True,resetkeyboard:True}driverwebdriver。Remote(https:192。168。99。100:4723wdhub,cap)判断APP是否安装,传递的参数为包名resdriver。isappinstalled(com。tencent。android。qqdownloader)print(res)driver。quit()
  也可以利用脚本启动一些app,比如内置的计算器应用:fromappiumimportwebdriverfromtimeimportsleepcap{platformName:Android,platformVersion:5,deviceName:192。168。42。103:5555,udid:192。168。42。103:5555,真机的platformName:Android,platformVersion:7。1。2,deviceName:10d4e4387d74,appPackage:com。android。calculator2,appActivity:com。android。calculator2。Calculato,noReset:True,unicodeKeyboard:True,resetkeyboard:True}driverwebdriver。Remote(https:192。168。99。100:4723wdhub,cap)等待3秒sleep(3)将APP置于后台运行5秒钟,然后再切回前台driver。backgroundapp(5)关闭APPdriver。closeapp()sleep(3)重新启动APPdriver。launchapp()sleep(3)driver。quit()
  这里计算器的包名和activity信息都配置在cap变量中。
  杀死应用进程:fromappiumimportwebdrivercap{platformName:Android,platformVersion:5,deviceName:192。168。42。103:5555,udid:192。168。42。103:5555,真机的platformName:Android,platformVersion:7。1。2,deviceName:10d4e4387d74,appPackage:com。android。calculator2,appActivity:com。android。calculator2。Calculato,noReset:True,unicodeKeyboard:True,resetkeyboard:True}driverwebdriver。Remote(https:192。168。99。100:4723wdhub,cap)等待3秒sleep(3)如果应用程序没有运行或正在后台运行,则激活该应用程序driver。activateapp(com。android。calculator2)sleep(3)终止应用程序driver。terminateapp(com。android。calculator2)sleep(3)driver。quit()
  几乎所有的移动端应用操作都可以编写Python脚本进行自动化测试,我们可以将Appium理解为移动端的Selenium,使用起来非常方便。
  结语:莎士比亚说过,一千个观众眼中有一千个哈姆雷特。而在千万个Genymotion模拟器中,移动App也可以是千万种样子,通过编写Appium自动化脚本就可以将测试人员将这千万种的重复测试劳动中解放出来,何乐而不为呢?

519元换全新iphone12之神奇之旅本内容来源于什么值得买APP,观点仅代表作者本人作者头发卷卷卷卷2023年2月25日,今天天气非常晴朗,一大早出去吃早餐,就差一步距离就要被树上不文明的鸟兄一坨屎击中,预示着今天注为什么有人天生就是离子烫?拉都拉不直那种俗话说渣男离子烫,渣女大波浪,在脱发危机普遍蔓延的今天,似乎淡黄的长裙蓬松的头发更容易掩饰发量图片但有些人不用纠结烫发前的价格及烫发后的效果,因为他们天生就是半永久烫发。此前一段关T台秀和章子怡刘雨昕逛了DIOR花园,奢华不是时尚的全部在DIOR秀场看美神降临!本季DIOR真汇聚了全球女神!中国区派出了章子怡和刘雨昕。章子怡身穿品牌2023早春度假系列,白衬衫配搭黑色镂空皮裙,简简单单就秒杀四方。刘雨昕一身黑白结刘诗诗米兰看秀,不断撞衫韩国爱豆,疑似被区别对待?2023年03月01日星期三卢璐的小日子,只记录幸福!要说最近热度最高的词,一定有米兰,时隔三年,内娱明星军团是憋足了劲,誓要在时装周上大展风采。米兰时装周为什么如此吸引人?抛开高全球风尚实录GaliaLahav高级定制婚纱意大利意大利GaliaLahav风尚关键词高级定制婚纱意大利意大利GaliaLahav风尚关键词高级定制婚纱意大利意大利GaliaLahav风尚关键词高级定制婚纱意大利意大利GaliaL如何丰胸?1。加强锻炼可以通过做胸大肌锻炼,比如做俯卧撑仰卧起坐等,可以增强胸部肌肉,让胸部变得更有型。2。合理饮食饮食对胸部的形状有很大的影响,可以选择多吃一些富含维生素E和铁的食物,比如真正的时髦精们早就不穿卫衣了,选这几款上衣,简约优雅又有气质卫衣是很多人春季的第一选择,来到春天就会换上宽松舒适的卫衣,不过卫衣虽然舒适,论时髦度却不敌那些轻便又好看的外套。那些走在时尚前沿真正的时髦精们早就不穿卫衣了,这次我们就来看看她们加密游戏平台豐贏城于3月9日开始FWC币预售加密娱乐世界迎来了新王者,他们为游戏玩家提供了一个独特的机会,让他们即可获得奖励也能同时享受公平透明的游戏体验。近期,备受瞩目的娱乐平台豐贏城已宣布为其代币FWC启动预售,并为其持沙盒冒险游戏Tchia发售日预告片!奇亚Epic独占预购开启高自由度沙盒游戏奇亚最近公开了新预告片,官方宣布将于2023年3月21日发售,登陆PS和PCEpic平台。游戏中玩家前往热带风情的开放世界冒险,在物理引擎驱动的沙盒世界中通过攀爬滑索尼FloatRun正式发布定位运动耳机,采用非入耳开放设计记者王公逸2月28日,索尼(中国)发布了三款耳机新品,分别为非入耳开放式运动耳机FloatRun索尼史上最轻的头戴式无线降噪耳机WHCH720N以及主打多彩莫兰迪配色的WHCH52x86注意了多家中国公司合作全球首款量产型64核RISCV处理器来了在CPU架构中,x86占据了高性能计算市场,ARM占据了移动平台,RISCV虽然被视为第三大CPU阵营,但在高性能计算上还有很长的路要走,日前的2022年度中国开放指令生态(RIS
3年来第一次旅行有人请假10天说走就走,有人为旅行购无人机2022年12月,国务院联防联控机制发布关于进一步优化落实新冠肺炎疫情防控措施的通知(又称新十条),明确了居家隔离核酸检测等最新政策,多地纷纷取消查验健康码与核酸检测凭证措施,这释文明旅游景区拍照讲礼仪九江新闻网讯(九江日报全媒记者刘家摄)春节将近,城区的各个景区景点逐渐热闹起来,家庭式游客成出游主力军。礼仪无处不在,文明无时不有。在琵琶亭景点,白居易雕像前是游客们争相拍照留念的Go兔珠海古韵新春,珠海哪里过年最有年味?春节是中国人最盛大的传统节日,今年,丰富的非遗展示和民间习俗,烘托出了珠海浓浓的年味。为了让市民和游客在珠海度过一个丰富多彩吉庆安康的春节,南方推出Go兔珠海系列活动预告,今天推出岁末大寒至,年味渐浓时丨天蒙景区花式玩法迎新春!邀您一起过大年!大寒,是二十四节气中的最后一个节气大寒同小寒一样也是表示天气寒冷程度的节气虽是寒天腊月,亦有年节热烈大寒与除夕相交天蒙处处都设有兔年限定的喜庆装扮带有浓厚的年味气息营造欢乐祥和的节中国普法网红达人视频竟成AI换脸APP模板,运营公司被告上法庭,法院判了网红达人视频竟成AI换脸APP模板,运营公司被告上法庭,法院判了近日,上海市金山区人民法院审结了一起因AI换脸APP违法使用他人视频引发的肖像权纠纷案件。小芝是一名网红达人,经常在iOS15。7。3RC版发布正式版下周见!今天凌晨,苹果向iPhone用户推送了iOS16。3RC候选版更新,带来了全新壁纸启用高级数据保护功能以及修复了大量的Bug等。对于无法升级到iOS16系统的老设备,苹果今天还推送广汽埃安成了华南小霸王由于原材料涨价潮导致的成本问题,以及芯片问题的延续,让许多车企在3月没有拿到理想的环比成绩,不过也有不少车企表现超越预期,BYD不用多说,销量冲上10万,更成为许多财经博主眼中的新拉索团队首席科学家曹臻40年追寻纯粹知识也许是因为它很漂亮不知道是不是因为日常工作总是面对遥远而辽阔的宇宙,拉索团队首席科学家曹臻的时间概念似乎和普通人不太一样。过去的十几年,选址反复考量自然和社会环境条件,他带领团队在甘孜州稻城建成十二自动驾驶出租车来了!无人驾驶正在成为现实!采编李慧文何静怡编辑吴政希图由受访者提供科幻片中超炫的无人驾驶汽车是否让你记忆犹新?随着自动驾驶技术的发展成熟,电影中的黑科技距离我们现实生活越来越近。在双碳目标下,不少车企纷纷涌基因工程抗体的概念和应用基因工程抗体是指利用基因工程技术将抗体基因重组和克隆到表达载体中,并在合适的宿主中表达和折叠成功能性抗体分子。基因工程抗体具有分子小免疫原性低可塑性强成本低等优点。该技术的基本原理继特斯拉降价之后,小鹏也跟进!不妨等等带激光雷达的全新P7继特斯拉降价热潮之后又一个国产新势力品牌小鹏也坐不住,开始降价搞促销了!最高降幅3。6万!其实大家都知道特斯拉降价对于小鹏P7这款车型的影响十分大,毕竟Model3和P7的价格都是
友情链接:快好知快生活快百科快传网中准网文好找聚热点快软网