app自动化(Appium+Python)一之环境搭建&简介

appium是什么?有什么用

我们学习的移动应用自动化,是基于appium这样的一个自动化框架的。
Appium是一个开源、跨平台(测试程序跨平台、支持多平台上的app测试) 、
多语言支持的(开发语言)移动应用 自动化工具

它的特点

它的测试对象移动app , 包括了多种类型的移动app
原生app,混合(Hybrid)app,移动web app;

所谓原生app ,就是专门针对某一类移动设备(比如苹果、安卓)而开发的,所有界面和代码都是专门为平台设计的。

而混合app主要是指 它的一部分是原生界面和代码,而另一部分是内嵌web app 。 这个大家应该有体会,可以打开网页浏览的app都是 混合app,
比如微信、支付宝、美团、移动营业厅、开发者头条等。
比如微信的sms界面是原生,原生代码实现的。
而打开某个朋友圈,或者别人发来的的链接部分则是 web部分,内嵌了一个浏览器内核,由浏览器内核实现的。
现在混合型app很多,稍微功能全一些的都需要具备网页浏览的功能。

而 web app 则完全是用手机浏览器里打开的一个网址
,web app 只能运行在浏览器里,靠浏览器解释执行。资源一般都在网络上。
它其实就是一个触屏版的网站
Appium对这3种类型的app的测试都支持。

测试对象App运行环境:
真实设备
模拟器
appium支持多种程序语言开发测试程序,基本上Selenium支持的开发语言,appium都支持。
Python、java、Ruby、js、php、c#
测试程序运行平台:
appium支持测试程序运行在多种平台上
Windows、Linux、Mac OS

但是要注意的是,如果测试的是iOS的应用,
虽然测试程序本身是可以运行在所有平台的,
但是有appium server必须要运行在苹果的机器上,比如笔记本MacBook,或者台式机 iMac。因为对苹果设备的自动化,appium依赖苹果的自动化框架,只能运行在苹果机器上

下面开始环境搭建

第一步:安装Appium Python Client 包

命令安装:pip install Appium-Python-Client-----安装完成之后就可以在编写Python代码时导入这个包使用

备注说明:appium 像是一个服务,appium-python-client 是让 python 连接 appium 服务的一个驱动,也就是一个 python 语言封装和 appium api 通讯的一个库(python,java,js等),而且appium 又继承了 selenium 的 webdriver,因此 appium-python-client 安装可能会更新 selenium。

为什么要安装Appium-Python-Client呢?
至此,我们需要先了解一下安装Appium-Python-Client是用来干嘛的!

Appium的实用方法都藏在Client的源码里,对于driver和webelement实例,均有对应的元素查找方法(webelement查找的是下面的子元素),有些儿专门针对手机的函数,则需要在这个Client安装后方可使用。

appium为了实现自己的find查找方式,首先自定义了一个MobileBy类,给这个类对象塞入了它定义的一些扩展属性,这些属性的值会通过webdriver协议推送到server端去识别和执行,为了让这些属性运用到find方法中,appium很好地继承和扩展了webdriver.Remote,然后通过调用driver实例的find_element和find_elements两个核心方法实现元素查找,所以,既然是扩展,appiumdriver实例可以使用seleniumdriver的所有关于元素查找的实例方法,他们的列表我们就可以整理出来了
  简而言之,这就是一个类库的存在,我们需要调用某些方法,就需要这个库的引用,我们在编程时才可以直接调用!所以必须安装
  安装方法也是非常之简单,跟selenium一样,有两种办法(下载安装包或者使用pip)
  至此,appium的python环境完成!!

第三步:安装Android sdk

用处:
对于安卓app的自动化,Appium Server 依赖 Android SDK。
因为要用到里面的一些工具,
典型的,最常用的,比如adb,要执行命令设置手机,传送文件,安装应用。
主要用到下面两张图的程序,第一张图主要是连接手机,第二张图主要是连接手机然后获取测试APP的元素
app自动化(Appium+Python)一之环境搭建&简介
app自动化(Appium+Python)一之环境搭建&简介
下载地址:https://developer.android.google.cn/studio/
app自动化(Appium+Python)一之环境搭建&简介
下载完成且解压后会生成一个 tools 目录

然后cmd进入这个目录敲命令:
sdkmanager “platform-tools” “platforms;android-28” “build-tools;28.0.3”
最后配置下环境变量
app自动化(Appium+Python)一之环境搭建&简介
app自动化(Appium+Python)一之环境搭建&简介

第三步:安装JDK

有些安卓sdk中的工具(比如查看安卓app界面元素的uiautomatorviewer)需要有JDK才能运行。
直接官网下载即可(最好下载版本8的)
然后配置环境变量即可,和上面配置安卓SDK一样
最后,验证是否安装成功,下图则代表安装成功
app自动化(Appium+Python)一之环境搭建&简介

第四步:安装Appium Server

直接网上下载按提示安装即可,比较简单,这里就不多介绍了
最后,打开Windows命令提示符,输入“appium-doctor”命令,如果出现以下提示,说明你Appium所需要的各项环境都已准备完成。
app自动化(Appium+Python)一之环境搭建&简介
以上所述已搭建好Appium+Python环境,下篇将以代码的形式介绍appium结合Python代码进行的app自动化

有不足的地方请留言指正或加QQ讨论(1441302865),谢谢大家