cover_image

从零入门:Appium自动化测试iOS Demo

简尚
2016年12月03日 13:11

图片


文 / Sandy苗(简书作者)

原文链接:http://www.jianshu.com/p/55051960b1a8

此文,老徐转自如上链接,做了部分增删。


IDO老徐注:

开始之前可先了解:几款你应该知道的移动端(APP / H5 / ...)测试工具。



Appium 是移动端测试框架,支持的脚本语言有java、python、ruby、node.js、php。

可以参考appium的官网:http://appium.io



环境搭建:(我是mac,对于初学者,建议先使用appium客户端)



1. iOS环境


如果要测试iPhone系统,就要用到mac了,对于苹果,你的mac上要下载Xcode,我建议你下载Xcode7或Xcode7.3,(我使用的是Xcode7.3), 如果你在App Store里面下载,对于目前,下载的一定是Xcode8以上的版本了,但是appium客户端目前还不支持Xcode8,iOS10系统。


所以你可以在这个网站下载到Xcode7. 下载Xcode SDK,模拟器什么的都有了,这个比较方便


XCode7官方直接下载地址

http://blog.csdn.net/siwen1990/article/details/52034857



2.Android环境

Android环境Mac和Windows都可以呀

我比较懒,用的mac 就直接下载了Android Studio. 安装的时候,SDK什么的都下载完了。



3. 安装Node.js (Appium使用Node.js作为服务器引擎)


先检查是否安装了node.js, 在终端输入 node -v 检查

图片

很显然,我的电脑已经安装过了,如果没有安装,可以执行命令 brew install node


延伸阅读:

轻松两步,完成node.js版本升级

http://www.jianshu.com/p/e41a7aa0288c



4.终端安装appium

执行命令 npm install -g appium

安装特定版本 npm install appium@版本号  


5.下载客户端

对于像我这样的小白,我选择的是appium客户端,因为写脚本比较简单。

可以到官网下载对于的appium哦:http://appium.io 



6.python开发脚本

好吧,其实我也不会python,在网上查到很多自动化测试脚本都用的python写的,所以我也就边学习,边写脚本呢。


你可以在appium的官网http://appium.io

下载Appium-Python-Client-0.22.tar

然后终端cd到这个文件夹,在终端输入:python setup.py install 

OK了。


有人想问python怎么玩:

小白告诉你:

1.苹果电脑自动python 2.7也就是说环境有了


在终端输入which Python 回车

图片

这个路径里可以看到Python 2.7了,已经足够用的了。

我有下载Pycharm 这个东东来写python。

如果运行:cd 到你的python文件,输入python  ***.py就可以运行python文件了

这个就是python的学习了。


7.检查

appium-doctor是一个用于验证appium安装环境的工具。

如果你用的是终端:

$ npm install appium-doctor -g 

然后输入appium-doctor 

图片


好像报错了,但是应该没有影响的吧 😝,我也没有修复,等以后有时间了在修复吧


如果你用的是客户端,那么

图片


就出现啦

图片


有一个warn 但是目前是没有影响哦。

好了,现在可以启动appium了。


OK,至此,Appium基础环境准备完成。下面会讲解如何使用。





如上介绍了appium环境配置。

如下,正式开始使用appium。 今天先介绍iOS


一、Appium 客户端

1、启动appium

我直接安装的是appium客户端,所以直接点击appium,就能启动了


图片



2、 iOS Setting

点击苹果按钮出现


2.1 appium模拟器配置


图片


这里要配置App Path

我是在github下载的appiumDemo https://github.com/appium/sample-code                                                                                    

此路径就是/sample-code-master/sample-code/apps/TestApp/build/release-iphonesimulator/TestApp.app)

在正常开发中,.app包需要开发人员提供。

配置好Force Device(设备) 和Platform Version (系统)最好是选择iPhone6 和 9.3

不然 启动Appium Inspector(对元素进行定位) 容易出错。


Show Simulator Log 和Show iOS System Log 这就是指各种日志打印了


2.2 真机测试:

图片


真机时,手机必须连接着手机,且手机里要装一个开发者包,

BindleID:这个需要开发人员提供,

UDID:真机的UDID可以在手机的Safari里面输入fir.im/UDID 获得或者如下图获得,点击Devices就出现设备详情的页面哦,在哪里你可以找到真机的UDID


图片



3.Appium Inspector 元素定位页面和生成脚本


点击Launch,启动appium,当出现下面的日志时,

图片


再点击放大镜:

图片


