Appium python自动化测试系列之appium环境搭建(二)
2.1 基础环境搭建
当我们学习新的一项技术开始基本都是从环境搭建开始,本书除了第一章节也是的,如果你连最基础的环境都没有那么我们也没必要去说太多,大概介绍一下:
1、因为appium是支持android和ios自动化的,但是ios的自动化是不能够在windows机器上运行,所以如果你想都同时具备就必须是mac,当然也可以是黑mac。
2、在 Mac上配置需要哪些基础环境呢?我们通过下面的一张图片来了解

上面图片中的环境包括了ios和android两个环境,如果我们只需要其中一个或者像windows系统一样只是支持android那么是没有xcode这一栏的,因此我们只需要关注的就只有AndroidSDK、JDK,剩下的只是配置这两个的环境变量。下面我们就来看一下这两个环境如何搭建,有基础的直接跳过,毕竟从开始就说了本课程我们需要考虑完全无基础的。
2.1.1 Java环境搭建
1、直接百度去下载jdk的安装包,点击进行安装,一切进行默认安装就好
2、配置环境变量,如果你是windows电脑这个很好配置,百度了解一下就行,mac的有一点点复杂,你需要通过命令行进入到.bash_profile 文件,直接在你的根目录进入就好,配置结果看一下我们下面这张图

我们只需要将JAVA_HOME的配置配置好,然后将JAVA_HOME引入就好,并且PATH中也要添加。
mac下最后不要忘记重新引入一下.bash_profile 文件
2.1.2 AndroidSDK环境搭建
1、去百度下载AndroidSDK的压缩文件,也可以使用网上的:http://mac.softpedia.com/get/Developer-Tools/Google-Android-SDK.shtml这个地址下载(因为国内去访问官网下载会比较慢,所以建议网盘下载,后续我会整理地址,而且建议先学会FQ,毕竟很多问题的解决办法google搜索的还是比百度更准确)
2、下载后解压文件(双击或者使用命令行解压,windows版本的sdk现在只需要你将解压后目录下tools的绝对路径添加到环境变量中的PATH中就行,检查是否生效之后需要输入android -h 只要不报错说明你就成功了。mac的接着看)
3、通过终端进入到tools目录,输入./android sdk ,此时会弹出一个框 ,

这是SDK的图形界面,在图形界面选择Android SDK Manager -> Preferences,在“http proxy server”这里填写: mirrors.neusoft.edu.cn。这个地址是国内的镜像服务器,如果你可以FQ也可以使用国外的,没区别。端口写80就好,然后把Force https:// 前的勾勾上。具体看下面这张图:
4、mac顶部菜单Tools->Manage Add-on Site,在对话框中选择NEW,如图:

在编辑框中输入:
http://mirrors.neusoft.edu.cn/android/repository/addon-6.xml
http://mirrors.neusoft.edu.cn/android/repository/addon.xml
http://mirrors.neusoft.edu.cn/android/repository/extras/intel/addon.xml
http://mirrors.neusoft.edu.cn/android/repository/sys-img/android-tv/sys-img.xml
http://mirrors.neusoft.edu.cn/android/repository/sys-img/android-wear/sys-img.xml
http://mirrors.neusoft.edu.cn/android/repository/sys-img/android/sys-img.xml
http://mirrors.neusoft.edu.cn/android/repository/sys-img/google_apis/sys-img.xml
http://mirrors.neusoft.edu.cn/android/repository/sys-img/x86/addon-x86.xml
http://mirrors.neusoft.edu.cn/android/repository/addons_list-2.xml
http://mirrors.neusoft.edu.cn/android/repository/repository-10.xml
上面的地址都需要自己手动new添加进去,然后直接进行选择下载。如果期间有报错的可以百度一下,或者问我也可以,在文章最后我会将我的联系方式分享出来,大家一起共同学习。
2.2 python环境搭建
在mac电脑下默认是安装了python环境的,所以这里不作陈述,在windows下安装python环境的需要百度下载一个安装包,直接下一步安装即可。安装完毕后需要在环境变量中将python的安装路径添加进去。检验是否安装成功后需要在终端输入:python 即可。如果没报错就ok。
2.3 appium环境搭建
环境准备了这么多,现在才是我们的重头戏。对appium有一点点了解的都应该知道其实他是基于selenium的,so我们的环境中必不可少的有selenium,他只是其中的一部分,还有其他的重要成员。下面我们来看一下他们的亲戚
1、appium 这个是我们需要学习的不多介绍
2、pip 理解为python的管家就好,他负责安装和管理python相关包的工具
3、selenium 最开始web的自动化测试框架(与第四条二选一即可)
4、Appium-Python-Client 简而言之就是你操作appium是需要调用他里面的一些方法去调用,如果是基于其他语言的,信息页会相对变化。
5、Node.js 简而言之是Node.js创造了appium,所以需要Node.js来解析他
接下来我们来进行安装,首先我们来安装最容易安装的
1、Node.js mac一般自带的有,如果没有直接百度下载客户端,默认安装即可 (windows电脑下也是一样)
2、pip mac下如果你的python版本比较新,默认是安装了pip的,如果没有安装直接在终端输入命令:sudo easy_install pip 安装即可。你也可以去下载一个源码进行安装。
3、appium mac和windows下都有两种安装模式,一种是通过客户端安装,一个是终端安装,这里说一下区别:
做自动化肯定不可能只是在一台机器上做自动化,因为那样的意义并不是很大,所以很多时候我们都是链接多台电脑去执行,但是appium去链接多台电脑时就需要启动多个appium的服务,如果说你安装是通过客户端去安装的,你链接多台机器就需要启动多次,配置多次,这样对你电脑本身也是一个性能考验。如果你是通过终端命令安装的在启动的时候你只需要通过命令启动多个服务就好。这里为什么说这么多,就是因为曾经作者在做一个项目时统一体啊机器上appium客户端启动了5个,长期运行case后appium的服务会自动挂掉,但是通过终端安装启动超过10个服务,同时去运行依然没有问题。这是我的经历不一定全对,读者可以根据自己爱好进行选择。
appium客户端安装:
(1)去官方下载:http://appium.io/ 比较慢
(2)国内下载:http://pan.baidu.com/s/1jGvAISu (贼快,推荐)
现在安装包后直接傻瓜式的安装,一切下一步,默认即可。(windows也是一样)
appium终端安装:
直接在终端输入命令:npm install -g appium。(切记不要用sudo去执行) 在安装过程中不报错,你就安装成功了,报错也不要着急,可以百度解决,也可以联系我。appium命令安装默认的是在国外去请求,因为n多原因你失败了,so建议使用如下命令 访问国内的镜像安装npm --registry http://registry.cnpmjs.org install -g appium 成功后输入appium会提示: Welcome to Appium 说明安装成功了。
4、Appium-Python-Client 在之前介绍过,这个和selenium他们二选一就好,建议选择这个,他的方法还要多点儿。通过命令:sudo pip install Appium-Python-Client 进行安装。检验是否安装可以在终端输入:python ,在python的命令输入框中输入from appium import webdriver ,如果不报错说明你也安装成功了。
写到这里我们的基本环境已经安装好了,可能有人会问你jenkins、ant、maven什么的不安装嘛?其实我想说的是在基础部分我们做到这里已经够了,因为我在基础部分讲太多的东西可能有一些基础相对较弱的读者会无法理解,况且在文章中我已经说了很多废话,所以还请有基础的读者见谅。
2.4 appium环境搭建思路
2.4.1 思考如何构建环境思路图
看到这里的小伙伴可能会觉得惊讶,为什么有这一章?哈哈,因为在进行在线教学的时候发现有很多小伙伴其实讲过一遍其实还是没办法搞定,所以增加了。
首先我们需要搞定一个环境,这里无论是appium、还是selenium还是其他的什么自动化、开发环境我们都可以按照这个思路来,首先你需要知道整个框架是做什么的?然后他的整个工作流程或者说整个框架他各个软件之间的依赖是什么。这里迷茫也无所谓,我们回过头看前面的appium环境,这里拿windows说。
1、appium环境是不是需要appium的一个安装包?(先别安装)
2、我们针对android进行测试我们是不是需要android本身的一个android 的sdk?
3、android 这个本身就是java基础上的,我们是不是需要配置java 的jdk?
4、appium是node.js开发的,他的依赖是不是就是node.js的安装包?
5、我们既然要做自动化是不是需要选择一个开发语言、这里python那么我们是不是要把python给安装好?
6、python如何和appium之间进行交互呢?那么我们是不是需要一个appium-python-client的一个第三方扩展包?
7、工欲善其事必先利其器,我们是不是要选择一个好的代码编辑ide,哈哈,sublime 我这里选择的。
好了到这里整个思路图是否在你的脑子里面了?那么我们是不是就可以按照这个思路去一个一个完善呢?搭建环境都是从基础开始,所以我们的第一步是不是就是jdk、然后sdk、然后node、然后python、appium、appium-python-client、编辑软件这样的结果来呢?所以整理思路很重要
Appium python自动化测试系列之appium环境搭建(二)的更多相关文章
- Appium+Java 自动化测试系列一:环境搭建
Appium+Java 自动化测试框架搭建主要分为以下几个方面的下载安装及环境配置 1.Java开发环境 涉及到的内容又jdk.编译器工具(推荐jdk 1.8.Eclipse编译器或者IDEA编译工具 ...
- Appium python自动化测试系列之认识Appium(四)
4.1界面认识 在之前安装appium的时候说过我们有两种方法安装,也就有两种结果,一种是有界面的,一种是没有界面的,首先我们先讲一下有界面的,以及界面有哪些东西. 首先看第一幅图,如果你的是win ...
- Appium+python自动化(一)- 环境搭建—上(超详解)
简介 今天是高考各地由于降水,特别糟糕,各位考生高考加油,全国人民端午节快乐.最近整理了一下自动化的东西,先前整理的python接口自动化已经接近尾声.即将要开启新的征程和篇章(Appium& ...
- (appium+python)UI自动化_01_自动化环境搭建【MAC版】
Appium简介 Appium是一个开源的.跨平台的测试框架,主要用来进行app UI自动化,适用于原生应用.混合应用和移动网页应用(H5页面).目前支持Python.JavaScript.Objec ...
- Appium python自动化测试系列之移动自动化测试前提(一)
1.1 移动自动化测试现状 因为软件行业越来越发达,用户的接受度也在不断提高,所以对软件质量的要求也随之提高,当然这个也要分行业,但这个还是包含了大部分.因为成本.质量的变化现在对自动化测试的重视度越 ...
- Appium python自动化测试系列之元素的定位(六)
6.1 常用定位方法讲解 对象定位是自动化测试中很关键的一步,也可以说是最关键的一步,毕竟你对象都没定位那么你想操作也不行.所以本章节的知识我希望大家多动手去操作,不要仅仅只是书本上的知识,毕竟这个 ...
- Appium python自动化测试系列之Capability介绍(五)
5.1 Capability介绍 5.1.1 什么是Capability 在讲capability之前大家是否还记得在讲log时给大家看过的启动时的日志?在我们的整个启动日志中会出现一些配置信息,其 ...
- Appium python自动化测试系列之等待函数如何进行实战(九)
9.1 等待函数的使用 9.1.1 为什么要使用等待函数 我们在做自动化的时候很多时候都不是很顺利,不是因为app的问题,我们的脚本也没问题,但是很多时候都会报错,比如一个页面本来就有id为1的这个 ...
- Appium python自动化测试系列之日志的收集(十二)
13.1 日志的定义 13.1.1 日志的定义 听到日志这个东西可能有的人莫名其妙,第一次接触就会觉得我们为什么要收集日志,即使要收集日志那么我们需要收集哪些日志,日志的作用是什么等等. 其实日志无 ...
随机推荐
- unity3D HTC VIVE开发-物体高亮功能实现
在VR开发时,有时需要用到物体高亮的功能.这里使用Highlighting System v3.0.1.unitypackage插件实现. Highlighting System v3.0.1的介绍访 ...
- 如何使用Git和码云Git@OSC
1.Git简介 关于Git是什么,阅读博客Git简介 2.Git 基础 Git命令很多,常用命令如下图 Workspace:工作区 Index/Stage :暂存区 Local Repository: ...
- 201521123082 《Java程序设计》第5周学习总结
201521123082 <Java程序设计>第5周学习总结 标签(空格分隔): java 1. 本周学习总结 1.1 尝试使用思维导图总结有关多态与接口的知识点. 1.2 可选:使用常规 ...
- Java 第六周总结
1. 本周学习总结 1.1 面向对象学习暂告一段落,请使用思维导图,以封装.继承.多态为核心概念画一张思维导图,对面向对象思想进行一个总结. 注1:关键词与内容不求多,但概念之间的联系要清晰,内容覆盖 ...
- 201521123004《Java程序设计》第6周学习总结
1. 本周学习总结 1.1 面向对象学习暂告一段落,请使用思维导图,以封装.继承.多态为核心概念画一张思维导图,对面向对象思想进行一个总结. 注1:关键词与内容不求多,但概念之间的联系要清晰,内容覆盖 ...
- 201521123114 《Java程序设计》第5周学习总结
1. 本章学习总结 2. 书面作业 Q1.代码阅读:Child压缩包内源代码 1.1 com.parent包中Child.java文件能否编译通过?哪句会出现错误?试改正该错误.并分析输出结果. 不能 ...
- 201521123080《Java程序设计》第2周学习总结
1.本周学习总结 a.学习了如何建立远程仓库和本地仓库并建立连接. b.学习了一些基础语法. 2.书面作业 Q1.使用Eclipse关联jdk源代码,并查看String对象的源代码(截图)?分析Str ...
- Linux命令行学习
"mkdir + 文件夹名字" 创建文件夹 "pwd" 显示当前工作目录的绝对路径. "touch" 创建空文件. "cat /p ...
- 201521123113《Java程序设计》第12周学习总结
1. 本周学习总结 1.1 以你喜欢的方式(思维导图或其他)归纳总结多流与文件相关内容. 2. 书面作业 将Student对象(属性:int id, String name,int age,doubl ...
- ThinkPHP空操作及命名空间
空操作是指访问不存在的路径: 解决方法:在控制其中创建 _empty方法 空控制器是指访问存在的控制器: 解决方法:创建EmptyController控制器 命名空间: 初识命名空间是Library: ...