您的位置:首页 > 编程语言 > Python开发

Appium自动化测试工具环境配置(Python3.x版)

2018-11-10 15:27 691 查看
版权声明:技术无限,文字有版! https://blog.csdn.net/pure0115/article/details/83927187

为了配置成功Appium的测试环境(Python3.x版),费了一些周折,很大的感受是:参考文档要看近期的,把遇到的“坑”都填平就通了。

所需软件/包

Python环境及IDE:Anaconda3-5.3.0-Windows-x86_64.exe
Java环境:jdk-8u192-windows-x64.exe
Andriod SDK:installer_r24.4.1-windows.exe
Appium Sever端:appium-desktop-setup-1.8.0.exe
Appium Client端:在Anaconda控制台界面用命令安装,用Spyder写脚本
Android模拟器:夜神nox_setup_v6.2.5.2_full.exe
Android SDK与Java、Appium Sever与模拟器的版本匹配度有些要求,否则会出现装不了或连不上等问题。

安装过程及说明

首先,需要重要说明的是,软件/包的版本务必要匹配,通常使用当前的版本,时间间隔不要太长。
1.Anaconda安装及Appium Client端
一路默认next装下去就可以,中间的选项(都是英文)感兴趣的可以了解一下,win10的话最后会问要不要装微软的编辑器,可以skip跳过完成安装。Anaconda预装了很多库/框架,带有jupyternotebook和spyder两个编辑器,使用起来比较便捷。缺点就是占的空间比较大。
安装完成后,在windows开始菜单中找到Anaconda3目录,选择“Anaconda Prompt”进入字符命令界面,复制粘贴如下命令:

conda config --add channels https://mirrors.tuna.tsinghua.edu.cn/anaconda/pkgs/free/
conda config --add channels https://mirrors.tuna.tsinghua.edu.cn/anaconda/pkgs/main/
conda config --set show_channel_urls yes

按回车,添加Anconda仓库地址列表(清华镜像),这样在国内下载更新库/框架时速度会快很多。
再输入

conda install selenium

按回车,先安装Selenium
再输入

pip install Appium-Python-Client

按回车,安装Appium Client端。
2.Java环境安装
因为是Android SDK安装的前提需要,所以先安装Java,也是一路默认安装下去就可以,完成后按Win+R键调出windows运行对话框,输入cmd,点确定,进入windows的字符命令界面(以下简称cmd界面),输入

java -version

正常情况下会显示

java version "1.8.0_192"
Java(TM) SE Runtime Environment (build 1.8.0_192-b12)
Java HotSpot(TM) 64-Bit Server VM (build 25.192-b12, mixed mode)

等字样。不少书籍文档上说要把java安装路径添加到环境变量之类的,但其实在win10系统中不需要,至少是针对本次的环境配置不需要。
3.Android SDK安装
也是一路默认安装下去就可以,事先会检测是否安装了Java环境,如果Java没装或者版本不对应,则Android SDK安装过程将无法进行下去。操作时安装地址可以记一下,配置环境变量时需要。Android SDK还可以用来配置各种版本的原生Android系统,并且用自带的虚拟机运行起来,在此先不展开。
Android SDK需要进行添加环境变量的操作,分两步:
(1)点“新建”,变量名填入ANDROID_HOME,变量值填入Android SDK的安装地址(不知道地址可以通过windows开始菜单中找到Android SDK Tools目录,里面的SDK Manager程序快捷方式对应的真实位置就是Android SDK的安装地址);
(2)在path变量中,加入
;%ANDROID_HOME%\platform-tools;%ANDROID_HOME%\tools
(此处包含2个路径,win10要分两行,注意win7要带;分隔符,win10不用)
按理此处应该一说就懂,但还是放一张图,注意里面的路径地址没有参考意义,每个用户的安装地址不一定一样,比如我自己是D:\soft\Android\android-sdk
在Android SDK所在文件夹里有个名为platform-tools的子文件夹,里头有个关键的文件,名为adb.exe,记住它所在的位置,具体作用见下文。
4.Appium Sever端安装
也是一路默认next安装下去,完成后先不要运行,需要修改一个名为driver.js的配置文件。这个文件在appium-android-driver\build\lib\目录里,因为默认Appium desktop的安装目录比较深不太好找,可以在C盘搜appium-android-driver,点击搜到的文件夹进入对应位置。用编辑器打开driver.js,在第77行加入name参数,如:

this.locatorStrategies = ['xpath', 'id', 'class name', 'accessibility id', '-android uiautomator','name']

因为新版的Appium desktop不支持解析以name进行元素定位的方法,这样修改可以恢复使用这种方法。另外,在Appium的安装目录里有很多个driver.js同名文件,注意不要修改错了。
5.Android模拟器安装
安装夜神模拟器,选择带“安装数据”进行安装,同样需要记住安装路径,如果忘记可以在桌面的夜神模拟器的快捷方式属性中找到。同样,夜神模拟器的主执行程序所在目录里也有一个名为adb.exe的关键文件。
ADB全称Android Debug Bridge,是Android SDK里的一个工具,也就是adb.exe,用这个工具可以直接操作管理android模拟器或者真实的andriod设备,一般在cmd界面里用命令行进行。
接下来的细节步骤很重要
把夜神里的adb.exe文件替换掉Android SDK里adb.exe文件
对应的位置在上文已经提及了,事先备份一下相关文件也很有必要。
如果替换时出现adb.exe被占用无法替换之类的提示,可以在任务管理器进程中结束掉adb进程。
至此安装过程完毕。

运行步骤及检测

1.先启动夜神模拟器,直至显示完毕;
2.在cmd界面里输入命令adb devices则出现如下信息:

List of devices attached
127.0.0.1:62001 device

命令的作用是用adb工具查看当前启动的Android模拟器信息,127.0.0.1:62001 device表示的就是已经启动的夜神模拟器;(不用每次都检查)
3.启动Appium desktop,在出现的界面中,Host由默认的0.0.0.0修改成127.0.0.1,Port参数不用改,再点击Start Server进入;
4.编辑检测脚本,启动Spyder(Anconda自带的IDE程序),输入并运行如下代码

#coding=utf-8
from appium import webdriver

desired_caps = {}
desired_caps['platformName'] = 'Android'
desired_caps['platformVersion'] = '4.4.2'
desired_caps['deviceName'] = '127.0.0.1:62001'
desired_caps['appPackage'] = 'com.android.browser'
desired_caps['appActivity'] = '.BrowserActivity'

driver = webdriver.Remote('http://localhost:4723/wd/hub', desired_caps)

5.紧接着切换至夜神模拟器界面,看到安卓系统界面会先装上两个绿色安卓机器人图标样子的app,分别叫Appium Setting和Unlock。最后就会看到系统启动了自带的浏览器。
至此Appium环境安装及检测过程结束。

另外:
(1)正常后在夜神模拟器中启动某个app,在Win系统的cmd界面运行下面命令

adb shell dumpsys activity activities

在信息丛中找到例如:
realActivity=com.android.browser/.BrowserActivity
等号右边即为所需appPackage和appActivity信息
(2)有时候启动了夜神模拟器,但是运行命令adb devices命令看不到设备,可以输入

adb.exe connect 127.0.0.1:62001

采用指定连接夜神模拟器,再运行adb devices命令看是否正常。

内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: