最近在研究自动化测试,然后就开始了我这篇文章的序章。在这么多的自动化框架,我决定从appium开始,主要看中了它多端兼容(android,ios,pc)以及支持多种语言开发。
这篇文章主要是appium+android+python的环境搭建,以及demo的运行。
单独安装python版本
单独安装python 版本,可以去到这个网址https://www.python.org/getit/,然后选择自己需要的版本进入下载页面,页面里面提供了不同电脑系统的,选择合适自己的下载。可以选择图中的红框区域,那是.exe文件,下载完成后可以直接点击exe文件安装,然后在确认install的页面,把Add Python 3.6 to PATH勾选上去。
如果安装的时候没有把路径勾选上,那么安装完成后需要去系统里面配置一下环境变量。操作:右键点击此电脑>属性>高级系统设置>环境变量>Path,然后点击编辑,然后把自己安装的python的路径写上去。
然后使用管理员打开cdm,然后输入类似图片的语句,能如图得出版本号以及输出hello world即安装python成功。
安装anaconda管理python
下载anaconda可以去官网https://www.anaconda.com/distribution/,但是有时候这个网速可能真的感人,所以我建议去清华镜像那里下载在这个网址https://mirrors.tuna.tsinghua.edu.cn/anaconda/archive/,然后选择Anaconda3-5.2.0-Windows-x86_64.exe这一个版本下载(这个版本是3.6的).
实在不行可以去百度网盘链接: https://pan.baidu.com/s/1_2BJH11XORn7vY56JWBF2Q 提取码: juim
点击exe文件直接安装,然后安装的时候注意这里。
如果把这两个勾选上去,然后注意第一项是把Anaconda的默认环境设置添加到系统环境,也就是说如果你之前安装过python并添加到了环境,选了这一项之后原来的python会被覆盖掉,默认使用Anaconda的默认环境。
然后第二项是把anaconda的python的默认版本设置为python3.6,安装完成之后,会生成一个叫base的默认环境(默认的python版本为3.6),如果你不切换到其他指定环境,就会一直在默认环境运行。
然后可以打开anaconda prompt,anaconda navigator
打开anaconda prompt ,然后输入图片下面的命令,并且能如图出现那些内容,代表anaconda 安装成功。
对于打开anaconda navigator ,然后可以看到自己本地配置的python环境,以及安装的一些包。
如果想在cmd 使用,类似在anaconda prompt 的输入,需要在电脑里配置anaconda的环境变量。
操作:右键点击此电脑>属性>高级系统设置>环境变量>Path,然后点击编辑,然后把自己安装的anaconda的路径写上去。
配置完成后,然后win+r打开cmd,然后输入类似图片下面的命令,对应出现那些内容则代表成功。
安装anaconda的一个很大的原因是因为可以管理多个不同版本的python,所以对于怎么去创建其他的python版本呢?
conda 的一些常见命令
conda --version 查看版本
conda --help 查看帮助
conda info 查看一些具体信息
conda env list(conda info --envs) 查看所有的环境
conda list 查看安装的第三方库
需要创建一些其他的python环境的可以使用下面的命令
conda create --name your_env_name
或者
conda create -n your_env_name
your_env_name代表你安装环境的名字,之后你可以在这个命名的环境里下载一些你需要用的包,这样子就不会说和你系统自带的版本冲突。
如果创建环境需要使用自定义的python版本号和安装包,可以类似使用下面的命令
conda create -n your_env_name python=3.6
如果你要指定多个包 可以用
conda create -n your_env_name python=3.6 numpy pandas
当你的环境安装好后,可以使用conda env list, 这样子就会罗列出所有的安装的版本
然后对于window的使用activate可以开启默认的版本,deactivate 关闭环境,activate your_env_name,开启其他的环境。
对于python的安装到这已经告一段落,然后接下来就是对Java SDK的安装。
Java SDK的安装可以去官网安装,本人用的是jdk 8,大家可以安装自己的
oracle中国官网(需要注册账号): https://www.oracle.com/cn/downloads/index.html, 然后选择Java 安装,都选择红框框柱的内容
Java SDK如果不想去官网下载的话,这里有链接传送链接:
https://pan.baidu.com/s/10eyH0d67imk34J3bq3r2EA
提取码: j8aj
下载完成后,默认安装就好了。
然后需要配置电脑的环境变量。
操作: 右键点击此电脑>属性>高级系统设置>环境变量,如果没有JAVA_HOME,CLASSPATH则创建,然后输入下面的命令
JAVA_HOME : C:\Program Files\Java\jdk1.8.0_144
CLASSPATH : .;%JAVA_HOME%\lib\dt.jar;%JAVA_HOME%\lib\tools.jar;
Path : ;%JAVA_HOME%\bin;%JAVA_HOME%\jre\bin;
配置好环境变量后,打开cmd ,然后输入java , javac 检查是否已经安装成功,出现下面图的信息则是安装成功。
嗯,经过这一系列的操作,Java SDK的安装已经完成。
安装android studio ,可以去http://www.android-studio.org/ 这里下载,我选择了3.0版本的android studio.
下载完成,然后选择默认安装就好了,安装好选择勾选 start android studio,然后点击finish启动AS,出现下图。
选择第二项,然后点击ok,出现下面的启动界面。
在启动的时候会弹出下图。
点击cancel,然后进入到了AS的安装向导界面,默认一系列操作后,到下面这个页面,进行下面这些操作。
安装SDK,如图:
自己选择自己需要的SDK版本去下载,下载完成后,android studio以及android SDK已经配置成功,可以去跑自己的项目。
然后注意为了后面appium的正常执行,这里我们给android SDK 配置一下环境变量!!!!这个一定要弄!!!
ANDROID_HOME : D:\android_sdk
Path : ;%ADNROID_HOME%\tools\;%ADNROID_HOME%\platform-tools\;%ADNROID_HOME%\build-tools\;
配置好这个环境变量后,cmd 输入 adb ,然后输入一大堆如图的东西则是安装成功.
进入官网地址并下载:https://nodejs.org/en/download/
下载后一路傻瓜式安装,安装完成后,运行cmd,输入node –v查看版本号,然后输入npm -v 查看npm版本号,两者都有对应的信息输出,则证明安装成功。
接下来选择安装appium,
第一个:可以去官网地址并下载 https://bitbucket.org/appium/appium.app/downloads/,完整安装带UI的appium,可以从官网直接下载 dmg(mac)或者zip(Windows),运行里面的app即可。
如果嫌弃官网下载太慢的话,可以选择这个网盘链接去下载:
链接: https://pan.baidu.com/s/14uq2TFNJ9EULhfmKcnnaOQ 提取码: ndei
appium安装好后:找到这个文件安装目录D:\Program Files\Appium\resources\app\node_modules,将上面的地址添加到环境变量path
第二个:node.js包安装(使用这个安装得确报你node.js已经安装好)
npm install -g appium
npm install -g appium-doctor
按照上面命令安装好后,然后重新打开cmd,输入以下的命令,然后看到红色区域的都打绿色的小√,则安装是成功了。
appium
appium-doctor //输入appium-doctor,检查环境是否OK,出现allchecks were successful,说明环境OK
打开cmd , 输入 pip install Appium-Python-Client。通过Python安装等待安装完成。
可以去官网下载http://www.jetbrains.com/pycharm/download/
专业版:需要激活可以购买正版或网上搜索激活码。
adb kill-server 杀死adb进程服务
adb start-server 开启adb进程服务
adb --version 查看版本号
adb devices 查看设备
一:打开手机的USB调试模式,开启手机的开发者模式
二:连接手机到电脑
adb start-server
adb devices
出现手机的型号,则代表成功。
三:开启appium的服务
启动appium的界面。
获取真机的设备名,app的应用包名以及activity名。
adb devices // 获取设备名
adb shell pm list packages //获取设备下的所有应用包名
//查看应用包与activity名
(方法一):
adb logcat –c
adb logcat ActivityManager : i*s
然后打开应用app,抄下来 appPackage / appActivity
(方法二):
adb logcat >D:/log.txt
运行后打开应用app,简单操作几步
命令行中 ctrl + c 终止命令
打开D:/log.txt,ctrl + F搜索 Displayed,抄下来 appPackage / appActivity
appium获取app上面的id
然后选择1,在2的区域里面输入对应的信息,编辑好后,然后选择启动对话。
启动会话后,出现自己的 app的界面,然后选择页面最上面的一排按钮最左边的那个,然后点击APP上的控件,就可以看到相应控件的信息。
demo代码如下:
import os
import time
from appium import webdriver
PATH = lambda p:os.path.abspath(os.path.join(os.path.dirname(__file__), p))
desired_caps = {
"platformName": "Android", # 设备系统
"platformVersion": "6.0.1", # 设备系统版本
"deviceName": "a19da881", # 设备名称
"appPackage": "com.easefun.polyv.cloudclassdemo", # 应用包名
"appActivity": "com.easefun.polyv.cloudclassdemo.login.PolyvCloudClassLoginActivity" # Activity
}
# 如果设置的是app在电脑上的路径,则不需要配appPackage和appActivity,同理反之
driver = webdriver.Remote('http://localhost:4723/wd/hub', desired_caps) #启动app
time.sleep(5) # 启动app时,需要一定时间进入引导页,所以必须设置等待时间,不然下面会一直报错定位不到元素
driver.find_element_by_id('com.easefun.polyv.cloudclassdemo:id/login').click()
time.sleep(5)
driver.quit()
完整的一个环境搭建以及demo运行则成功起来了。