将启动模拟器,就出现下面Appium Inspector 元素定位页面

图片

1区:UI信息的展示区,此区显示你选择的元素的详细信息。

2区:显示画面与模拟器一样,如果我们在模拟器中切换页面后,此区的页面并不会改变,所以这时你要点击【Refresh】刷新此页面。

3区:此区模拟用户的操作:Touch是动作,Tap(单击)、Swipe(滑动)、Shake(晃动)、Text是文本了,可以输入send.key,选择好元素,在这做操作,页面将发生改变且在4区生成脚本。

4区:点击【Record】将出现此区,此区是脚本生成区,将用户行为直接转换为脚本,我认为这就是Appium Inspector的意义所在(对于新手)。这里可以选择不同的脚本语言,我上篇文章就介绍说用的是python了。将写完的脚本Save到指定地点。



4.运行脚本,开始测试

在终端cd到你脚本所在的文件夹,

命令:python ****.py 

就可以运行你的脚本,开始自动化测试了。

注意:运行脚本时,appium必须启动,appium设置与你的设备保持一致,点击Launch是开始运行。但是一定要关闭Appium Inspector。不能启动Appium Inspector。如果运行不成功,可以重新启动,再次运行。(真机测试请麻烦连上真机)

模拟器和真机的脚本配置:模拟器:app是.app的路径,真机的app 是BundleID,其他根据设备进行调整。


图片


5.备注

图片


如果出现上面的问题(Could not get list of sessions from Appium Server):

Be sure the Appium server is running with an application opened by using the "App Path" parameter in Appium.app (along with package and activity for Android) or by connecting with selenium client and supplying this in the desired capabilities object.


1.是否开了蓝灯或其他翻墙软件,如果开了,请关闭。

2.appium是否开启 Launch,请开启Lanch。

3.app path 路径和设备是否设置正确。




二、终端运行appium


终端运行appium,没有Appium Inspector 元素定位页面,所以只能自己先编写好脚本,然后开始自动化测试。


启动步骤:

终端输入 appium &     启动appium

如果是真机就启动 appium -U你的手机的UDID &

出现下面的就显示appium启动成功。


图片

cd到你脚本所在的文件夹,

python 你的脚本(脚本里面要配置准确哦),回车,OK。


图片


如上来自一位Appium学习新人的经验总结,从零开始,手把手记录、分享。

希望对大家有帮助。

如有不同观点,可留言讨论。


欢迎分享你的经验,老徐支持所有原创经验分享者。

拒绝干瘪的纯理论分享,毫无用处。






OK,今天就这些。

关于Appium的具体使用,网上资料随处可见。

没有太多详述的意义。


老徐只是起到一个指导的角色,所谓“知易行难”,首先要“知”

剩下的,就看大家自己了,有具体问题,可进微信群讨论交流。


对于有心学习之人,如上经验,必有用。

如果只是看看,继续每天工作混8小时,此文也许无用。


祝好。

2016,最后一个月。



By IDO老徐

2016-12-03


嗯,12月份,你又混了三天。马上,2016年又混没了 !









最后:

1. 送上最近几天的文章(点击阅读)。

所有你知道的 / 不知道的 企业云服务。

如何找到一份靠谱的工作 ?

十年经验,十篇原创测试职业文。

年底了,跳槽黄金时刻。

只怪你懂的太少 去恶补点基础知识吧

每一次面试都是成长。


2. 送上几份资料。

回复 { APP测试 } ,获取老徐整理的,目前市面上最完整的APP入门资料。

回复 { 简历模板 } ,获取老徐根据个人简历,改造的简历模板。

回复 { 6161 } ,获取全国软件测试培训机构名单。



<End>

IDO老徐,Tester,十年测试职业老鸟,分享原创职业观点,经验分享,答疑解惑(更多文章,关注公众号,回复你感兴的关键词直接查看:如简历 面试 求职 职业发展 深度技术文章 web app 自动化 性能 等等)。


图片


点击对应关键词,看文章:

简历面试     测试团队的规范  

月薪30K还差哪些    测试人员7种思维      

测试职业行业现状   测试资料合集   跳槽


图片



老徐所有原创文章

第一时间发布至此公众号

如下二维码,可关注老徐公众号
60% Tester 都在关注

测试职业答疑解惑、原创实战经验、干货分享

图片


长按二维码/微信扫码  关注老徐

老徐个人微信isTester

一些测试资料下载


老徐个人微博已开通,@IDO老徐

随时与老徐互动



继续滑动看下一个
简尚
向上滑动看下一个