appium是做app的一个自动化框架,它的主要优势是支持android和ios,另外脚本语言也是支持java和Python。接下来的教程是appium+python的实例。
一、环境准备
我的环境是Windows 7版本 64位系统
1.jdk1.6.0 (64位)
2.android-sdk_r24.3.4-windows
3.模拟器:雷电模拟器(或者安卓系统手机)
4.python:最好是最新版本(我用的是Pycharm工具)
5.Appium-Python-Client
6.appium:appium-desktop-setup-1.6.3
二、jdk安装
1.下载jdk包,小编的是64位1.6版本,其它高级版本应该也是可以的。根据自己的系统选择对应版本
2.一路傻瓜式安装,注意安装路径不要有空格,不要有中文。jdk和jre不要放在一个文件夹下
3.设置三个环境变量,我的电脑>选择“属性”->“高级”->“环境变量”->“系统变量”->“新建”
JAVA_HOME----D:Javajdk1.6.0” (根据自己安装路径填写)
CLASSPATH--- .;%JAVA_HOME%lib;%JAVA_HOME%lib ools.jar;
PATH-----;%JAVA_HOME%in;%JAVA_HOME%jrein;
4.打开cmd验证是否安装成功,输入java
能显示版本号和下面的帮助信息说明安装成功.
三、android-sdk下载安装
1、下载网址:https://android-sdk.en.softonic.com/
2、解压后,查看文件夹内有没有aapt.exe,有的包里面不包含这个程序会影响环境搭建,在AndroidSDK2的build-tools内。
3、里面有个SDK manager.exe双击打开,打开后勾选你要下载的API版本和对应的android版本,后面模拟器会用到。
四、android-sdk环境变量
1、打开控制面板>系统安全>系统>高级系统设置>环境变量,新建系统变量:变量名是ANDROID_HOME;变量值是安装android-sdk的路径。
2、path添加两个变量,将以下箭头所指的两个文件路径添加到path里
在用户变量的path编辑,在原有的路径下添加;%ANDROID_HOME%platform-tools(不要忽略有个分号哦)
在系统变量的path编辑,在原有的路径下添加;D:fidderAndroidSDK2 ools
五、adb环境
1.因为adb是在D:androidsdkandroid-sdk-windowsplatform-tools这个目录下的,所以上面添加了环境变量后,可以直接在cmd里面运行了。
2.在cmd输入adb可以查看对应版本号
六、连接手机
1.手机用数据线连电脑,要确认手机能连上,不然就去下载手机驱动,或者使用模拟器。
2.打开cmd输入:adb devices,当屏幕上出现一串字符,后面显示devices说明连接成功。(红线指的是设备名称,我这里用的是模拟器)
七、上面说的模拟器可以去下载,我用的是雷电模拟器,下载网址:http://www.ldmnq.com/
安装成功后打开,右侧有个安装,可以安装从电脑下载下来的.apk文件
我安装了酷狗,安装成功后在首页显示:
左边两个机器人是运行python的时候自动生成的。
八、安装python
建议安装pycharm,安装成功后打开file>settings>project:practice>project interpreter
这样就搭建好appium-python-client了。
九、安装appium
完成后打开:
点击start server,进入后的页面:
点击那个放大镜图标:
这样,用到的工具和环境差不多就弄好啦,那么要如何结合起来实现自动化呢?
首先,在cmd内输入aapt看有没有信息,没有的话就在aapt的文件路径下打开,按住shift键,右键点击空白处,然后在命令窗口打开。
打开窗口后输入aapt dump badging D:fidderkugouyinle_9002.apk,就会输出一串信息了。
红色方框是要用到的数据。
然后打开pycharm,新建一个python文件:
上面的代码是要控制你所连接的设备的,是必须的。地址是本地localhost,端口是4723,appium默认的。红色方框内的数据是根据上面的方法获取到的,然后填上去。
运行后,没有报错就可以在模拟器打开了,模拟器也要是打开的状态:
现在只是简单的打开程序而已,还有对程序进行操作,这时候就要用到appium会获得一些元素。
打开appium,根据pycharm的那些代码把数据填在左边,然后save as 保存起来,再start打开:
打开后点击左边的页面栏,右边是一些标签的属性,可以获取id,xpath等来找元素。
然后我们就能进行自动化测试了。
参考:https://www.cnblogs.com/yoyoketang/p/6128725.html