Appium自动化环境搭建

一.基础环境安装

需要用到的软件如下:

  1. jdk (32位的就下载32位的,64位的就下载64位的)。(必装)
  2. Android-sdk_r24.3.4-windows(必装)
  3. Python(必装,版本自选)
  4. appium-desktop(必装)
  5. Node.js(必装)
  6. Appium-python-Client(python的插件,必装)
  7. pycharm (编辑器,可使用其他工具)

1.安装Android SDK并配好环境

ANDROID_HOME :C:\Users\18810\AppData\Local\Android\Sdk

path:%ANDROID_HOME%\platform-tools

Appium自动化环境搭建

Appium自动化环境搭建

2.安装Java Sdk并配好环境

关于环境变量的配置参考百度百科:https://jingyan.baidu.com/article/e5c39bf5a418e439d76033ee.html

工具的安装较为简单,此处不详细介绍,具体可百度查询。

二.Appium连接模拟器和真机

1.下载并安装夜神模拟器(或者其它模拟器:AVD Manager/逍遥模拟器)

下载地址 https://www.yeshen.com/,安装直接下一步下一步好了,安装好后启动模拟器。

2.下载appium-desktop

Appium-desktop项目地址:https://github.com/appium/appium-desktop

下载地址:https://github.com/appium/appium-desktop/releases

以Windows为例,所以选择 appium-desktop-Setup-1.7.1.exe 文件进行下载。安装完就好了(注意要下载最新的目前最新的是1.7.1 以后自己再更新)

3.安装测试app

将测试app.apk安装包拖到夜神模拟器即可安装测试app。

4.运行和使用Appium

启动方式:

(1)点击应用图标启动

(2)命令行启动:appium -a 127.0.0.1 -p 4723 --no-reset --session-override

启动服务然后可以看到服务正常启动,点击放大镜进行配置:

Appium自动化环境搭建

配置参数如下(根据SDK具体信息配置):

Appium自动化环境搭建

5.使用adb连接到模拟器 

逍遥模拟器的连接方式是:adb connect 127.0.0.1:21503 

夜神模拟器的链接方式是:nox_adb.exe connect 127.0.0.1:62001

AVD manager的连接方式是:adb connect 127.0.0.1

使用adb命令时需要确保与sdk中的adb工具包版本一致!!!!,

版本不一致的解决方法:

替换Android sdk的adb.exe,保持和夜神模拟器的nox_adb的版本一致最简单的方法就是复制夜神模拟器安装路径里的adb.exe如下图,把夜神模拟器的bin目录的adb.exe

Appium自动化环境搭建

 替换Android sd目录下的adb.exe

Appium自动化环境搭建

注:对于WIN64系统,需将AdbWinApi.dll文件拷贝至C:\Windows\SysWOW64目录下,不然运行adb命令时可能会报错。

6.Appium连接到真机

实际开发的过程中我们可能是直接拿真机来调试。所以Appium如何连接真机呢?原理上和上述方式一致。但真机会稍微复杂一点 :
1)打开手机的USB调试模式 
不同的手机打开调试模式的方式不同。一般都在设置中的开发者模式中打开;
2)手机连接电脑 
使用数据线连接手机与电脑,然后在cmd中输入adb devices查看是否连接成功;

 

3)启动Appium服务

cmd下运行命令:adb devices -l 查看UDID,根据查到的UDID启动appium服务,运行命令:

#>appium -a 127.0.0.1 -p 4723  –U  *****  --no-reset

-U 参数后面跟的一串字符就是手机的UDID,启动成功后便可运行测试脚本了。

 

7.SDK manager使用

(1)下载android-sdk-windows工具

(2)运行SDK Manager.exe。由于Android sdk manager是通过google的url下载sdk,所以在使用时需要设置代理,从镜像服务器下载。

Android SDK在线更新镜像服务器:

中国科学院开源协会镜像站地址:

IPV4/IPV6: http://mirrors.opencas.cn 端口:80

IPV4/IPV6: http://mirrors.opencas.org 端口:80

IPV4/IPV6: http://mirrors.opencas.ac.cn 端口:80

上海GDG镜像服务器地址:

http://sdk.gdgshanghai.com 端口:8000

北京化工大学镜像服务器地址:

IPv4: http://ubuntu.buct.edu.cn/ 端口:80

IPv4: http://ubuntu.buct.cn/ 端口:80

IPv6: http://ubuntu.buct6.edu.cn/ 端口:80

大连东软信息学院镜像服务器地址:

http://mirrors.neusoft.edu.cn 端口:80

使用 Android SDK Manager下载sdk时 ,打开主界面,选择「Tools」、「Options」,弹出『Android SDK Manager - Settings』窗口:

在『Android SDK Manager - Settings』窗口中,在「HTTP Proxy Server」和「HTTP Proxy Port」输入框内填入 mirrors.neusoft.edu.cn 和 80,并且选中「Force

https://…sources to be fetched using http://…」复选框。

设置完成后单击「Close」按钮关闭重新打开即可。如下图:

Appium自动化环境搭建

连接服务器成功后,可根据各自需要下载工具:

Appium自动化环境搭建

8.AVD manager使用

(1)使用SDK manager安装完成工具后,启动AVD manager设置模拟器:

Appium自动化环境搭建

(2)新建完成后点击启动

Appium自动化环境搭建

Appium自动化环境搭建

启动成功后即可使用adb connect 127.0.0.1命令连接模拟器,运行脚本测试:

Appium自动化环境搭建

9.Monkeyrunner使用

(1)进入Monkeyrunner目录:在SDK的tools\bin目录下面,可将此路径写在path里面;

Appium自动化环境搭建

(2)运行monkeyrunner:启动CMD,输入monkeyrunner;

(3)常见错误解决办法:

错误1——运行后报下列错误

SWT folder '..\framework\x86' does not exist.

Please set ANDROID_SWT to point to the folder containing swt.jar for your platform.

解决办法——

用记事本打开monkeyrunner.bat文件 修改以下位置:

Appium自动化环境搭建

错误2——运行后提示adb找不到

解决方法——在tools下新建framework文件夹,复制adb.exe到此文件夹下

Appium自动化环境搭建

三. Appium自动化测试

使用Appium实现自动化的基本过程是: python脚本调用Appium,Appium控制模拟器或真机进行自动化操作。

1.操作步骤

(1)打开夜神模拟器,DOS窗口输入:adb connect 127.0.0.1:62001

(2)打开appium,deviceName输入127.0.0.1:62001并启动

(3)运行python脚本

2.脚本示例

Appium自动化环境搭建

四.参考信息

1.查看appPackage和appActivity

找到Android sdk目录,在build-tools中找到aapt,然后把需要编译的文件挪过来,或者指定文件的路径,通过反编译来获取包名及入口。在CMD中输入:

aapt dump badging c:\software\taobao.apk

通过下面的结果可以看出package:name="com.taobao.taobao";

Appium自动化环境搭建

其中下面的内容是appActivity

Appium自动化环境搭建

2.连接模拟器命令

adb connect 127.0.0.1

逍遥:adb connect 127.0.0.1:21503

夜神模拟器   adb connect 127.0.0.1:62001

3.常用工具下载地址

http://www.androiddevtools.cn/

4.常用学习教程地址

(1)Appium自动化相关

https://www.cnblogs.com/fnng/p/4540731.html

(2)Android SDK Manager和AVD Manager使用

https://www.cnblogs.com/kangjianwei101/p/5621238.html

5.Appium的设置参数解释

1

2

3

4

5

6

7

{

  "platformName": "Android",   

  "deviceName": "127.0.0.1:62001",

  "appPackage": "com.taobao.taobao",

  "appActivity": "com.taobao.tao.welcome.Welcome",

  "platformVersion": "4.4.2"

}

1.platformName填入Android(ios的话后面的几个参数还是不一样的这里目前是按照安卓讲的)

 2.deviceName这个是比较重要。这个是填入夜神模拟器的驱动地址一般默认是127.0.0.1:62001。

3.appPackage和appActivity如何获取见第1小节

4.platformVersions是夜神模拟器的版本号目前是4.4.2

6.Appium获取元素的方式

  1. 通过xpyth定位:find_element_by_xpath(“//android.widget.TextView[10]”) xpath下标从1开始,使用完整的classname
  2. 通过text name:find_element_by_name(name对应uiautomator扫描后text的内容)
  3. 通过id:find_element_by_id(id对应resource-id)
  4. 通过classname定位:find_element_by_class_name(class_name对应class)
  5. 通过accessibility id:find_element_by_accessibility_id(accessibility_id对应content-desc)
  6. 定位到某个文本框,并输入内容:
  7. driver.find_element_by_id(“xxxxx”) .send_keys(“123456”)
  8. 滑动屏幕:
  9. 获取屏幕尺寸 width=self.driver.get_window_size()[‘width’] height=self.driver.get_window_size()[‘height’]
  10. 滑动屏幕 driver.swipe(width*9/10, height*1/2, width*1/10, height*1/2, 1000)

 

 

相关文章: